Гипероптимизация параметров управления в приложении Classification Learner

После выбора определенного типа модели для обучения, например дерева решений или машины опорных векторов (SVM), можно настроить модель, выбрав различные расширенные опции. Для примера можно изменить максимальное количество разделений для дерева решений или прямоугольного ограничения SVM. Некоторые из этих опций являются внутренними параметрами модели, или гиперпараметрами, которые могут сильно повлиять на ее эффективность. Вместо того, чтобы вручную выбирать эти опции, можно использовать оптимизацию гипероптимизации параметров управления в приложении Classification Learner, чтобы автоматизировать выбор значений гиперзначений параметров. Для заданного типа модели приложение пробует различные комбинации значений гиперзначений параметров с помощью схемы оптимизации, которая стремится минимизировать ошибку классификации модели и возвращает модель с оптимизированными гиперпараметрами. Можно использовать получившуюся модель так же, как и любую другую обученную модель.

Примечание

Поскольку оптимизация гиперпараметра может привести к избыточной модели, рекомендуемый подход состоит в том, чтобы создать отдельный тестовый набор перед импортом ваших данных в приложение Classification Learner. После обучения оптимизируемой модели, можно увидеть, как она работает на вашем тестовом наборе. Для получения примера смотрите Train Classifier Using Гипероптимизации параметров управления Optimization in Classification Learner Приложения.

Чтобы выполнить оптимизацию гипероптимизации параметров управления в Classification Learner, выполните следующие шаги:

  1. Выберите тип модели и решите, какие гиперпараметры оптимизировать. См. «Выбор гиперпараметров для оптимизации».

    Примечание

    Гипероптимизация параметров управления не поддерживается для моделей логистической регрессии или нейронной сети.

  2. (Необязательно) Укажите, как выполняется оптимизация. Для получения дополнительной информации см. Опции оптимизации.

  3. Обучите свою модель. Используйте график минимальной ошибки классификации, чтобы отследить результаты оптимизации.

  4. Осмотрите свою обученную модель. Смотрите Результаты Оптимизации.

Выберите гиперпараметры для оптимизации

В приложении Classification Learner, в Model Type разделе вкладки Classification Learner, щелкните стреле, чтобы открыть галерею. Галерея включает оптимизируемые модели, которые можно обучить с помощью оптимизации гипероптимизации параметров управления.

После выбора оптимизируемой модели можно выбрать, какой из ее гиперпараметров необходимо оптимизировать. В Model Type разделе выберите Advanced > Advanced. Приложение открывает диалоговое окно, в котором можно установить Optimize флажки для гиперпараметров, которые вы хотите оптимизировать. В разделе Values задайте фиксированные значения для гиперпараметров, которые вы не хотите оптимизировать или которые не оптимизируются.

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

МодельОптимизируемые гиперпараметрыДополнительные гиперпараметрыПримечания
Optimizable Tree
  • Maximum number of splits - программа ищет среди целых чисел, логарифмированных в области значений [1,max(2,n–1)], где n количество наблюдений.

  • Split criterion - Программное обеспечение ищет среди Gini's diversity index, Twoing rule, и Maximum deviance reduction.

  • Surrogate decision splits

  • Maximum surrogates per node

Для получения дополнительной информации см. Раздел «Дополнительные опции дерева».

Optimizable Discriminant
  • Discriminant type - Программное обеспечение ищет среди Linear, Quadratic, Diagonal Linear, и Diagonal Quadratic.

 
  • Оптимизируемый по Discriminant type гиперпараметр сочетает предустановленные типы модели (Linear Discriminant и Quadratic Discriminant) с Covariance structure расширенной опцией предустановленных моделей.

Для получения дополнительной информации см. Раздел «Расширенные опции дискриминации».

Optimizable Naive Bayes
  • Distribution names - Программное обеспечение ищет между Gaussian и Kernel.

  • Kernel type - Программное обеспечение ищет среди Gaussian, Box, Epanechnikov, и Triangle.

  • Support

  • The Gaussian значение Distribution names оптимизируемого гиперпараметра задает модель Gaussian Naive Bayes. Точно так же Kernel Distribution names значение задает модель Kernel Naive Bayes.

Для получения дополнительной информации смотрите Расширенные наивные опции Байеса.

Optimizable SVM
  • Kernel function - Программное обеспечение ищет среди Gaussian, Linear, Quadratic, и Cubic.

  • Box constraint level - программа ищет среди положительных значений, логарифмированных в области значений [0.001,1000].

  • Kernel scale - программа ищет среди положительных значений, логарифмированных в области значений [0.001,1000].

  • Multiclass method - Программное обеспечение ищет между One-vs-One и One-vs-All.

  • Standardize data - Программное обеспечение ищет между true и false.

 

  • Оптимизируемый по Kernel scale гиперпараметр сочетает в себе Kernel scale mode и Manual kernel scale расширенные опции предустановленных моделей SVM.

  • Оптимизировать Kernel scale оптимизируемый гиперпараметр можно только тогда, когда значение Kernel function Gaussian. Если вы не задаете значение для Kernel scale путем снятия флажка Optimize, приложение использует Manual значение 1 по умолчанию, когда Kernel function имеет значение, отличное от Gaussian.

Дополнительные сведения см. в разделе Дополнительные опции SVM.

Optimizable KNN
  • Number of neighbors - программа ищет среди целых чисел, логарифмированных в области значений [1,max(2,round(n/2))], где n количество наблюдений.

  • Distance metric - Программное обеспечение ищет среди:

    • Euclidean

    • City block

    • Chebyshev

    • Minkowski (cubic)

    • Mahalanobis

    • Cosine

    • Correlation

    • Spearman

    • Hamming

    • Jaccard

  • Distance weight - Программное обеспечение ищет среди Equal, Inverse, и Squared inverse.

  • Standardize - Программное обеспечение ищет между true и false.

 

Для получения дополнительной информации см. раздел Дополнительные опции KNN.

Optimizable Ensemble
  • Ensemble method - Программное обеспечение ищет среди AdaBoost, RUSBoost, LogitBoost, GentleBoost, и Bag.

  • Maximum number of splits - программа ищет среди целых чисел, логарифмированных в области значений [1,max(2,n–1)], где n количество наблюдений.

  • Number of learners - программа ищет среди целых чисел, логарифмированных в области значений [10,500].

  • Learning rate - программа ищет среди вещественных значений, логарифмированных в области значений [0.001,1].

  • Number of predictors to sample - программа ищет среди целых чисел в области значений [1,max(2,p)], где p - количество переменных предиктора.

  • Learner type

  • The AdaBoost, LogitBoost, и GentleBoost значения Ensemble method оптимизируемого гиперпараметра определяют модель Boosted Trees. Точно так же RUSBoost Ensemble method значение задает модель RUSBoosted Trees, и Bag Ensemble method значение задает модель Bagged Trees.

  • The LogitBoost и GentleBoost значения доступны только для двоичной классификации.

  • Оптимизируемый по Number of predictors to sample гиперпараметр недоступен в продвинутых опциях предустановленных моделей ансамбля.

  • Оптимизировать Number of predictors to sample оптимизируемый гиперпараметр можно только тогда, когда значение Ensemble method Bag. Если вы не задаете значение для Number of predictors to sample путем снятия флажка Optimize, приложение использует значение по умолчанию Select All, когда Ensemble method имеет значение, отличное от Bag.

Для получения дополнительной информации см. раздел «Дополнительные опции ансамбля».

Опции оптимизации

По умолчанию приложение Classification Learner выполняет настройку гиперпараметра с помощью байесовской оптимизации. Цель байесовской оптимизации и оптимизации в целом состоит в том, чтобы найти точку, которая минимизирует целевую функцию. В контексте настройки гиперпараметра в приложении точка является набором значений гиперзначений параметров, и целевой функцией является функция потерь или ошибка классификации. Для получения дополнительной информации об основах байесовской оптимизации см. Bayesian Optimization Workflow.

Можно задать, как выполняется настройка гиперпараметра. Для примера можно изменить метод оптимизации на поиск по сетке или ограничить время обучения. На вкладке Classification Learner, в разделе Model Type, выберите Advanced > Optimizer Options. Приложение открывает диалоговое окно, в котором можно выбрать опции оптимизации.

В этой таблице описываются доступные опции оптимизации и их значения по умолчанию.

ОпцияОписание
Optimizer

Значения оптимизатора:

  • Bayesopt (по умолчанию) - Используйте байесовскую оптимизацию. Внутренне приложение вызывает bayesopt функция.

  • Grid search - Используйте поиск по сетке с количеством значений на размерность, определяемым Number of grid divisions значением. Приложение ищет в случайном порядке, используя равномерную выборку без замены от сетки.

  • Random search - Поиск случайным образом среди точек, где число точек соответствует Iterations значению.

Acquisition function

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

Значения функции сбора:

  • Expected improvement per second plus (по умолчанию)

  • Expected improvement

  • Expected improvement plus

  • Expected improvement per second

  • Lower confidence bound

  • Probability of improvement

Для получения дополнительной информации о том, как эти функции приобретения работают в контексте байесовской оптимизации, смотрите Типы функций приобретения.

Iterations

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

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

Training time limitЧтобы установить предел по времени обучения, выберите эту опцию и установите опцию Maximum training time in seconds. По умолчанию приложение не имеет предела по времени обучения.
Maximum training time in secondsУстановите предельное время обучения в секундах как положительное реальное число. Значение по умолчанию 300. Время запуска может превысить предел времени обучения, поскольку этот предел не прерывает оценку итерации.
Number of grid divisionsКогда вы используете поиск по сетке, задайте положительное целое число как количество значений, которые приложение пробует для каждого числового гиперпараметра. Приложение игнорирует это значение для категориальных гиперпараметров. Значение по умолчанию 10.

График минимальной ошибки классификации

После определения того, какие гиперпараметры модели оптимизировать и настройки любых дополнительных опций оптимизации (необязательно), обучите свою оптимизируемую модель. На вкладке Classification Learner, в разделе Training, нажмите Train. Приложение создает Minimum Classification Error Plot, которую оно обновляет при запуске оптимизации.

Примечание

Когда вы обучаете оптимизируемую модель, приложение отключает кнопку Use Parallel. После завершения обучения приложение снова делает кнопку доступной, когда вы выбираете неоптимизируемую модель. Кнопка отключена по умолчанию.

Минимальный график ошибки классификации отображает следующую информацию:

  • Estimated minimum classification error - Каждая светло-синяя точка соответствует оценке минимальной ошибки классификации, вычисленной процессом оптимизации при рассмотрении всех наборов значений гиперзначений параметров, проверенных до сих пор, включая текущую итерацию.

    Оценка основана на верхнем доверительном интервале текущей целевой модели ошибки классификации, как упомянуто в Bestpoint hyperparameters описании.

    Если вы используете поиск по сетке или случайный поиск для оптимизации гипероптимизации параметров управления, приложение не отображает эти светло-синие точки.

  • Observed minimum classification error - Каждая темно-синяя точка соответствует наблюдаемой минимальной ошибке классификации, вычисленной до сих пор процессом оптимизации. Для примера при третьей итерации темно-синяя точка соответствует минимуму ошибки классификации, наблюдаемой в первой, второй и третьей итерациях.

  • Bestpoint hyperparameters - красный квадрат указывает итерацию, которая соответствует оптимизированным гиперпараметрам. Вы можете найти значения оптимизированных гиперпараметров, перечисленные в правом верхнем углу графика под Optimization Results.

    Оптимизированные гиперпараметры не всегда обеспечивают наблюдаемую минимальную ошибку классификации. Когда приложение выполняет настройку гиперпараметра с помощью байесовской оптимизации (см. Опции оптимизации для краткого введения), оно выбирает набор значений гиперзначений параметров, который минимизирует верхний доверительный интервал целевой модели ошибки классификации, а не набор, который минимизирует ошибку классификации. Для получения дополнительной информации смотрите 'Criterion','min-visited-upper-confidence-interval' Аргумент пары "имя-значение" из bestPoint.

  • Minimum error hyperparameters - желтая точка указывает итерацию, которая соответствует гиперпараметрам, которые дают наблюдаемую минимальную ошибку классификации.

    Для получения дополнительной информации смотрите 'Criterion','min-observed' Аргумент пары "имя-значение" из bestPoint.

    Если вы используете поиск по сетке для выполнения оптимизации гипероптимизации параметров управления, Bestpoint hyperparameters и Minimum error hyperparameters совпадают.

Отсутствующие точки на графике соответствуют NaN минимальные значения ошибок классификации.

Результаты оптимизации

Когда приложение заканчивает настройку гиперпараметров модели, оно возвращает модель, обученную с оптимизированными значениями гиперзначений параметров (Bestpoint hyperparameters). Метрики модели, отображенные графики и экспортированная модель соответствуют этой обученной модели с фиксированными значениями гиперзначений параметров.

Чтобы просмотреть результаты оптимизации обученной оптимизируемой модели, выберите модель на панели Models и проверьте панель Current Model Summary.

Панель Current Model Summary включает следующие разделы:

  • Training Results - Показывает эффективность оптимизируемой модели

  • Model Type - отображает тип оптимизируемой модели и приводит все фиксированные значения гиперзначений параметров

  • Optimized Hyperparameters - перечисляет значения оптимизированных гиперпараметров

  • Hyperparameter Search Range - отображает области значений поиска для оптимизированных гиперпараметров

  • Optimizer Options - Показывает выбранные опции оптимизатора

Когда вы выполняете настройку гиперпараметра с помощью байесовской оптимизации и экспортируете полученную обученную оптимизируемую модель в рабочую область как структуру, структура включает в себя BayesianOptimization объект в HyperParameterOptimizationResult поле. Объект содержит результаты оптимизации, выполненной в приложении.

Когда вы генерируете MATLAB® код из обученной оптимизируемой модели, сгенерированный код использует фиксированные и оптимизированные значения гиперзначений параметров модели, чтобы обучаться на новых данных. Сгенерированный код не включает процесс оптимизации. Для получения информации о том, как выполнить байесовскую оптимизацию при использовании функции подгонки, смотрите Байесовскую оптимизацию с использованием функции подгонки.

Похожие темы