exponenta event banner

Оптимизация гиперпараметров в приложении для учащихся с регрессией

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

Примечание

Поскольку оптимизация гиперпараметров может привести к переоборудованию модели, рекомендуется создать отдельный тестовый набор перед импортом данных в приложение «Обучающийся регрессии». Пример см. в разделе Модель регрессии поезда с использованием оптимизации гиперпараметров в приложении для обучения регрессии.

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

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

    Примечание

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

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

  3. Тренируйте свою модель. Для отслеживания результатов оптимизации используется «График минимальной MSE» (Minimum MSE Plot).

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

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

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

После выбора оптимизируемой модели можно выбрать, какой из ее гиперпараметров требуется оптимизировать. В разделе Тип модели (Model Type) выберите Дополнительно (Advanced) > Дополнительно (Advanced). Приложение открывает диалоговое окно, в котором можно установить флажки Оптимизировать для гиперпараметров, которые требуется оптимизировать. В разделе Значения (Values) укажите фиксированные значения гиперпараметров, которые не требуется оптимизировать или которые нельзя оптимизировать.

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

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

  • Разделение суррогатных решений

  • Максимальное количество суррогатов на узел

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

Оптимизация SVM
  • Функция ядра - программное обеспечение выполняет поиск среди Gaussian, Linear, Quadratic, и Cubic.

  • Ограничение поля - программа выполняет поиск среди положительных значений, масштабированных в диапазоне [0.001,1000].

  • Шкала ядра - программа выполняет поиск среди положительных значений, масштабированных в диапазоне [0.001,1000].

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

  • Стандартизация данных - поиск программного обеспечения между true и false.

 

  • Оптимизируемый гиперпараметр ограничения Бокс (Box constraint) сочетает в себе режим ограничения Бокс (Box constraint) и расширенные опции ограничения Бокс вручную (Manual box constraint) для стандартных моделей SVM.

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

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

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

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

Оптимизируемый GPR
  • Базовая функция - поиск программного обеспечения между Zero, Constant, и Linear.

  • Функция ядра - программное обеспечение выполняет поиск среди:

    • 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

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

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

  • Стандартизация - поиск программного обеспечения между true и false.

  • Стандартное отклонение сигнала

  • Оптимизация числовых параметров

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

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

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

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

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

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

Оптимизируемый ансамбль
  • Метод Ensemble - поиск программного обеспечения среди Bag и LSBoost.

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

  • Число учащихся - программное обеспечение выполняет поиск среди целых чисел, масштабированных в диапазоне [10,500].

  • Скорость обучения - программное обеспечение выполняет поиск среди реальных значений, масштабированных в диапазоне [0.001,1].

  • Количество предикторов для выборки - программное обеспечение выполняет поиск среди целых чисел в диапазоне [1,max(2,p)], где p - количество переменных предиктора.

 
  • Bag значение оптимизируемого гиперпараметра метода Ensemble указывает модель Bagged Trees. Аналогично, LSBoost Значение метода Ensemble определяет модель усиленных деревьев.

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

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

Параметры оптимизации

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

Можно указать способ настройки гиперпараметров. Например, можно изменить метод оптимизации для поиска по сетке или ограничить время обучения. На вкладке «Обучающийся регрессии» в разделе «Тип модели» выберите «Дополнительно» > «Параметры оптимизатора». Приложение открывает диалоговое окно, в котором можно выбрать параметры оптимизации.

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

ВыборОписание
Оптимизатор

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

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

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

  • Random search - случайный поиск среди точек, где количество точек соответствует значению Итерации.

Функция приобретения

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

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

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

  • Expected improvement

  • Expected improvement plus

  • Expected improvement per second

  • Lower confidence bound

  • Probability of improvement

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

Повторения

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

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

Ограничение времени обученияЧтобы задать ограничение времени обучения, выберите этот параметр и установите параметр Максимальное время обучения в секундах. По умолчанию приложение не имеет ограничения по времени обучения.
Максимальное время обучения в секундахУстановите лимит времени обучения в секундах как положительное реальное число. Значение по умолчанию: 300. Время выполнения может превышать ограничение времени обучения, поскольку это ограничение не прерывает оценку итерации.
Количество делений сеткиПри использовании поиска по сетке задайте положительное целое число в качестве количества значений, которые приложение пытается использовать для каждого числового гиперпараметра. Приложение игнорирует это значение для категориальных гиперпараметров. Значение по умолчанию: 10.

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

После указания гиперпараметров модели для оптимизации и установки дополнительных опций оптимизации (необязательно) обучите оптимизируемую модель. На вкладке «Обучающийся регрессии» в разделе «Обучение» нажмите кнопку «Обучение». Приложение создает график минимального MSE, который обновляется при выполнении оптимизации.

Примечание

При обучении оптимизируемой модели приложение отключает кнопку «Использовать параллель». После завершения обучения приложение снова делает кнопку доступной при выборе неоптимизуемой модели. По умолчанию кнопка отключена.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Панель Сводка текущей модели (Current Model Summary) содержит следующие разделы:

  • Результаты обучения - показывает производительность оптимизируемой модели. См. раздел Просмотр и сравнение статистики модели

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

  • Оптимизированные гиперпараметры - список значений оптимизированных гиперпараметров

  • Диапазон поиска гиперпараметров - отображает диапазоны поиска для оптимизированных гиперпараметров

  • Параметры оптимизатора - отображение выбранных параметров оптимизатора

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

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

Связанные темы