Подбор гиперпараметров в глубоком обучении

Прогнозирование CTR с помощью машинного обучения на Python

Kevin Huo

Instructor

Скорость обучения и число итераций

Примеры скоростей обучения

  • Веса обновляются итеративно
    • Используется обратное распространение ошибки
  • Хорошая скорость обучения обеспечивает быстрое снижение и стабилизацию потерь
    • Показано красной линией
  • Слишком высокая скорость обучения приводит к «перескоку» и резкому росту потерь
    • Показано жёлтой линией
Прогнозирование CTR с помощью машинного обучения на Python

Выбор скрытых слоёв

Влияние размера скрытого слоя

  • Производительность растёт до определённого уровня сложности, после чего снижается.
Прогнозирование CTR с помощью машинного обучения на Python

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

param_grid = {'max_iter': [10, 20], 
              'hidden_layer_sizes': [(8, ), (16, )]}
clf = GridSearchCV(
  estimator = MLPClassifier(), param_grid = param_grid, 
  n_jobs = 4)
print(clf.best_score_)
print(clf.best_estimator_)
0.65
MLPClassifier(hidden_layer_size = (16,), ...)
Прогнозирование CTR с помощью машинного обучения на Python

Применение на практике

  • Размер батча и количество эпох — тоже потенциальные гиперпараметры
    • Размер батча используется для мини-батч обучения (обучение выполняется небольшими порциями), а эпохи — это число проходов по всей обучающей выборке
  • Инициализация весов может варьироваться и влиять на результаты
    • Примеры инициализаций: равномерное распределение, нормальное распределение и др.
  • Keras и TensorFlow используются чаще, чем sklearn
    • Это связано с ограниченной функциональностью sklearn в сравнении с ними
Прогнозирование CTR с помощью машинного обучения на Python

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

Прогнозирование CTR с помощью машинного обучения на Python

Preparing Video For Download...