resubLoss

Класс: RegressionGP

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

Синтаксис

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, возвращенная как скалярное значение.

Примеры

расширить все

Этот пример использует набор данных «Housing» [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') метод приближения с Матерном 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, Irvine, CA: University of California, School of Information and Computer Science, 2013. http://archive.ics.uci.edu/ml.

См. также

| | |

Введенный в R2015b