compact

Класс: 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