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

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