resubLoss

Класс: RegressionGP

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

Синтаксис

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

Описание

L = resubLoss(gprMdl) возвращает среднеквадратическую ошибку перезамены для модели Gaussian process regression (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] Харрисон, D. и D.L., Рубинфельд. "Гедонистические цены и спрос на чистый воздух". J. Окружить. Экономика & управление. Vol.5, 1978, стр 81-102.

[2] Личмен, M. Репозиторий Машинного обучения UCI, Ирвин, CA: Калифорнийский университет, Школа Информатики и вычислительной техники, 2013. http://archive.ics.uci.edu/ml.

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

| | |

Введенный в R2015b