Возобновите обучение Гауссовой модели регрессии ядра
UpdatedMdl = resume(Mdl,X,Y)
UpdatedMdl = resume(Mdl,X,Y,Name,Value)
[UpdatedMdl,FitInfo] = resume(___)
продолжает обучение с теми же опциями, используемыми, чтобы обучить UpdatedMdl
= resume(Mdl
,X
,Y
)Mdl
, включая данные тренировки (данные о предикторе в X
и данные об ответе в Y
) и расширение функции. Обучение запускается в текущих предполагаемых параметрах в Mdl
. Функция возвращает новую Гауссову модель UpdatedMdl
регрессии ядра.
возвращает новую модель регрессии ядра с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Например, можно изменить опции управления сходимостью, такие как допуски сходимости и максимальное количество дополнительных итераций оптимизации.UpdatedMdl
= resume(Mdl
,X
,Y
,Name,Value
)
[
также возвращает подходящую информацию в массиве структур UpdatedMdl
,FitInfo
] = resume(___)FitInfo
с помощью любого из входных параметров в предыдущих синтаксисах.
Возобновите обучение Гауссова модель регрессии ядра для большего количества итераций, чтобы улучшить потерю регрессии.
Загрузите набор данных carbig
.
load carbig
Задайте переменные прогноза (X
) и переменная отклика (Y
).
X = [Acceleration,Cylinders,Displacement,Horsepower,Weight]; Y = MPG;
Удалите строки X
и Y
, где любой массив имеет значения NaN
. При удалении строк со значениями NaN
, прежде чем передающие данные к fitrkernel
могут ускорить обучение и уменьшать использование памяти.
R = rmmissing([X Y]); % Data with missing entries removed
X = R(:,1:5);
Y = R(:,end);
Зарезервируйте 10% наблюдений как выборка затяжки. Извлеките обучение и протестируйте индексы из определения раздела.
rng(10) % For reproducibility N = length(Y); cvp = cvpartition(N,'Holdout',0.1); idxTrn = training(cvp); % Training set indices idxTest = test(cvp); % Test set indices
Стандартизируйте данные тренировки и обучите модель регрессии ядра. Установите предел итерации к 5 и задайте 'Verbose',1
, чтобы отобразить диагностическую информацию.
Xtrain = X(idxTrn,:); Ytrain = Y(idxTrn); [Ztrain,tr_mu,tr_sigma] = zscore(Xtrain); % Standardize the training data tr_sigma(tr_sigma==0) = 1; Mdl = fitrkernel(Ztrain,Ytrain,'IterationLimit',5,'Verbose',1)
|=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 0 | 5.691016e+00 | 0.000000e+00 | 5.852758e-02 | | 0 | | LBFGS | 1 | 1 | 5.086537e+00 | 8.000000e+00 | 5.220869e-02 | 9.846711e-02 | 256 | | LBFGS | 1 | 2 | 3.862301e+00 | 5.000000e-01 | 3.796034e-01 | 5.998808e-01 | 256 | | LBFGS | 1 | 3 | 3.460613e+00 | 1.000000e+00 | 3.257790e-01 | 1.615091e-01 | 256 | | LBFGS | 1 | 4 | 3.136228e+00 | 1.000000e+00 | 2.832861e-02 | 8.006254e-02 | 256 | | LBFGS | 1 | 5 | 3.063978e+00 | 1.000000e+00 | 1.475038e-02 | 3.314455e-02 | 256 | |=================================================================================================================|
Mdl = RegressionKernel ResponseName: 'Y' Learner: 'svm' NumExpansionDimensions: 256 KernelScale: 1 Lambda: 0.0028 BoxConstraint: 1 Epsilon: 0.8617 Properties, Methods
Mdl
является a RegressionKernel
моделью.
Стандартизируйте тестовые данные с помощью того же среднего и стандартного отклонения столбцов данных тренировки. Оцените нечувствительную к эпсилону ошибку для набора тестов.
Xtest = X(idxTest,:); Ztest = (Xtest-tr_mu)./tr_sigma; % Standardize the test data Ytest = Y(idxTest); L = loss(Mdl,Ztest,Ytest,'LossFun','epsiloninsensitive')
L = 2.0674
Продолжите обучение модель при помощи resume
. Эта функция продолжает обучение с теми же опциями, используемыми для учебного Mdl
.
UpdatedMdl = resume(Mdl,Ztrain,Ytrain);
|=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 0 | 3.063978e+00 | 0.000000e+00 | 1.475038e-02 | | 256 | | LBFGS | 1 | 1 | 3.007822e+00 | 8.000000e+00 | 1.391637e-02 | 2.603966e-02 | 256 | | LBFGS | 1 | 2 | 2.817171e+00 | 5.000000e-01 | 5.949008e-02 | 1.918084e-01 | 256 | | LBFGS | 1 | 3 | 2.807294e+00 | 2.500000e-01 | 6.798867e-02 | 2.973097e-02 | 256 | | LBFGS | 1 | 4 | 2.791060e+00 | 1.000000e+00 | 2.549575e-02 | 1.639328e-02 | 256 | | LBFGS | 1 | 5 | 2.767821e+00 | 1.000000e+00 | 6.154419e-03 | 2.468903e-02 | 256 | | LBFGS | 1 | 6 | 2.738163e+00 | 1.000000e+00 | 5.949008e-02 | 9.476263e-02 | 256 | | LBFGS | 1 | 7 | 2.719146e+00 | 1.000000e+00 | 1.699717e-02 | 1.849972e-02 | 256 | | LBFGS | 1 | 8 | 2.705941e+00 | 1.000000e+00 | 3.116147e-02 | 4.152590e-02 | 256 | | LBFGS | 1 | 9 | 2.701162e+00 | 1.000000e+00 | 5.665722e-03 | 9.401466e-03 | 256 | | LBFGS | 1 | 10 | 2.695341e+00 | 5.000000e-01 | 3.116147e-02 | 4.968046e-02 | 256 | | LBFGS | 1 | 11 | 2.691277e+00 | 1.000000e+00 | 8.498584e-03 | 1.017446e-02 | 256 | | LBFGS | 1 | 12 | 2.689972e+00 | 1.000000e+00 | 1.983003e-02 | 9.938921e-03 | 256 | | LBFGS | 1 | 13 | 2.688979e+00 | 1.000000e+00 | 1.416431e-02 | 6.606316e-03 | 256 | | LBFGS | 1 | 14 | 2.687787e+00 | 1.000000e+00 | 1.621956e-03 | 7.089542e-03 | 256 | | LBFGS | 1 | 15 | 2.686539e+00 | 1.000000e+00 | 1.699717e-02 | 1.169701e-02 | 256 | | LBFGS | 1 | 16 | 2.685356e+00 | 1.000000e+00 | 1.133144e-02 | 1.069310e-02 | 256 | | LBFGS | 1 | 17 | 2.685021e+00 | 5.000000e-01 | 1.133144e-02 | 2.104248e-02 | 256 | | LBFGS | 1 | 18 | 2.684002e+00 | 1.000000e+00 | 2.832861e-03 | 6.175231e-03 | 256 | | LBFGS | 1 | 19 | 2.683507e+00 | 1.000000e+00 | 5.665722e-03 | 3.724026e-03 | 256 | | LBFGS | 1 | 20 | 2.683343e+00 | 5.000000e-01 | 5.665722e-03 | 9.549119e-03 | 256 | |=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 21 | 2.682897e+00 | 1.000000e+00 | 5.665722e-03 | 7.172867e-03 | 256 | | LBFGS | 1 | 22 | 2.682682e+00 | 1.000000e+00 | 2.832861e-03 | 2.587726e-03 | 256 | | LBFGS | 1 | 23 | 2.682485e+00 | 1.000000e+00 | 2.832861e-03 | 2.953648e-03 | 256 | | LBFGS | 1 | 24 | 2.682326e+00 | 1.000000e+00 | 2.832861e-03 | 7.777294e-03 | 256 | | LBFGS | 1 | 25 | 2.681914e+00 | 1.000000e+00 | 2.832861e-03 | 2.778555e-03 | 256 | | LBFGS | 1 | 26 | 2.681867e+00 | 5.000000e-01 | 1.031085e-03 | 3.638352e-03 | 256 | | LBFGS | 1 | 27 | 2.681725e+00 | 1.000000e+00 | 5.665722e-03 | 1.515199e-03 | 256 | | LBFGS | 1 | 28 | 2.681692e+00 | 5.000000e-01 | 1.314940e-03 | 1.850055e-03 | 256 | | LBFGS | 1 | 29 | 2.681625e+00 | 1.000000e+00 | 2.832861e-03 | 1.456903e-03 | 256 | | LBFGS | 1 | 30 | 2.681594e+00 | 5.000000e-01 | 2.832861e-03 | 8.704875e-04 | 256 | | LBFGS | 1 | 31 | 2.681581e+00 | 5.000000e-01 | 8.498584e-03 | 3.934768e-04 | 256 | | LBFGS | 1 | 32 | 2.681579e+00 | 1.000000e+00 | 8.498584e-03 | 1.847866e-03 | 256 | | LBFGS | 1 | 33 | 2.681553e+00 | 1.000000e+00 | 9.857038e-04 | 6.509825e-04 | 256 | | LBFGS | 1 | 34 | 2.681541e+00 | 5.000000e-01 | 8.498584e-03 | 6.635528e-04 | 256 | | LBFGS | 1 | 35 | 2.681499e+00 | 1.000000e+00 | 5.665722e-03 | 6.194735e-04 | 256 | | LBFGS | 1 | 36 | 2.681493e+00 | 5.000000e-01 | 1.133144e-02 | 1.617763e-03 | 256 | | LBFGS | 1 | 37 | 2.681473e+00 | 1.000000e+00 | 9.869233e-04 | 8.418484e-04 | 256 | | LBFGS | 1 | 38 | 2.681469e+00 | 1.000000e+00 | 5.665722e-03 | 1.069722e-03 | 256 | | LBFGS | 1 | 39 | 2.681432e+00 | 1.000000e+00 | 2.832861e-03 | 8.501930e-04 | 256 | | LBFGS | 1 | 40 | 2.681423e+00 | 2.500000e-01 | 1.133144e-02 | 9.543716e-04 | 256 | |=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 41 | 2.681416e+00 | 1.000000e+00 | 2.832861e-03 | 8.763251e-04 | 256 | | LBFGS | 1 | 42 | 2.681413e+00 | 5.000000e-01 | 2.832861e-03 | 4.101888e-04 | 256 | | LBFGS | 1 | 43 | 2.681403e+00 | 1.000000e+00 | 5.665722e-03 | 2.713209e-04 | 256 | | LBFGS | 1 | 44 | 2.681392e+00 | 1.000000e+00 | 2.832861e-03 | 2.115241e-04 | 256 | | LBFGS | 1 | 45 | 2.681383e+00 | 1.000000e+00 | 2.832861e-03 | 2.872858e-04 | 256 | | LBFGS | 1 | 46 | 2.681374e+00 | 1.000000e+00 | 8.498584e-03 | 5.771001e-04 | 256 | | LBFGS | 1 | 47 | 2.681353e+00 | 1.000000e+00 | 2.832861e-03 | 3.160871e-04 | 256 | | LBFGS | 1 | 48 | 2.681334e+00 | 5.000000e-01 | 8.498584e-03 | 1.045502e-03 | 256 | | LBFGS | 1 | 49 | 2.681314e+00 | 1.000000e+00 | 7.878714e-04 | 1.505118e-03 | 256 | | LBFGS | 1 | 50 | 2.681306e+00 | 1.000000e+00 | 2.832861e-03 | 4.756894e-04 | 256 | | LBFGS | 1 | 51 | 2.681301e+00 | 1.000000e+00 | 1.133144e-02 | 3.664873e-04 | 256 | | LBFGS | 1 | 52 | 2.681288e+00 | 1.000000e+00 | 2.832861e-03 | 1.449821e-04 | 256 | | LBFGS | 1 | 53 | 2.681287e+00 | 2.500000e-01 | 1.699717e-02 | 2.357176e-04 | 256 | | LBFGS | 1 | 54 | 2.681282e+00 | 1.000000e+00 | 5.665722e-03 | 2.046663e-04 | 256 | | LBFGS | 1 | 55 | 2.681278e+00 | 1.000000e+00 | 2.832861e-03 | 2.546349e-04 | 256 | | LBFGS | 1 | 56 | 2.681276e+00 | 2.500000e-01 | 1.307940e-03 | 1.966786e-04 | 256 | | LBFGS | 1 | 57 | 2.681274e+00 | 5.000000e-01 | 1.416431e-02 | 1.005310e-04 | 256 | | LBFGS | 1 | 58 | 2.681271e+00 | 5.000000e-01 | 1.118892e-03 | 1.147324e-04 | 256 | | LBFGS | 1 | 59 | 2.681269e+00 | 1.000000e+00 | 2.832861e-03 | 1.332914e-04 | 256 | | LBFGS | 1 | 60 | 2.681268e+00 | 2.500000e-01 | 1.132045e-03 | 5.441369e-05 | 256 | |=================================================================================================================|
Оцените нечувствительную к эпсилону ошибку для набора тестов с помощью обновленной модели.
UpdatedL = loss(UpdatedMdl,Ztest,Ytest,'LossFun','epsiloninsensitive')
UpdatedL = 1.8933
Ошибочные уменьшения регрессии фактором приблизительно 0.08
после resume
обновляют модель регрессии с большим количеством итераций.
Загрузите набор данных carbig
.
load carbig
Задайте переменные прогноза (X
) и переменная отклика (Y
).
X = [Acceleration,Cylinders,Displacement,Horsepower,Weight]; Y = MPG;
Удалите строки X
и Y
, где любой массив имеет значения NaN
. При удалении строк со значениями NaN
, прежде чем передающие данные к fitrkernel
могут ускорить обучение и уменьшать использование памяти.
R = rmmissing([X Y]); % Data with missing entries removed
X = R(:,1:5);
Y = R(:,end);
Зарезервируйте 10% наблюдений как выборка затяжки. Извлеките обучение и протестируйте индексы из определения раздела.
rng(10) % For reproducibility N = length(Y); cvp = cvpartition(N,'Holdout',0.1); idxTrn = training(cvp); % Training set indices idxTest = test(cvp); % Test set indices
Стандартизируйте данные тренировки и обучите модель регрессии ядра с расслабленными опциями обучения управления сходимостью при помощи аргументов пары "имя-значение" 'BetaTolerance'
и 'GradientTolerance'
. Задайте 'Verbose',1
, чтобы отобразить диагностическую информацию.
Xtrain = X(idxTrn,:); Ytrain = Y(idxTrn); [Ztrain,tr_mu,tr_sigma] = zscore(Xtrain); % Standardize the training data tr_sigma(tr_sigma==0) = 1; [Mdl,FitInfo] = fitrkernel(Ztrain,Ytrain,'Verbose',1, ... 'BetaTolerance',2e-2,'GradientTolerance',2e-2);
|=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 0 | 5.691016e+00 | 0.000000e+00 | 5.852758e-02 | | 0 | | LBFGS | 1 | 1 | 5.086537e+00 | 8.000000e+00 | 5.220869e-02 | 9.846711e-02 | 256 | | LBFGS | 1 | 2 | 3.862301e+00 | 5.000000e-01 | 3.796034e-01 | 5.998808e-01 | 256 | | LBFGS | 1 | 3 | 3.460613e+00 | 1.000000e+00 | 3.257790e-01 | 1.615091e-01 | 256 | | LBFGS | 1 | 4 | 3.136228e+00 | 1.000000e+00 | 2.832861e-02 | 8.006254e-02 | 256 | | LBFGS | 1 | 5 | 3.063978e+00 | 1.000000e+00 | 1.475038e-02 | 3.314455e-02 | 256 | |=================================================================================================================|
Mdl
является a RegressionKernel
моделью.
Стандартизируйте тестовые данные с помощью того же среднего и стандартного отклонения столбцов данных тренировки. Оцените нечувствительную к эпсилону ошибку для набора тестов.
Xtest = X(idxTest,:); Ztest = (Xtest-tr_mu)./tr_sigma; % Standardize the test data Ytest = Y(idxTest); L = loss(Mdl,Ztest,Ytest,'LossFun','epsiloninsensitive')
L = 2.0674
Продолжите обучение модель при помощи resume
с измененными опциями управления сходимостью.
[UpdatedMdl,UpdatedFitInfo] = resume(Mdl,Ztrain,Ytrain, ... 'BetaTolerance',2e-3,'GradientTolerance',2e-3);
|=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 0 | 3.063978e+00 | 0.000000e+00 | 1.475038e-02 | | 256 | | LBFGS | 1 | 1 | 3.007822e+00 | 8.000000e+00 | 1.391637e-02 | 2.603966e-02 | 256 | | LBFGS | 1 | 2 | 2.817171e+00 | 5.000000e-01 | 5.949008e-02 | 1.918084e-01 | 256 | | LBFGS | 1 | 3 | 2.807294e+00 | 2.500000e-01 | 6.798867e-02 | 2.973097e-02 | 256 | | LBFGS | 1 | 4 | 2.791060e+00 | 1.000000e+00 | 2.549575e-02 | 1.639328e-02 | 256 | | LBFGS | 1 | 5 | 2.767821e+00 | 1.000000e+00 | 6.154419e-03 | 2.468903e-02 | 256 | | LBFGS | 1 | 6 | 2.738163e+00 | 1.000000e+00 | 5.949008e-02 | 9.476263e-02 | 256 | | LBFGS | 1 | 7 | 2.719146e+00 | 1.000000e+00 | 1.699717e-02 | 1.849972e-02 | 256 | | LBFGS | 1 | 8 | 2.705941e+00 | 1.000000e+00 | 3.116147e-02 | 4.152590e-02 | 256 | | LBFGS | 1 | 9 | 2.701162e+00 | 1.000000e+00 | 5.665722e-03 | 9.401466e-03 | 256 | | LBFGS | 1 | 10 | 2.695341e+00 | 5.000000e-01 | 3.116147e-02 | 4.968046e-02 | 256 | | LBFGS | 1 | 11 | 2.691277e+00 | 1.000000e+00 | 8.498584e-03 | 1.017446e-02 | 256 | | LBFGS | 1 | 12 | 2.689972e+00 | 1.000000e+00 | 1.983003e-02 | 9.938921e-03 | 256 | | LBFGS | 1 | 13 | 2.688979e+00 | 1.000000e+00 | 1.416431e-02 | 6.606316e-03 | 256 | | LBFGS | 1 | 14 | 2.687787e+00 | 1.000000e+00 | 1.621956e-03 | 7.089542e-03 | 256 | |=================================================================================================================|
Оцените нечувствительную к эпсилону ошибку для набора тестов с помощью обновленной модели.
UpdatedL = loss(UpdatedMdl,Ztest,Ytest,'LossFun','epsiloninsensitive')
UpdatedL = 1.8891
Ошибочные уменьшения регрессии после resume
обновляют модель регрессии с меньшими допусками сходимости.
Отобразите выходные параметры FitInfo
и UpdatedFitInfo
.
FitInfo
FitInfo = struct with fields:
Solver: 'LBFGS-fast'
LossFunction: 'epsiloninsensitive'
Lambda: 0.0028
BetaTolerance: 0.0200
GradientTolerance: 0.0200
ObjectiveValue: 3.0640
GradientMagnitude: 0.0148
RelativeChangeInBeta: 0.0331
FitTime: 0.0674
History: [1x1 struct]
UpdatedFitInfo
UpdatedFitInfo = struct with fields:
Solver: 'LBFGS-fast'
LossFunction: 'epsiloninsensitive'
Lambda: 0.0028
BetaTolerance: 0.0020
GradientTolerance: 0.0020
ObjectiveValue: 2.6878
GradientMagnitude: 0.0016
RelativeChangeInBeta: 0.0071
FitTime: 0.1193
History: [1x1 struct]
Оба обучения останавливается, потому что программное обеспечение удовлетворяет абсолютный допуск градиента.
Постройте величину градиента по сравнению с количеством итераций при помощи UpdatedFitInfo.History.GradientMagnitude
. Обратите внимание на то, что поле History
UpdatedFitInfo
включает информацию в поле History
FitInfo
.
semilogy(UpdatedFitInfo.History.GradientMagnitude,'o-') ax = gca; ax.XTick = 1:21; ax.XTickLabel = UpdatedFitInfo.History.IterationNumber; grid on xlabel('Number of Iterations') ylabel('Gradient Magnitude')
Первое обучение останавливается после пяти итераций, потому что величина градиента становится меньше, чем 2e-2
. Второе обучение останавливается после 14 итераций, потому что величина градиента становится меньше, чем 2e-3
.
Mdl
— Модель регрессии ядраRegressionKernel
Модель регрессии ядра, заданная как объект модели RegressionKernel
. Можно создать объект модели RegressionKernel
с помощью fitrkernel
.
X
Данные о предикторе раньше обучали Mdl
Данные о предикторе раньше обучали Mdl
, заданный как n-by-p числовая матрица, где n является количеством наблюдений, и p является количеством предикторов.
Типы данных: single | double
Y
Данные об ответе раньше обучали Mdl
Данные об ответе раньше обучали Mdl
, заданный как числовой вектор.
Типы данных: double | single
resume
должен запуститься только на тех же данных тренировки (X
и Y
), и те же веса наблюдения (Weights
) раньше обучали Mdl
. Функция resume
использует те же опции обучения, такие как расширение функции, используемое, чтобы обучить Mdl
.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
UpdatedMdl = resume(Mdl,X,Y,'BetaTolerance',1e-3)
возобновляет обучение с теми же опциями, используемыми, чтобы обучить Mdl
, кроме относительного допуска на линейных коэффициентах и сроке смещения.'Weights'
— Веса наблюдения раньше обучали Mdl
Веса наблюдения раньше обучали Mdl
, заданный как пара, разделенная запятой, состоящая из 'Weights'
и положительный числовой вектор длины n
, где n
является количеством наблюдений в X
. Функция resume
взвешивает наблюдения в X
с соответствующими значениями в Weights
.
Значением по умолчанию является
.ones(n,1)/n
resume
нормирует Weights
, чтобы суммировать к 1.
Пример: 'Weights',w
Типы данных: single | double
'BetaTolerance'
— Относительный допуск на линейных коэффициентах и сроке смещенияBetaTolerance
раньше обучало Mdl
(значение по умолчанию) | неотрицательный скалярОтносительный допуск на линейных коэффициентах и сроке смещения (прерывание), заданное как пара, разделенная запятой, состоящая из 'BetaTolerance'
и неотрицательного скаляра.
Пусть , то есть, вектор коэффициентов и смещения называет в итерации оптимизации t. Если , затем оптимизация останавливается.
Если вы также задаете GradientTolerance
, то оптимизация останавливается, когда программное обеспечение удовлетворяет любой критерий остановки.
По умолчанию значение является тем же значением BetaTolerance
, используемым, чтобы обучить Mdl
.
Пример: 'BetaTolerance',1e-6
Типы данных: single | double
'GradientTolerance'
— Абсолютный допуск градиентаGradientTolerance
раньше обучало Mdl
(значение по умолчанию) | неотрицательный скалярАбсолютный допуск градиента, заданный как пара, разделенная запятой, состоящая из 'GradientTolerance'
и неотрицательного скаляра.
Пусть будьте вектором градиента целевой функции относительно коэффициентов, и смещение называют в итерации оптимизации t. Если , затем оптимизация останавливается.
Если вы также задаете BetaTolerance
, то оптимизация останавливается, когда программное обеспечение удовлетворяет любой критерий остановки.
По умолчанию значение является тем же значением GradientTolerance
, используемым, чтобы обучить Mdl
.
Пример: 'GradientTolerance',1e-5
Типы данных: single | double
'IterationLimit'
— Максимальное количество дополнительных итераций оптимизацииМаксимальное количество дополнительных итераций оптимизации, заданных как пара, разделенная запятой, состоящая из 'IterationLimit'
и положительного целого числа.
Значение по умолчанию 1000, если преобразованные совпадения данных в памяти (Mdl.ModelParameters.BlockSize
), который вы задаете при помощи аргумента пары "имя-значение" 'BlockSize'
когда учебный Mdl
с fitrkernel
. В противном случае значение по умолчанию равняется 100.
Обратите внимание на то, что значение по умолчанию не является значением, используемым, чтобы обучить Mdl
.
Пример: 'IterationLimit',500
Типы данных: single | double
UpdatedMdl
— Обновленная модель регрессии ядраRegressionKernel
Обновленная модель регрессии ядра, возвращенная как объект модели RegressionKernel
.
FitInfo
— Детали оптимизацииДетали оптимизации, возвращенные как массив структур включая поля, описаны в этой таблице. Поля содержат спецификации аргумента пары "имя-значение" или окончательные значения.
Поле | Описание |
---|---|
Solver |
Метод минимизации целевой функции: |
LossFunction | Функция потерь. Или среднеквадратическая ошибка (MSE) или нечувствительный к эпсилону, в зависимости от типа модели линейной регрессии. Смотрите Learner fitrkernel . |
Lambda | Сила срока регуляризации. Смотрите Lambda fitrkernel . |
BetaTolerance | Относительный допуск на линейных коэффициентах и сроке смещения. Смотрите BetaTolerance . |
GradientTolerance | Абсолютный допуск градиента. Смотрите GradientTolerance . |
ObjectiveValue | Значение целевой функции, когда оптимизация останавливается. Потеря регрессии плюс срок регуляризации составляет целевую функцию. |
GradientMagnitude | Норма Бога вектора градиента целевой функции, когда оптимизация останавливается. Смотрите GradientTolerance . |
RelativeChangeInBeta | Относительные изменения в линейных коэффициентах и смещении называют, когда оптимизация останавливается. Смотрите BetaTolerance . |
FitTime | Прошедшее, тактовое стеной время (в секундах) требуемый соответствовать модели к данным. |
History | История информации об оптимизации. Это поле также включает информацию об оптимизации от учебного Mdl . Это поле пусто ([] ), если вы задаете 'Verbose',0 когда учебный Mdl . Для получения дополнительной информации смотрите Verbose и раздел Algorithms fitrkernel . |
К полям доступа используйте запись через точку. Например, чтобы получить доступ к вектору значений целевой функции для каждой итерации, введите FitInfo.ObjectiveValue
в Командном окне.
Исследуйте информацию, предоставленную FitInfo
, чтобы оценить, является ли сходимость удовлетворительной.
Случайное расширение функции, такое как Случайные Раковины [1] и Быстрое питание [2], является схемой аппроксимировать Гауссовы ядра алгоритма регрессии ядра для больших данных в вычислительном отношении эффективным способом. Случайное расширение функции более практично для больших применений данных, которые имеют большие наборы обучающих данных, но могут также быть применены к меньшим наборам данных, которые умещаются в памяти.
Алгоритм регрессии ядра ищет оптимальную функцию, которая отклоняется от каждой точки данных ответа (yi) значениями, не больше, чем поле эпсилона (ε) после отображения данных о предикторе в высокое мерное пространство.
Некоторые проблемы регрессии не могут быть описаны соответственно с помощью линейной модели. В таких случаях получите нелинейную модель регрессии, заменив скалярное произведение x 1x2 ′ с нелинейной функцией ядра , где xi является i th наблюдение (вектор - строка), и φ (xi) является преобразованием, которое сопоставляет xi с высоким мерным пространством (названный “приемом ядра”). Однако оценивая G (x 1, x 2), матрица Грамма, для каждой пары наблюдений является в вычислительном отношении дорогой для большого набора данных (большой n).
Случайная схема расширения функции находит случайное преобразование так, чтобы его скалярное произведение аппроксимировало Гауссово ядро. Таким образом,
где T (x) сопоставляет x в к высокому мерному пространству (). Схема Random Kitchen Sink [1] использует случайное преобразование
где выборка, чертившая от и σ 2 является шкалой ядра. Эта схема требует O (m p) вычисление и устройство хранения данных. Схема Fastfood [2] вводит другое случайное основание V вместо Z с помощью матриц Адамара, объединенных с Гауссовыми матрицами масштабирования. Это случайное основание уменьшает стоимость вычисления для O (m log
p) и уменьшает устройство хранения данных до O (m).
Можно задать значения для m и σ 2, с помощью аргументов пары "имя-значение" NumExpansionDimensions
и KernelScale
fitrkernel
, соответственно.
Функция fitrkernel
использует схему Fastfood случайного расширения функции и использует линейную регрессию, чтобы обучить Гауссову модель регрессии ядра. В отличие от решателей в функции fitrsvm
, которые требуют вычисления n-by-n матрица Грамма, решатель в fitrkernel
только должен сформировать матрицу размера n-by-m с m обычно намного меньше, чем n для больших данных.
Указания и ограничения по применению:
Значение по умолчанию для аргумента пары "имя-значение" 'IterationLimit'
ослабляется к 20, когда вы работаете с длинными массивами.
resume
использует мудрую блоком стратегию. Для получения дополнительной информации смотрите раздел Algorithms fitrkernel
.
Для получения дополнительной информации смотрите Длинные массивы (MATLAB).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.