exponenta event banner

компактный

Класс: RegingGP

Создание компактной модели регрессии гауссова процесса

Синтаксис

cgprMdl = compact(gprMdl)

Описание

cgprMdl = compact(gprMdl) возвращает компактную версию обученной модели регрессии гауссова процесса (GPR), gprMdl.

Входные аргументы

развернуть все

Модель регрессии гауссова процесса, заданная как RegressionGP объект.

Выходные аргументы

развернуть все

Компактная модель регрессии гауссова процесса, возвращенная как CompactRegressionGP объект.

Примеры

развернуть все

Создание примера данных обучения.

rng(1) % For reproducibility
n = 100000;
X = linspace(0,1,n)';
X = [X,X.^2];
y = 1 + X*[1;2] + sin(20*X*[1;-2]) + 0.2*randn(n,1);

Обучить модель GPR, используя подмножество регрессоров ('sr') метод аппроксимации и прогнозирование с использованием подмножества данных ('sd') метод. Используйте 50 точек в активном наборе и разреженную жадную матрицу аппроксимации ('sgma') метод выбора активного набора. Поскольку масштабы первого и второго предикторов различны, рекомендуется стандартизировать данные.

gprMdl = fitrgp(X,y,'KernelFunction','squaredExponential','FitMethod',...
'sr','PredictMethod','sd','Basis','none','ActiveSetSize',50,...
'ActiveSetMethod','sgma','Standardize',1,'KernelParameters',[1;1]);

fitrgp принимает любую комбинацию методов подбора, прогнозирования и выбора активного набора. В некоторых случаях может оказаться невозможным вычислить стандартные отклонения прогнозируемых откликов, следовательно, интервалы прогнозирования. См. раздел Советы. И в некоторых случаях использование точного метода может быть дорогостоящим из-за размера обучающих данных.

Создайте компактный объект GPR.

cgprMdl = compact(gprMdl);

Создайте данные теста.

n = 4000;
Xnew = linspace(0,1,n)';
Xnew = [Xnew,Xnew.^2];
ynew = 1 + Xnew*[1;2] + sin(20*Xnew*[1;-2]) + 0.2*randn(n,1);

Используйте компактный объект для прогнозирования отклика в тестовых данных и интервалах прогнозирования.

[ypred,~,yci] = predict(cgprMdl,Xnew);

Постройте график истинного ответа, прогнозируемого ответа и интервалов прогнозирования.

figure;
plot(ynew,'r');
hold on;
plot(ypred,'b')
plot(yci(:,1),'k--');
plot(yci(:,2),'k--');
legend('Data','Pred','Lower 95%','Upper 95%','Location','Best');
xlabel('x');
ylabel('y');
hold off

Figure contains an axes. The axes contains 4 objects of type line. These objects represent Data, Pred, Lower 95%, Upper 95%.

Вычислите среднеквадратичную потерю ошибок на тестовых данных с использованием обученной модели GPR.

L = loss(cgprMdl,Xnew,ynew)
L = 0.0497

Совет

  • Компактный объект не содержит учебных данных, которые fitrgp использование в обучении модели GPR, gprMdl.

  • Компактный объект можно использовать для прогнозирования (см. predict) или вычислить ошибку регрессии (см. loss).

  • Расчет стандартных отклонений, ysdи интервалы прогнозирования, yint, не поддерживается, когда PredictMethod является 'bcd'.

  • Если gprMdl является CompactRegressionGP объект, нельзя вычислить стандартные отклонения, ysdили интервалы прогнозирования, yint, для PredictMethod равно 'sr' или 'fic'. Вычислить ysd и yint для PredictMethod равно 'sr' или 'fic', используйте полную регрессию (RegressionGP) объект.

См. также

| | |

Представлен в R2015b