Оптимизация гиперпараметров

Материал из MachineLearning.

Версия от 12:01, 19 июля 2026; Arina Iarovenko (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Оптимизация гиперпараметров (англ. hyperparameter optimization, HPO; также настройка гиперпараметров) — выбор конфигурации гиперпараметров алгоритма машинного обучения по результатам его оценивания на данных. Целью обычно служит минимизация оценки ошибки обобщения, а дополнительными требованиями могут быть время обучения, задержка предсказания, объём памяти или размер модели. В отличие от параметров модели, гиперпараметры не определяются обычным внутренним алгоритмом обучения и настраиваются во внешнем цикле[1].

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

Параметры и гиперпараметры

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

Различие определяется способом оценки, а не природой величины. Число деревьев может быть заданным гиперпараметром, ресурсом ранней остановки либо результатом процедуры, выбирающей момент прекращения обучения. В классической постановке гиперпараметры фиксируются заранее, однако внешняя стратегия может изменять их и во время обучения. Существенно, что они не оцениваются стандартным обновлением параметров модели[1].

Математическая постановка

Настройку удобно рассматривать как двухуровневую задачу. На внутреннем уровне при фиксированной конфигурации \lambda оцениваются параметры w, а на внешнем выбирается сама конфигурация:

\widehat w(\lambda)\in\mathop{\rm argmin}_{w\in W}L_{\rm train}(w;\lambda),\qquad \widehat\lambda\in\mathop{\rm argmin}_{\lambda\in\Lambda}L_{\rm val}(\widehat w(\lambda);\lambda).

Здесь W — пространство параметров модели, \Lambda — пространство гиперпараметров, L_{\rm train} — критерий обучения, а L_{\rm val} — валидационная ошибка. Внешняя оптимизация должна оценивать способность модели работать на новых объектах, поэтому минимизация только обучающей ошибки для выбора гиперпараметров некорректна.

При K-блочной кросс-валидации целевую функцию оценивают как

\widehat R_{\rm CV}(\lambda)=\frac{1}{K}\sum_{k=1}^{K}\frac{1}{|V_k|}\sum_{(x_i,y_i)\in V_k}\ell\left(y_i,f_{\lambda,-k}(x_i)\right).

Здесь V_k — очередной валидационный блок, f_{\lambda,-k} — модель, обученная с конфигурацией \lambda без этого блока, а \ell — потеря на одном объекте. Оптимизатор ищет конфигурацию с наименьшим значением \widehat R_{\rm CV}. Эта оценка остаётся случайной и может меняться из-за разбиения, инициализации и стохастического обучения.

Целевая функция HPO обычно является дорогой функцией «чёрного ящика»: известны входная конфигурация и измеренный результат, но нет доступной формулы или надёжного градиента. Дополнительную сложность создают пропуски результатов из-за ошибок, превышения времени или памяти, а также неодинаковая стоимость разных конфигураций.

Пространство поиска

Если настраивается p гиперпараметров, пространство поиска часто записывают как

\Lambda=\Lambda_1\times\Lambda_2\times\cdots\times\Lambda_p.

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

Условный гиперпараметр активен только при определённом значении другого гиперпараметра. Например, степень полинома имеет смысл лишь при выборе полиномиального ядра. Такие зависимости образуют иерархическое пространство; их явное описание исключает бессмысленные комбинации.

Качество поиска существенно зависит от границ пространства. Слишком узкие границы исключают хорошие решения, слишком широкие затрудняют поиск, а включение большого числа малозначимых координат расходует бюджет. Исследования настраиваемости показывают, что влияние гиперпараметров различается между алгоритмами и наборами данных; поэтому целесообразность настройки и приоритет отдельных координат следует оценивать относительно задачи[1].

Методы оптимизации

Ручная настройка и поиск по сетке

Ручная настройка использует опыт специалиста и полезна для задания границ, но плохо воспроизводится и не покрывает пространство систематически. Значения по умолчанию служат базовой линией. Поиск по сетке проверяет декартово произведение выбранных значений; его легко параллелить, однако число испытаний быстро растёт с размерностью. Поэтому сетка применима главным образом к небольшим пространствам.

Случайный поиск

Случайный поиск независимо выбирает конфигурации из заданных распределений. При фиксированном числе испытаний он обычно исследует больше различных значений каждой координаты, чем сетка. Если качество существенно зависит только от части гиперпараметров, это даёт заметное преимущество, теоретически и экспериментально исследованное в работе о случайном поиске[1].

Метод почти не использует предыдущие испытания, зато имеет малые накладные расходы и естественно параллелится. Его эффективность определяется распределениями поиска: неудачный диапазон не исправляется увеличением числа запусков.

Байесовская и последовательная модельно-ориентированная оптимизация

Байесовская оптимизация использует архив уже проверенных конфигураций для построения суррогатной модели целевой функции. Суррогат предсказывает ожидаемое качество и неопределённость, а функция приобретения выбирает следующую конфигурацию, согласуя исследование малоизученных областей и уточнение областей с хорошими результатами[1].

Распространённой функцией приобретения является ожидаемое улучшение:

{\rm EI}(\lambda)={\rm E}\left[\max\{0,c_{\rm best}-C(\lambda)\}\mid\mathcal H\right].

Здесь c_{\rm best} — лучшее наблюдавшееся значение ошибки, C(\lambda) — неизвестный результат новой конфигурации, а \mathcal H — история испытаний. Высокое ожидаемое улучшение может возникать как из-за хорошего прогноза, так и из-за большой неопределённости.

Гауссовские процессы удобны для сравнительно небольших непрерывных пространств, а модели на основе деревьев — для смешанных и условных переменных. Метод TPE вместо прямого моделирования ошибки строит плотности конфигураций с хорошими и плохими результатами и выбирает точки по их соотношению[1].

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

Многоуровневая оптимизация и ранняя остановка

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

Последовательное сокращение (англ. successive halving) реализует эту идею для одного начального распределения ресурсов. Hyperband перебирает несколько компромиссов между числом начальных конфигураций и ресурсом каждой из них[1]. Гибридные методы сочетают распределение бюджета с модельно-ориентированным выбором конфигураций[1].

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

Эволюционные и градиентные методы

Эволюционные методы поддерживают популяцию конфигураций и создают новые варианты отбором, мутациями и скрещиванием. Они подходят для дискретных и условных пространств, но могут требовать большого числа оцениваний. Гиперградиентные методы применимы, когда влияние непрерывных гиперпараметров на результат обучения можно дифференцировать; для категориальных решений и недифференцируемых пайплайнов они подходят хуже[1].

Практическая процедура

  1. Определение цели. Выбираются метрика, направление оптимизации и эксплуатационные ограничения. Метрика должна соответствовать стоимости ошибок и способу использования предсказаний.
  2. Разделение данных. Формируются обучающая, валидационная и тестовая части. Для временных, групповых и пространственно зависимых данных применяется разбиение, отражающее будущий режим работы.
  3. Задание пространства. Для каждого гиперпараметра определяются тип, границы, масштаб, распределение и условные зависимости. Конфигурация по умолчанию включается как базовый вариант.
  4. Фиксация бюджета. Задаются время, число испытаний, память, параллелизм и правило обработки неуспешных запусков.
  5. Поиск. Оптимизатор предлагает конфигурации, обучает модели по единому протоколу и сохраняет полную историю результатов.
  6. Выбор и переобучение. Найденная конфигурация обучается на всех данных, разрешённых протоколом, после чего один раз оценивается на независимом тесте.

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

Корректная оценка результата

Разделение настройки и тестирования

Валидационная оценка лучшей найденной конфигурации является оптимистичной, поскольку сама конфигурация выбрана по этим данным. Чем больше адаптивных испытаний выполнено, тем выше риск переобучения критерия выбора[1]. Итоговое качество поэтому измеряют на тестовой выборке, не использованной ни для выбора границ, ни для остановки поиска.

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

Предотвращение утечки данных

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

Воспроизводимость и сравнение методов

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

Значение для машинного обучения

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

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

Ограничения и типичные ошибки

  • Несоответствие метрики задаче. Оптимизатор точно улучшает заданный критерий, даже если он плохо отражает практическую цель.
  • Неудачное пространство. Лучшее допустимое решение может быть слабым, если диапазоны узки, масштаб выбран неверно или отсутствует важный гиперпараметр.
  • Переобучение валидации. Большое число испытаний повышает вероятность случайно благоприятного результата.
  • Преждевременная остановка. Дешёвые оценки могут неверно ранжировать конфигурации с разной скоростью обучения.
  • Высокая стоимость. Настройка требует обучения множества моделей и иногда обходится значительно дороже финального обучения.
  • Нестабильность. При малой выборке и шумной метрике разные разбиения могут приводить к разным конфигурациям.
  • Сдвиг распределения. Оптимальная настройка для исторических данных может стать неудачной после изменения условий применения.

Соотношение со смежными понятиями

  • Оценивание параметров выполняется внутренним алгоритмом обучения при фиксированных гиперпараметрах.
  • Выбор модели сравнивает семейства моделей; HPO настраивает заданное семейство или пайплайн, хотя обе задачи могут решаться совместно.
  • Конфигурация алгоритмов является более общей задачей настройки параметризованных вычислительных процедур и не ограничена машинным обучением.
  • AutoML включает HPO, но также может автоматизировать подготовку данных, выбор признаков, алгоритма и построение ансамбля.
  • NAS оптимизирует структурные решения нейронной сети. Число слоёв или каналов можно считать архитектурными гиперпараметрами, поэтому граница между NAS и HPO частично зависит от постановки.

См. также

Примечания

Литература

  • Bischl B., Binder M., Lang M. и др. Hyperparameter Optimization: Foundations, Algorithms, Best Practices and Open Challenges // WIREs Data Mining and Knowledge Discovery. — 2023. — Т. 13. — № 2. — С. e1484.
  • Probst P., Boulesteix A.-L., Bischl B. Tunability: Importance of Hyperparameters of Machine Learning Algorithms // Journal of Machine Learning Research. — 2019. — Т. 20. — № 53. — С. 1–32.
  • Bergstra J., Bengio Y. Random Search for Hyper-Parameter Optimization // Journal of Machine Learning Research. — 2012. — Т. 13. — № 10. — С. 281–305.
  • Snoek J., Larochelle H., Adams R. P. Practical Bayesian Optimization of Machine Learning Algorithms // Advances in Neural Information Processing Systems. — 2012. — Т. 25. — С. 2951–2959.
  • Bergstra J. S., Bardenet R., Bengio Y., Kégl B. Algorithms for Hyper-Parameter Optimization // Advances in Neural Information Processing Systems. — 2011. — Т. 24. — С. 2546–2554.
  • Li L., Jamieson K., DeSalvo G., Rostamizadeh A., Talwalkar A. Hyperband: A Novel Bandit-Based Approach to Hyperparameter Optimization // Journal of Machine Learning Research. — 2018. — Т. 18. — № 185. — С. 1–52.
  • Cawley G. C., Talbot N. L. C. On Over-fitting in Model Selection and Subsequent Selection Bias in Performance Evaluation // Journal of Machine Learning Research. — 2010. — Т. 11. — № 70. — С. 2079–2107.
Личные инструменты