Возобновление обучения модели регрессии ядра Гаусса
продолжает обучение с теми же вариантами, которые используются для обучения 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
Регрессионная ошибка уменьшается примерно в 1 раз 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-за-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' - Наблюдательные веса, используемые для обучения MdlTblНаблюдательные веса, используемые для обучения 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' и неотрицательный скаляр.
Пусть bt], то есть вектор коэффициентов и член смещения при итерации оптимизации т. Bt−Bt−1Bt‖2<BetaTolerance, то оптимизация заканчивается.
Если также указать GradientTolerance, то оптимизация завершается, когда программное обеспечение удовлетворяет любому критерию остановки.
По умолчанию значение совпадает BetaTolerance значение, используемое для обучения Mdl.
Пример: 'BetaTolerance',1e-6
Типы данных: single | double
'GradientTolerance' - Абсолютный градиентный допускGradientTolerance значение, используемое для обучения Mdl (по умолчанию) | неотрицательный скалярАбсолютный градиентный допуск, заданный как разделенная запятыми пара, состоящая из 'GradientTolerance' и неотрицательный скаляр.
Пусть является градиентным вектором целевой функции относительно коэффициентов и члена смещения при итерации оптимизации T. Если ∇ℒt‖∞=max|∇ℒt|<GradientTolerance, то оптимизация заканчивается.
Если также указать 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) на значения, не превышающие эпсилонный запас (start) после отображения данных предиктора в высокомерное пространство.
Некоторые проблемы регрессии не могут быть адекватно описаны с помощью линейной модели. В таких случаях получить модель нелинейной регрессии, заменив скалярное произведение x1x2 ′ на нелинейную функцию ядра start( x2) 〉, где xi - i-е наблюдение (вектор строки) и start( xi) - преобразование, отображающее xi в высокомерное пространство (называемое «трюк ядра»). Однако оценка G (x1, x2), матрицы Грама, для каждой пары наблюдений является вычислительно дорогостоящей для большого набора данных (большое n).
Схема случайного расширения признаков находит случайное преобразование так, что её скалярное произведение аппроксимирует гауссово ядро. То есть
x1) T (x2) ',
где T (x) отображает x в ℝp в высокомерное пространство ℝm). Схема Random Kitchen Sink [1] использует случайное преобразование
iZx ')',
где - выборка, взятая из − 2), а start2 - шкала ядра. Эта схема требует O (mp) вычислений и хранения. Схема Fastfood [2] вводит другой случайный базис V вместо Z с использованием матриц Адамара, объединенных с гауссовыми матрицами масштабирования. Этот случайный базис снижает затраты на вычисления до O (mlogр) и уменьшает объем хранения до O (м ).
Можно задать значения для m и start2, используя NumExpansionDimensions и KernelScale аргументы пары имя-значение fitrkernelсоответственно.
fitrkernel функция использует схему Fastfood для случайного расширения признаков и использует линейную регрессию для обучения модели регрессии ядра Гаусса. В отличие от решателей в fitrsvm функция, которая требует вычисления матрицы n-на-n Gram, решателя в fitrkernel требуется только сформировать матрицу размера n-by-m, где m обычно намного меньше, чем n для больших данных.
Примечания и ограничения по использованию:
resume не поддерживает высокий table данные.
Значение по умолчанию для 'IterationLimit' аргумент пары имя-значение смягчается до 20 при работе с массивами tall.
resume использует блочную стратегию. Дополнительные сведения см. в разделе Алгоритмы fitrkernel.
Дополнительные сведения см. в разделе Массивы Tall.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.