компактный

Класс: RegressionGP

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

Синтаксис

cgprMdl = compact(gprMdl)

Описание

cgprMdl = compact(gprMdl) возвращает компактную версию обученной модели Gaussian process regression (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

Вычислите потерю среднеквадратической ошибки на тестовых данных с помощью обученной модели 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