resume

Класс: RegressionSVM

Возобновите обучение машины опорных векторов регрессионую модель

Синтаксис

updatedMdl = resume(mdl,numIter)
updatedMdl = resume(mdl,numIter,Name,Value)

Описание

updatedMdl = resume(mdl,numIter) возвращает обновленную регрессионую модель машины опорных векторов (SVM), updatedMdl, путем настройки модели для дополнительного количества итераций, заданных numIter.

resume применяет те же опции обучения к updatedMdl который вы устанавливаете при использовании fitrsvm для обучения mdl.

updatedMdl = resume(mdl,numIter,Name,Value) возвращает обновленную регрессионую модель SVM с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

Входные параметры

расширить все

Полная, обученная регрессионая модель SVM, заданная как RegressionSVM модель, обученная с использованием fitrsvm.

Количество итераций для продолжения настройки регрессионой модели SVM, заданное в виде положительного целого значения.

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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Уровень подробностей, заданный как разделенная разделенными запятой парами, состоящая из 'Verbose' и любой из них 0, 1, или 2. Verbose управляет объемом информации об оптимизации, которую программное обеспечение отображает в Командном окне и сохраняется в модели следующим mdl.ModelParameters.VerbosityLevel.

По умолчанию Verbose - значение, которое fitrsvm используется для обучения mdl.

Пример: 'Verbose',1

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

Количество итераций между распечатками диагностических сообщений, заданное как разделенная разделенными запятой парами, состоящая из 'NumPrint' и неотрицательное целое число.

Если вы задаете 'Verbose',1 и 'NumPrint',numprintзатем программа отображает диагностические сообщения оптимизации в Командном окне каждое numprint число итераций.

По умолчанию NumPrint - значение, которое fitrsvm используется для обучения mdl.

Пример: 'NumPrint',500

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

Выходные аргументы

расширить все

Обновленная регрессионая модель SVM, возвращенная как RegressionSVM модель.

Примеры

расширить все

Этот пример показывает, как возобновить обучение регрессионой модели SVM, которая не смогла сходиться, не перезапустив весь процесс обучения.

Загрузите carsmall набор данных.

load carsmall
rng default  % for reproducibility

Задайте Acceleration, Cylinders, Displacement, Horsepower, и Weight как переменные предиктора (X) и MPG как переменная отклика (Y).

X = [Acceleration,Cylinders,Displacement,Horsepower,Weight];
Y = MPG;

Обучите линейную регрессионую модель SVM. В целях рисунка установите предел итерации 50. Стандартизируйте данные.

mdl = fitrsvm(X,Y,'IterationLimit',50,'Standardize',true);

Проверьте, что модель сходилась.

mdl.ConvergenceInfo.Converged
ans =

     0

Возвращенное значение 0 указывает, что модель не сходилась.

Возобновите обучение модели для дополнительных 100 итераций.

updatedMdl = resume(mdl,100);

Проверьте, что обновленная модель сходилась.

updatedMdl.ConvergenceInfo.Converged
ans =

     1

Возвращенное значение 1 указывает, что обновленная модель действительно сходилась.

Проверьте причину сходимости и общее количество требуемых итераций.

updatedMdl.ConvergenceInfo.ReasonForConvergence
updatedMdl.NumIterations
ans =

FeasibilityGap


ans =

    97

Модель сходилась, потому что погрешность выполнимости достигла значения допуска после 97 итераций.

Совет

Если оптимизация не сходилась и 'Solver' установлено в 'SMO' или 'ISDA', затем попытайтесь возобновить обучение регрессионной модели SVM.

См. также

|

Введенный в R2015b