exponenta event banner

resubLoss

Класс: RegingGP

Потеря резации для обученной модели регрессии гауссова процесса

Синтаксис

L = resubLoss(gprMdl)
L = resubLoss(gprMdl,Name,Value)

Описание

L = resubLoss(gprMdl) возвращает среднеквадратическую ошибку повторного замещения для модели регрессии гауссова процесса (GPR), gprMdl.

L = resubLoss(gprMdl,Name,Value) возвращает потери от повторной субституции для модели GPR, gprMdl, с дополнительными опциями, указанными одним или несколькими Name,Value аргументы пары. Например, можно указать пользовательскую функцию потерь или веса наблюдений.

Входные аргументы

развернуть все

Модель регрессии гауссова процесса, заданная как RegressionGP объект.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Функция потерь для обученной модели GPR, указанная как 'mse' или дескриптор функции. 'mse' обозначает среднеквадратичную ошибку.

Если вы передаете дескриптор функции, скажем fun, resubLoss называет его как: fun(Y,Ypred,W), где Y, Ypred, и W - числовые векторы длины n, а n - количество наблюдений в обучающих данных. Y - наблюдаемый ответ, Ypred является прогнозируемым ответом, и W - вес наблюдения.

Пример: 'lossfun',Fct вызывает функцию потери Fct.

Типы данных: char | string | function_handle

Веса наблюдений, определенные как вектор n-by-1, где n - количество наблюдений в данных обучения. По умолчанию вес каждого наблюдения равен 1.

Типы данных: double | single

Выходные аргументы

развернуть все

Ошибка повторного замещения для модели GPR, возвращенная как скалярное значение.

Примеры

развернуть все

В этом примере используется набор данных «Корпус» [1] из архива машинного обучения UCI [2], описанного в разделе http://archive.ics.uci.edu/ml/datasets/Housing. Загрузите данные и сохраните их в текущей папке как файл данных с именем housing.data.

В наборе данных 506 наблюдений. Первые 13 столбцов содержат предикторные значения, а последний столбец содержит ответные значения. Цель состоит в том, чтобы предсказать медианную стоимость домов, занятых владельцами в пригороде Бостона, в зависимости от 13 предикторов.

Загрузите данные и определите вектор отклика и матрицу предиктора.

load('housing.data');
X = housing(:,1:13);
y = housing(:,end);

Подогнать модель GPR с использованием подмножества регрессоров ('sr') метод аппроксимации с Matern 3/2 ('Matern32') функция ядра. Прогнозировать с помощью полностью независимого условного ('fic') метод.

gprMdl = fitrgp(X,y,'KernelFunction','Matern32',...
'FitMethod','sr','PredictMethod','fic');

Вычислите прогнозы повторного замещения.

ypred = resubPredict(gprMdl);

Постройте график прогнозируемых значений отклика вместе с фактическими значениями отклика.

plot(y,'r'); % Plot original response values
hold on;
plot(ypred,'b--'); % Plot predicted response values
ylabel('y');
legend('Actual response','Predicted response','Location','SouthWest');
axis([0 510 -10 55]);
hold off

Вычислите потерю повторного замещения.

L = resubLoss(gprMdl)
L =

    4.8478

Вычислите потери регрессии вручную.

n = length(y);
L = (y-ypred)'*(y-ypred)/n
L =

    4.8478

Загрузите образцы данных и сохраните их в table.

load fisheriris
tbl = table(meas(:,1),meas(:,2),meas(:,3),meas(:,4),species,...
'VariableNames',{'meas1','meas2','meas3','meas4','species'});

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

mdl = fitrgp(tbl,'meas1');

Спрогнозировать ответы с использованием обученной модели.

ypred = predict(mdl,tbl);

Вычислите среднюю абсолютную ошибку.

n = height(tbl);
y = tbl.meas1;
fun = @(y,ypred,w) sum(abs(y-ypred))/n;
L = resubLoss(mdl,'lossfun',fun)
L = 0.2345

Альтернативы

Чтобы вычислить ошибку регрессии для новых данных, используйте loss.

Ссылки

[1] Харрисон, Д. и Д. Л., Рубинфельд. «Гедонические цены и спрос на чистый воздух». Дж. Энвирон. Экономика и управление. Vol.5, 1978, стр. 81-102.

[2] Лихман, M. UCI Machine Learning Repository, Ирвайн, Калифорния: Калифорнийский университет, Школа информации и компьютерных наук, 2013. http://archive.ics.uci.edu/ml.

См. также

| | |

Представлен в R2015b