Налаштування гіперпараметрів у глибокому навчанні

Прогнозування 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

Розширення для реальних задач

  • Batch size і epochs також можуть бути гіперпараметрами
    • Batch size — для мініпакетів (навчання йде малими партіями), epochs — це кількість проходів по всіх тренувальних даних
  • Ініціалізація ваг може відрізнятися й впливати на результат
    • Приклади: рівномірний розподіл, нормальний розподіл тощо
  • Часто використовують Keras і TensorFlow замість sklearn
    • Причина — обмежені можливості sklearn у порівнянні
Прогнозування CTR за допомогою машинного навчання в Python

Давайте потренуємось!

Прогнозування CTR за допомогою машинного навчання в Python

Preparing Video For Download...