exponenta event banner

резюме

Класс: RegingSVM

Возобновить модель регрессии вектора поддержки обучения

Синтаксис

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 является значением, которое 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