exponenta event banner

Регрессионные модели гауссовых процессов

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

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

y = xTβ +

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

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

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

h (x) + f (x),

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

P (yi 'f (xi),  xi) ~ N (yi' h (xi) + f (xi), start2)

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

P (y 'f, X) ~ N (y' Hβ + f, start2I),

где

X = (x1Tx2T⋮xnT), y = (y1y2⋮yn), 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′|θ) для явного указания зависимости от start.

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

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

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

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

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

Создайте два набора данных наблюдения из функции g (x) =x⋅sin ( 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')

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

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] Расмуссен, К. Э. и К. К. И. Уильямс. Гауссовы процессы машинного обучения. Пресс MIT. Кембридж, Массачусетс, 2006.

См. также

| |

Связанные темы