Comparing Grid and Random Search

Подбор гиперпараметров в Python

Alex Scriven

Data Scientist

Что общего?

Что общего между случайным и сеточным поиском?

  • Оба автоматизируют подбор гиперпараметров
  • В обоих задаётся сетка значений (какие гиперпараметры и какие значения проверять)

 

Тщательно продумывайте сетку!

 

  • В обоих задаётся схема кросс-валидации и метрика оценки
Подбор гиперпараметров в Python

В чём различия?

Поиск по сетке:

  • Перебирает все комбинации в пространстве поиска
  • Без стратегии выборки
  • Требует больше вычислительных ресурсов
  • Гарантированно находит лучший результат в пространстве поиска

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

  • Случайно выбирает подмножество комбинаций в пространстве поиска (размер задаётся вручную)
  • Можно задать стратегию выборки (помимо равномерной, используемой по умолчанию)
  • Требует меньше вычислительных ресурсов
  • Не гарантирует нахождение лучшего результата, но, как правило, находит хорошийбыстрее
Подбор гиперпараметров в Python

Что выбрать?

Какой метод выбрать? На что ориентироваться?

  • Сколько у вас данных?
  • Сколько гиперпараметров и значений нужно подобрать?
  • Какие ресурсы доступны? (время, вычислительная мощность)

 

  • Чем больше данных, тем предпочтительнее случайный поиск.
  • Чем больше параметров, тем предпочтительнее случайный поиск.
  • Чем меньше ресурсов, тем предпочтительнее случайный поиск.
Подбор гиперпараметров в Python

Давайте потренируемся!

Подбор гиперпараметров в Python

Preparing Video For Download...