Возобновите обучение модели регрессии Гауссова ядра
продолжает обучение с теми же опциями, что и для обучения UpdatedMdl
= resume(Mdl
,X
,Y
)Mdl
, включая обучающие данные (данные предиктора в X
и данные отклика в Y
) и расширение функции. Обучение начинается с текущих расчетных параметров в Mdl
. Функция возвращает новую регрессионую модель Гауссова ядра UpdatedMdl
.
продолжает обучение с данными предиктора в UpdatedMdl
= resume(Mdl
,Tbl
,ResponseVarName
)Tbl
и истинные ответы в Tbl.ResponseVarName
.
продолжает обучение с данными предиктора в таблице UpdatedMdl
= resume(Mdl
,Tbl
,Y
)Tbl
и истинные ответы в Y
.
задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к любой комбинации входных аргументов в предыдущих синтаксисах. Для примера можно изменить опции управления сходимостью, такие как допуски сходимости и максимальное количество дополнительных итераций оптимизации.UpdatedMdl
= resume(___,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
является 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
является 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.0501
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.0675
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
Tbl
- Выборочные данные, используемых для обучения Mdl
Выборочные данные, используемых для обучения Mdl
, заданный как таблица. Каждая строка Tbl
соответствует одному наблюдению, и каждый столбец соответствует одной переменной предиктора. Опционально Tbl
может содержать дополнительные столбцы для переменной отклика и весов наблюдений. Tbl
должны содержать все предикторы, используемые для обучения Mdl
. Многополюсные переменные и массивы ячеек, отличные от массивов ячеек векторов символов, не разрешены.
Если вы тренировались Mdl
используя выборочные данные, содержащуюся в таблице, затем входные данные для resume
также должно быть в таблице.
Примечание
resume
должен запускаться только на тех же обучающих данных и весах наблюдений (Weights
) используется для обучения Mdl
. resume
функция использует те же опции обучения, такие как расширение признака, используемые для обучения Mdl
.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
UpdatedMdl = resume(Mdl,X,Y,'BetaTolerance',1e-3)
возобновляет обучение с теми же опциями, что и для обучения Mdl
, за исключением относительной погрешности от линейных коэффициентов и термина смещения.'Weights'
- Веса наблюдений, используемые для обучения Mdl
Tbl
Веса наблюдений, используемые для обучения Mdl
, заданная как разделенная разделенными запятой парами, состоящая из 'Weights'
и числовой вектор или имя переменной в Tbl
.
Если Weights
является числовым вектором, затем размером Weights
должно быть равно количеству строк в X
или Tbl
.
Если Weights
- имя переменной в Tbl
, необходимо указать Weights
как вектор символов или строковый скаляр. Для примера, если веса сохранены как Tbl.W
, затем задайте Weights
как 'W'
. В противном случае программное обеспечение обрабатывает все столбцы Tbl
, включая Tbl.W
, как предикторы.
Если вы поставляете веса наблюдений, resume
нормализует Weights
в сумму до 1.
Типы данных: double
| single
| char
| string
'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 и раздел «Алгоритмы» fitrkernel . |
Для доступа к полям используйте запись через точку. Для примера, чтобы получить доступ к вектору значений целевой функции для каждой итерации, введите FitInfo.ObjectiveValue
в Командном окне.
Исследуйте информацию, предоставленную FitInfo
оценить, является ли сходимость удовлетворительной.
Расширение случайных функций, такое как Random Kitchen Sinks [1] и Fastfood [2], является схемой для аппроксимации Гауссовых ядер алгоритма регрессии ядра для больших данных вычислительно эффективным способом. Расширение случайных функций более практично для приложений больших данных, которые имеют большие наборы обучающих данных, но могут также применяться к меньшим наборам данных, которые помещаются в памяти.
Алгоритм регрессии ядра ищет оптимальную функцию, которая отклоняется от каждой точки данных отклика (yi) на значения, не большие, чем запас эпсилона (ε), после отображения данных предиктора в высоко-размерное пространство.
Некоторые регрессионные задачи не могут быть описаны адекватно с помощью линейной модели. В таких случаях получите нелинейную регрессионую модель путем замены точечного произведения x 1 x 2 ′ на нелинейную функцию ядра , где xi - i-е наблюдение (вектор-строка) и φ (xi) - преобразование, которое преобразует xi в высокомерное пространство (называемое «трюком ядра»). Однако оценка G (x 1, x 2), матрицы Грамма, для каждой пары наблюдений является вычислительно дорогой для большого набора данных (больших n).
Схема расширения случайных функций находит случайное преобразование, так что ее точечный продукт аппроксимирует Гауссово ядро. То есть,
где T (x) карты x в в высокомерное пространство (). Схема Random Kitchen Sink [1] использует случайное преобразование
где является выборкой, нарисованной из и σ2 является шкалой ядра. Эта схема требует O (m p) расчета и хранения. Схема Фастфуда [2] вводит другой случайный базис V вместо того, чтобы Z с использованием матриц Адамара, объединенных с матрицами Гауссова масштабирования. Этот случайный базис снижает расчет затраты до O (m log
p) и сокращает объем памяти до O (m ).
Можно задать значения для m и σ2, с использованием NumExpansionDimensions
и KernelScale
Аргументы пары "имя-значение" из fitrkernel
, соответственно.
fitrkernel
функция использует схему Fastfood для случайного расширения признаков и использует линейную регрессию, чтобы обучить регрессионую модель Гауссова ядра. В отличие от решателей в fitrsvm
функция, которая требует расчета n -by n Gram матрицы, решателя вfitrkernel
нужно только сформировать матрицу размера n -by - m, причем m обычно намного меньше, чем n для больших данных.
Указания и ограничения по применению:
resume
не поддерживает высокие table
данные.
Значение по умолчанию для 'IterationLimit'
аргумент пары "имя-значение" ослаблен до 20, когда вы работаете с длинные массивы.
resume
использует блочную стратегию. Для получения дополнительной информации смотрите раздел Алгоритмы fitrkernel
.
Для получения дополнительной информации см. Раздел «Длинные массивы»
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.