compact

Класс: RegressionGP

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

Синтаксис

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