Гауссовы модели регрессии процесса

Модели гауссовой регрессии процесса (GPR) являются непараметрическими основанными на ядре вероятностными моделями. Можно обучить модель GPR с помощью fitrgp функция.

Рассмотрите набор обучающих данных {(xi,yi);i=1,2,...,n}, где xid и yi, чертивший от неизвестного распределения. Модель GPR обращается к вопросу предсказания значения переменной отклика ynew, учитывая новый входной вектор xnew, и обучающие данные. Модель линейной регрессии имеет форму

y=xTβ+ε,

где εN(0,σ2). Ошибочное отклонение σ 2 и коэффициенты β оценивается из данных. Модель GPR объясняет ответ путем представления скрытых переменных, f(xi),i=1,2,...,n, от Гауссова процесса (GP), и явных основных функций, h. Функция ковариации скрытых переменных получает гладкость ответа, и основные функции проектируют входные параметры x в p - размерное пространство признаков.

GP является набором случайных переменных, таких, что любое конечное число их имеет объединенное Распределение Гаусса. Если {f(x),xd} GP, затем, учитывая наблюдения n x1,x2,...,xn, совместное распределение случайных переменных f(x1),f(x2),...,f(xn) является Гауссовым. GP задан его средней функцией m(x) и функция ковариации, k(x,x). Таким образом, если {f(x),xd} Гауссов процесс, затем E(f(x))=m(x) и Cov[f(x),f(x)]=E[{f(x)m(x)}{f(x)m(x)}]=k(x,x).

Теперь рассмотрите следующую модель.

h(x)Tβ+f(x),

где f(x)~GP(0,k(x,x)), это is f (x) от нулевого среднего GP с функцией ковариации, k(x,x). h (x) является набором основных функций, которые преобразовывают исходный характеристический вектор x в Rd в вектор новой возможности h (x) в Rp. β является p-by-1 вектор из коэффициентов основной функции. Эта модель представляет модель GPR. Экземпляр ответа y может быть смоделирован как

P(yi|f(xi),xi) ~N(yi|h(xi)Tβ+f(xi),σ2)

Следовательно, модель GPR является вероятностной моделью. Существует скрытая переменная f (xi), введенный для каждого наблюдения xi, который делает модель GPR непараметрической. В векторной форме эта модель эквивалентна

P(y|f,X)~N(y|Hβ+f,σ2I),

где

X=(x1Tx2TxnT),y=(y1y2yn),H=(h(x1T)h(x2T)h(xnT)),f=(f(x1)f(x2)f(xn)).

Совместное распределение скрытых переменных f(x1),f(x2),...,f(xn) в GPR модель следующие:

P(f|X)~N(f|0,K(X,X)),

близко к модели линейной регрессии, где K(X,X) взгляды можно следующим образом:

K(X,X)=(k(x1,x1)k(x1,x2)k(x1,xn)k(x2,x1)k(x2,x2)k(x2,xn)k(xn,x1)k(xn,x2)k(xn,xn)).

Функция ковариации k(x,x) обычно параметрируется набором параметров ядра или гиперпараметров, θ. Часто k(x,x) записан как k(x,x|θ) явным образом указать на зависимость от θ.

fitrgp оценивает коэффициенты основной функции, β, шумовое отклонение, σ2, и гиперпараметры,θ, из ядра функционируют из данных в то время как обучение модель GPR. Можно задать основную функцию, ядро (ковариация) функция и начальные значения для параметров.

Поскольку модель GPR является вероятностной, возможно вычислить интервалы предсказания с помощью обученной модели (см. predict и resubPredict).

Можно также вычислить ошибку регрессии обученная модель GPR (см. loss и resubLoss).

Сравните интервалы предсказания моделей GPR

Этот пример подбирает модели GPR к бесшумному набору данных и набору зашумленных данных. Пример сравнивает предсказанные ответы и интервалы предсказания двух подбиравших моделей GPR.

Сгенерируйте два набора данных наблюдения от функции g(x)=xsin(x).

rng('default') % For reproducibility
x_observed = linspace(0,10,21)';
y_observed1 = x_observed.*sin(x_observed);
y_observed2 = y_observed1 + 0.5*randn(size(x_observed));

Значения в y_observed1 свободный шум, и значения в y_observed2 включайте некоторый случайный шум.

Подбирайте модели GPR к наблюдаемым наборам данных.

gprMdl1 = fitrgp(x_observed,y_observed1);
gprMdl2 = fitrgp(x_observed,y_observed2);

Вычислите предсказанные ответы и 95%-е интервалы предсказания с помощью подобранных моделей.

x = linspace(0,10)';
[ypred1,~,yint1] = predict(gprMdl1,x);
[ypred2,~,yint2] = predict(gprMdl2,x);

Измените размер фигуры, чтобы отобразить два графика в одной фигуре.

fig = figure;
fig.Position(3) = fig.Position(3)*2;

Создайте 1 2 мозаичное размещение графика.

tiledlayout(1,2,'TileSpacing','compact')

Для каждой мозаики чертите график рассеивания наблюдаемых точек данных и график функций xsin(x). Затем добавьте, что график GP предсказал ответы и закрашенную фигуру интервалов предсказания.

nexttile
hold on
scatter(x_observed,y_observed1,'r') % Observed data points
fplot(@(x) x.*sin(x),[0,10],'--r')  % Function plot of x*sin(x)
plot(x,ypred1,'g')                  % GPR predictions
patch([x;flipud(x)],[yint1(:,1);flipud(yint1(:,2))],'k','FaceAlpha',0.1); % Prediction intervals
hold off
title('GPR Fit of Noise-Free Observations')
legend({'Noise-free observations','g(x) = x*sin(x)','GPR predictions','95% prediction intervals'},'Location','best')

nexttile
hold on
scatter(x_observed,y_observed2,'xr') % Observed data points
fplot(@(x) x.*sin(x),[0,10],'--r')   % Function plot of x*sin(x)
plot(x,ypred2,'g')                   % GPR predictions
patch([x;flipud(x)],[yint2(:,1);flipud(yint2(:,2))],'k','FaceAlpha',0.1); % Prediction intervals
hold off
title('GPR Fit of Noisy Observations')
legend({'Noisy observations','g(x) = x*sin(x)','GPR predictions','95% prediction intervals'},'Location','best')

Figure contains 2 axes. Axes 1 with title GPR Fit of Noise-Free Observations contains 4 objects of type scatter, functionline, line, patch. These objects represent Noise-free observations, g(x) = x*sin(x), GPR predictions, 95% prediction intervals. Axes 2 with title GPR Fit of Noisy Observations contains 4 objects of type scatter, functionline, line, patch. These objects represent Noisy observations, g(x) = x*sin(x), GPR predictions, 95% prediction intervals.

Когда наблюдения являются свободным шумом, предсказанные ответы подгонки GPR пересекают наблюдения. Стандартное отклонение предсказанного ответа является почти нулем. Поэтому интервалы предсказания являются очень узкими. Когда наблюдения включают шум, предсказанные ответы не пересекают наблюдения, и интервалы предсказания становятся широкими.

Ссылки

[1] Расмуссен, C. E. и К. К. Ай. Уильямс. Гауссовы процессы для машинного обучения. Нажатие MIT. Кембридж, Массачусетс, 2006.

Смотрите также

| |

Похожие темы