exponenta event banner

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

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

Примечание

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

Для оптимизации гиперпараметров в Classification Learner выполните следующие действия:

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

    Примечание

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

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

  3. Тренируйте свою модель. Используйте график минимальной ошибки классификации для отслеживания результатов оптимизации.

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

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

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

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

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

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

  • Критерий разделения - поиск программного обеспечения между Gini's diversity index, Twoing rule, и Maximum deviance reduction.

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

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

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

Оптимизируемый дискриминант
  • Дискриминант типа - программное обеспечение выполняет поиск среди Linear, Quadratic, Diagonal Linear, и Diagonal Quadratic.

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

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

Оптимизируемый наивный Байес
  • Имена дистрибутивов - программное обеспечение выполняет поиск между Gaussian и Kernel.

  • Тип ядра - программное обеспечение выполняет поиск среди Gaussian, Box, Epanechnikov, и Triangle.

  • Поддержка

  • Gaussian значение оптимизируемого гиперпараметра Distribution names указывает модель Гаусса Наивного Байеса. Аналогично, Kernel Значение имен распределения указывает модель Kernel Naive Bayes.

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

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

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

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

  • Многоклассовый метод - программное обеспечение выполняет поиск между One-vs-One и One-vs-All.

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

 

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

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

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

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

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

    • Euclidean

    • City block

    • Chebyshev

    • Minkowski (cubic)

    • Mahalanobis

    • Cosine

    • Correlation

    • Spearman

    • Hamming

    • Jaccard

  • Вес расстояния - программное обеспечение выполняет поиск среди Equal, Inverse, и Squared inverse.

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

 

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

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

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

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

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

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

  • Тип учащегося

  • AdaBoost, LogitBoost, и GentleBoost значения оптимизируемого гиперпараметра метода Ensemble определяют модель Busted Trees. Аналогично, RUSBoost Значение метода Ensemble определяет модель RUSBoosted Trees и Bag Значение метода Ensemble определяет модель Bagged Trees.

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

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

  • Оптимизировать число предикторов для выборки оптимизируемого гиперпараметра можно только в том случае, если значение метода Ensemble равно Bag. Если не указать значение параметра Число предикторов для выборки, сняв флажок Оптимизировать, приложение использует значение по умолчанию Выбрать все, если метод Ensemble имеет значение, отличное от Bag.

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

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

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

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

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

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

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

  • 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.

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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