CompactRegressionGP

Пакет: classreg.learning.regr

Компактный Гауссов класс модели регрессии процесса

Описание

CompactRegressionGP компактная модель Gaussian process regression (GPR). Компактная модель использует меньше памяти, чем полная модель, потому что это не включает данные, используемые для обучения модель GPR.

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

Конструкция

Создайте CompactRegressionGP объект от полного RegressionGP объект модели при помощи compact.

Свойства

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

Подбор кривой

Метод раньше оценивал коэффициенты основной функции, β; шумовое стандартное отклонение, σ; и параметры ядра, θ, модели GPR, сохраненной как вектор символов. Это может быть одно из следующих.

Подходящий методОписание
'none'Никакая оценка. fitrgp использует начальные значения параметров в качестве значений параметров.
'exact'Точная Гауссова регрессия процесса.
'sd'Подмножество приближения точек данных.
'sr'Подмножество приближения регрессоров.
'fic'Полностью независимое условное приближение.

Явная основная функция используется в модели GPR, сохраненной как вектор символов или указатель на функцию. Это может быть одно из следующих. Если n является количеством наблюдений, основная функция добавляет термин H *β к модели, где H является базисной матрицей, и β является p-by-1 вектор из базисных коэффициентов.

Явный базисБазисная матрица
'none'Пустая матрица.
'constant'

H=1

(n-by-1 вектор 1 с, где n является количеством наблюдений),

'linear'

H=[1,X]

'pureQuadratic'

H=[1,X,X2],

где

X2=[x112x122x1d2x212x222x2d2xn12xn22xnd2].

Указатель на функцию

Указатель на функцию, hfcn, это fitrgp вызовы как:

H=hfcn(X),

где X n-by-d матрица предикторов, и H является n-by-p матрица основных функций.

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

Категориальные индексы предиктора в виде вектора из положительных целых чисел. CategoricalPredictors содержит значения индекса, указывающие, что соответствующие предикторы являются категориальными. Значения индекса между 1 и p, где p количество предикторов, используемых, чтобы обучить модель. Если ни один из предикторов не является категориальным, то это свойство пусто ([]).

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

Предполагаемые коэффициенты для явных основных функций, сохраненных как вектор. Можно задать явную основную функцию при помощи BasisFunction аргумент пары "имя-значение" в fitrgp.

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

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

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

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

Функция ядра

Форма функции ковариации, используемой в модели GPR, сохраненной как вектор символов, содержащий имя встроенной ковариации, функционирует или указатель на функцию. Это может быть одно из следующих.

ФункцияОписание
'squaredexponential'Экспоненциальное ядро в квадрате.
'matern32'Ядро Matern параметром 3/2.
'matern52'Ядро Matern параметром 5/2.
'ardsquaredexponential'Экспоненциальное ядро в квадрате с отдельной шкалой расстояний на предиктор.
'ardmatern32'Ядро Matern параметром 3/2 и отдельная шкала расстояний на предиктор.
'ardmatern52'Ядро Matern параметром 5/2 и отдельная шкала расстояний на предиктор.
Указатель на функциюУказатель на функцию это fitrgp может вызвать как это:
Kmn = kfcn(Xm,Xn,theta)
где Xm m-by-d матрица, Xn n-by-d матрица и Kmn m-by-n матрица продуктов ядра, таким образом что Kmn(i, j), продукт ядра между Xm(i, :) и XnJ.
theta r-by-1 неограниченный вектор параметра для kfcn.

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

Информация о параметрах функции ядра, используемой в модели GPR, сохраненной как структура следующими полями.

Имя поляОписание
NameИмя функции ядра
KernelParametersВектор из предполагаемых параметров ядра
KernelParameterNamesИмена сопоставлены с элементами KernelParameters.

Типы данных: struct

Предсказание

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

PredictMethodОписание
'exact'Точная Гауссова регрессия процесса
'bcd'Блокируйте координатный спуск
'sd'Подмножество приближения Точек данных
'sr'Подмножество приближения Регрессоров
'fic'Полностью Независимое Условное приближение

Веса раньше делали предсказания из обученной модели GPR, сохраненной как числовой вектор. predict вычисляет предсказания для новой матрицы предиктора Xnew при помощи продукта

K(Xnew,A)*α.

K(Xnew,A) матрица продуктов ядра между Xnew и активный вектор набора A и α является вектором из весов.

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

Преобразование применилось к предсказанному ответу, сохраненному как вектор символов, описывающий, как значения отклика, предсказанные моделью, преобразовываются. В RegressionGP, ResponseTransform 'none' по умолчанию, и RegressionGP не использует ResponseTransform при создании предсказаний.

Активный выбор набора

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

predict вычисляет предсказания для новой матрицы предиктора Xnew при помощи продукта

K(Xnew,A)*α.

K(Xnew,A) матрица продуктов ядра между Xnew и активный вектор набора A и α является вектором из весов.

ActiveSetVectors равно обучающим данным X для точного подбора кривой GPR и подмножества обучающих данных X для разреженных методов GPR. Когда существуют категориальные предикторы в модели, ActiveSetVectors содержит фиктивные переменные для соответствующих предикторов.

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

Метод раньше выбирал активный набор для разреженных методов ('sd', 'sr', или 'fic'), сохраненный как вектор символов. Это может быть одно из следующих.

ActiveSetMethodОписание
'sgma'Разреженное жадное матричное приближение
'entropy'Дифференциальный основанный на энтропии выбор
'likelihood'Подмножество регрессоров регистрирует основанный на вероятности выбор
'random'Случайный выбор

Выбранный активный набор используется по оценке параметра или предсказанию, в зависимости от выбора FitMethod и PredictMethod \in fitrgp.

Размер активного набора для разреженных методов ('sd', 'sr', или 'fic'), сохраненный как целочисленное значение.

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

Функции объекта

limeЛокальные поддающиеся толкованию объяснения модели агностические (LIME)
lossОшибка регрессии для Гауссовой модели регрессии процесса
partialDependenceВычислите частичную зависимость
plotPartialDependenceСоздайте графики отдельного условного ожидания (ICE) и частичный график зависимости (PDP)
predictПредскажите ответ Гауссовой модели регрессии процесса
shapleyШепли оценивает

Примеры

свернуть все

Сгенерируйте обучающие данные в качестве примера.

rng(1) % For reproducibility
n = 100000;
X = linspace(0,1,n)';
X = [X,X.^2];
y = 1 + X*[1;2] + sin(20*X*[1;-2]) + 0.2*randn(n,1);

Обучите модель GPR с помощью подмножества регрессоров ('sr') метод приближения и предсказывает использование подмножества данных ('sd') метод. Используйте 50 точек в активном наборе и разреженном жадном матричном приближении ('sgma') метод для активного выбора набора. Поскольку шкалы первых и вторых предикторов отличаются, это - хорошая практика, чтобы стандартизировать данные.

gprMdl = fitrgp(X,y,'KernelFunction','squaredExponential','FitMethod', ...
    'sr','PredictMethod','sd','Basis','none','ActiveSetSize',50, ...
    'ActiveSetMethod','sgma','Standardize',1,'KernelParameters',[1;1]);

fitrgp принимает любую комбинацию подбора кривой, предсказания и активных методов выбора набора. В некоторых случаях не может быть возможно вычислить стандартные отклонения предсказанных ответов, следовательно интервалы предсказания. Смотрите Советы. И в некоторых случаях использование точного метода может быть дорогим из-за размера обучающих данных.

Создайте компактный объект GPR.

cgprMdl = compact(gprMdl);

Сгенерируйте тестовые данные.

n = 4000;
Xnew = linspace(0,1,n)';
Xnew = [Xnew,Xnew.^2];
ynew = 1 + Xnew*[1;2] + sin(20*Xnew*[1;-2]) + 0.2*randn(n,1);

Используйте компактный объект предсказать ответ в тестовых данных и интервалах предсказания.

[ypred,~,yci] = predict(cgprMdl,Xnew);

Постройте истинный ответ, предсказанный ответ и интервалы предсказания.

figure
plot(ynew,'r')
hold on
plot(ypred,'b')
plot(yci(:,1),'k--')
plot(yci(:,2),'k--')
legend('True responses','GPR predictions','95% prediction limits','Location','Best')
xlabel('x')
ylabel('y')
hold off

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent True responses, GPR predictions, 95% prediction limits.

Вычислите потерю среднеквадратической ошибки на тестовых данных с помощью обученной модели GPR.

L = loss(cgprMdl,Xnew,ynew)
L = 0.0497

Расширенные возможности

Введенный в R2015b