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

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 ก.ย. 2024
  • Запишетесь на полный курс Машинного обучения на Python по адресу support@ittensive.com
    Работа модели машинного обучения уже заключается в оптимизации параметров, т.е. создании некоторой функции, которая из исходного набора данных получает нужный результат. Фактически, эта функция максимизирует метрику, которую изначально выбрали для решения этой задачи. В этом смысле оптимизация параметров в задаче машинного обучения выполняется самой моделью машинного обучения.
    Когда же мы говорим про оптимизацию гиперпараметров модели машинного обучения, то имеется в виду тонкая настройка коэффициентов, "ручек", модели. Например, для модели линейной регрессии это может быть использование свободного члена и регуляризация весов. Для случайного леса, например, - это количество деревьев, которые мы используем. Для градиентного бустинга - количество уровней в деревьях или количество итераций бустинга, которые будем применять, или даже метрика ошибки модели самого бустинга (не нужно путать ее с ошибкой, погрешностью, при вычислении качества модели).
    При оптимизации гиперпараметров модели использует несколько подходов. И, в первую очередь, - это перекрестная валидация, когда нам нужно проверить качество каждого набора гиперпараметров модели независимо и принять решение насколько этот набор работает лучше, чем остальные. Часто выполняют "жадный" поиск наилучшего набора гиперпараметров, т.е. есть используется некоторая сетка гиперпараметров: один изменяется от 1 до 10, другой - от 100 до 200, третий - от 20 до 30. Мы выбираем шаг сетки и проверяем все наборы гиперпараметров в узлах этой сетки. Таким образом находим оптимальные наборы гиперпараметров, затем уже можем их уточнить.
    При этом предполагается некоторая монотонное поведение качества модели при переходе от одного набора гиперпараметров к другому набору. В общем случае, это, естественно, неверно, потому что модель может повести себя как угодно, качество разбиения данных и вычисления параметров может очень сильно меняться при небольших изменениях гиперпараметров. Однако, лучшего подхода для оптимизации качества модели пока нет, и выполняется либо жадный поиск, либо случайный поиск наилучших наборов гиперпараметров, и затем уже в окрестности наилучших наборов производят уточняющий поиск, чтобы немного улучшить качество модели.
    Оптимизация гиперпараметров модели обычно выполняется уже на последнем этапе сборки решения: уже выбрана наилучшая из возможных моделей и требуется еще немного ее улучшить. Существенного изменения качества решения задачи машинного обучения при оптимизации гиперпараметров ожидать не следует.

ความคิดเห็น • 4