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

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

Примечание

Поскольку оптимизация гиперпараметра может привести к избыточной модели, рекомендуемый подход состоит в том, чтобы создать отдельный тестовый набор перед импортом ваших данных в приложение Regression Learner. После обучения оптимизируемой модели, можно увидеть, как она работает на вашем тестовом наборе. Для получения примера смотрите Регрессионную модель Train Используя Оптимизацию Гипероптимизации параметров управления в Приложении Regression Learner.

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

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

    Примечание

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

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

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

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

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

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

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

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

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

  • Surrogate decision splits

  • Maximum surrogates per node

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

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

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

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

  • Epsilon - программа ищет среди положительных значений, логарифмированных в области значений [0.001,100]*iqr(Y)/1.349, где Y - переменная отклика.

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

 

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

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

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

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

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

Optimizable GPR
  • Basis function - Программное обеспечение ищет среди Zero, Constant, и Linear.

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

    • Nonisotropic Rational Quadratic

    • Isotropic Rational Quadratic

    • Nonisotropic Squared Exponential

    • Isotropic Squared Exponential

    • Nonisotropic Matern 5/2

    • Isotropic Matern 5/2

    • Nonisotropic Matern 3/2

    • Isotropic Matern 3/2

    • Nonisotropic Exponential

    • Isotropic Exponential

  • Kernel scale - программа ищет среди вещественных значений в области значений [0.001,1]*XMaxRange, где XMaxRange = max(max(X) – min(X)) и X - данные предиктора.

  • Sigma - программа ищет среди вещественных значений в области значений [0.0001,max(0.001,10*std(Y))], где Y - переменная отклика.

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

  • Signal standard deviation

  • Optimize numeric parameters

  • Оптимизируемый по Kernel function гиперпараметр объединяет Kernel function и Use isotropic kernel расширенные опции предустановленных гауссовских моделей процесса.

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

  • Оптимизируемый по Sigma гиперпараметр объединяет Sigma mode и Sigma расширенные опции предустановленных гауссовских моделей процесса.

  • Когда вы оптимизируете Kernel scale функций изотропного ядра, оптимизируется только шкала ядра, а не стандартное отклонение сигнала. Можно либо задать Signal standard deviation значение, либо использовать его значение по умолчанию.

    Вы не можете оптимизировать Kernel scale неизотропных функций ядра.

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

Optimizable Ensemble
  • Ensemble method - Программное обеспечение ищет среди Bag и LSBoost.

  • Minimum leaf size - программа ищет среди целых чисел, логарифмированных в области значений [1,max(2,floor(n/2))], где n количество наблюдений.

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

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

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

 
  • The Bag значение Ensemble method оптимизируемого гиперпараметра задает модель Bagged Trees. Точно так же LSBoost Ensemble method значение задает модель Boosted Trees.

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

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

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

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

Можно задать, как выполняется настройка гиперпараметра. Для примера можно изменить метод оптимизации на поиск по сетке или ограничить время обучения. На вкладке Regression 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.

Минимальный график MSE

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

Примечание

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

График минимальной квадратичной невязки (MSE) отображает следующую информацию:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие темы