Пакет: classreg.learning.regr
Компактный Гауссов класс модели регрессии процесса
CompactRegressionGP
компактная модель Gaussian process regression (GPR). Компактная модель использует меньше памяти, чем полная модель, потому что это не включает данные, используемые для обучения модель GPR.
Поскольку компактная модель не включает обучающие данные, вы не можете выполнить некоторые задачи, такие как перекрестная проверка, с помощью компактной модели. Однако можно использовать компактную модель для того, чтобы сделать предсказания или вычислить, потеря регрессии для новых данных (используйте predict
и loss
).
Создайте CompactRegressionGP
объект от полного RegressionGP
объект модели при помощи compact
.
FitMethod
— Метод раньше оценивал параметры'none'
| 'exact'
| 'sd'
| 'sr'
| 'fic'
Метод раньше оценивал коэффициенты основной функции, β; шумовое стандартное отклонение, σ; и параметры ядра, θ, модели GPR, сохраненной как вектор символов. Это может быть одно из следующих.
Подходящий метод | Описание |
---|---|
'none' | Никакая оценка. fitrgp использует начальные значения параметров в качестве значений параметров. |
'exact' | Точная Гауссова регрессия процесса. |
'sd' | Подмножество приближения точек данных. |
'sr' | Подмножество приближения регрессоров. |
'fic' | Полностью независимое условное приближение. |
BasisFunction
— Явная основная функция'none'
| 'constant'
| 'linear'
| 'pureQuadratic'
| указатель на функциюЯвная основная функция используется в модели GPR, сохраненной как вектор символов или указатель на функцию. Это может быть одно из следующих. Если n является количеством наблюдений, основная функция добавляет термин H *β к модели, где H является базисной матрицей, и β является p-by-1 вектор из базисных коэффициентов.
Явный базис | Базисная матрица |
---|---|
'none' | Пустая матрица. |
'constant' |
(n-by-1 вектор 1 с, где n является количеством наблюдений), |
'linear' |
|
'pureQuadratic' |
где |
Указатель на функцию | Указатель на функцию, где |
Типы данных: char |
function_handle
CategoricalPredictors
— Индексы категориальных предикторов[]
Категориальные индексы предиктора в виде вектора из положительных целых чисел. CategoricalPredictors
содержит значения индекса, указывающие, что соответствующие предикторы являются категориальными. Значения индекса между 1 и p
, где p
количество предикторов, используемых, чтобы обучить модель. Если ни один из предикторов не является категориальным, то это свойство пусто ([]
).
Типы данных: single
| double
Beta
— Предполагаемые коэффициентыПредполагаемые коэффициенты для явных основных функций, сохраненных как вектор. Можно задать явную основную функцию при помощи BasisFunction
аргумент пары "имя-значение" в fitrgp
.
Типы данных: double
Sigma
— Предполагаемое шумовое стандартное отклонениеПредполагаемое шумовое стандартное отклонение модели GPR, сохраненной как скалярное значение.
Типы данных: double
ModelParameters
— Параметры используются для обучения GPParams
объектПараметры использовали для обучения модель GPR, сохраненную как GPParams
объект.
KernelFunction
— Форма функции ковариации'squaredExponential'
| 'matern32'
| 'matern52'
| 'ardsquaredexponential'
| 'ardmatern32'
| 'ardmatern52'
| указатель на функциюФорма функции ковариации, используемой в модели 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, :) и Xn J. theta r-by-1 неограниченный вектор параметра для kfcn . |
Типы данных: char |
function_handle
KernelInformation
— Информация о параметрах функции ядраИнформация о параметрах функции ядра, используемой в модели GPR, сохраненной как структура следующими полями.
Имя поля | Описание |
---|---|
Name | Имя функции ядра |
KernelParameters | Вектор из предполагаемых параметров ядра |
KernelParameterNames | Имена сопоставлены с элементами KernelParameters . |
Типы данных: struct
PredictMethod
— Метод раньше делал предсказания'exact'
| 'bcd'
| 'sd'
| 'sr'
| 'fic'
Метод, что predict
использование, чтобы сделать предсказания из модели GPR, сохраненной как вектор символов. Это может быть одно из следующих.
PredictMethod | Описание |
---|---|
'exact' | Точная Гауссова регрессия процесса |
'bcd' | Блокируйте координатный спуск |
'sd' | Подмножество приближения Точек данных |
'sr' | Подмножество приближения Регрессоров |
'fic' | Полностью Независимое Условное приближение |
Alpha
— Веса Веса раньше делали предсказания из обученной модели GPR, сохраненной как числовой вектор. predict
вычисляет предсказания для новой матрицы предиктора Xnew
при помощи продукта
матрица продуктов ядра между и активный вектор набора A и α является вектором из весов.
Типы данных: double
ResponseTransform
— Преобразование применилось к предсказанному ответу'none'
(значение по умолчанию)Преобразование применилось к предсказанному ответу, сохраненному как вектор символов, описывающий, как значения отклика, предсказанные моделью, преобразовываются. В RegressionGP
, ResponseTransform
'none'
по умолчанию, и RegressionGP
не использует ResponseTransform
при создании предсказаний.
ActiveSetVectors
— Подмножество обучающих данныхПодмножество обучающих данных раньше делало предсказания из модели GPR, сохраненной как матрица.
predict
вычисляет предсказания для новой матрицы предиктора Xnew
при помощи продукта
матрица продуктов ядра между и активный вектор набора A и α является вектором из весов.
ActiveSetVectors
равно обучающим данным X
для точного подбора кривой GPR и подмножества обучающих данных X
для разреженных методов GPR. Когда существуют категориальные предикторы в модели, ActiveSetVectors
содержит фиктивные переменные для соответствующих предикторов.
Типы данных: double
ActiveSetMethod
— Метод раньше выбирал активный набор'sgma'
| 'entropy'
| 'likelihood'
| 'random'
Метод раньше выбирал активный набор для разреженных методов ('sd'
, 'sr'
, или 'fic'
), сохраненный как вектор символов. Это может быть одно из следующих.
ActiveSetMethod | Описание |
---|---|
'sgma' | Разреженное жадное матричное приближение |
'entropy' | Дифференциальный основанный на энтропии выбор |
'likelihood' | Подмножество регрессоров регистрирует основанный на вероятности выбор |
'random' | Случайный выбор |
Выбранный активный набор используется по оценке параметра или предсказанию, в зависимости от выбора FitMethod
и PredictMethod
\in fitrgp
.
ActiveSetSize
— Размер активного набораРазмер активного набора для разреженных методов ('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
Вычислите потерю среднеквадратической ошибки на тестовых данных с помощью обученной модели GPR.
L = loss(cgprMdl,Xnew,ynew)
L = 0.0497
Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел "Копирование объектов".
Указания и ограничения по применению:
predict
функционируйте генерация кода поддержек.
Для получения дополнительной информации смотрите Введение в Генерацию кода.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.