Hyperparametertuning in deep learning

CTR voorspellen met Machine Learning in Python

Kevin Huo

Instructor

Learning rate en aantal iteraties

Voorbeelden van learning rates

  • Gewichten worden iteratief geüpdatet
    • Met backpropagation
  • Een goede learning rate laat de loss snel dalen en stabiliseren
    • Rode lijn
  • Een te hoge learning rate overschiet en geeft zeer hoge loss
    • Gele lijn
CTR voorspellen met Machine Learning in Python

Verborgen lagen kiezen

Effect van grootte verborgen laag

  • Prestatie stijgt tot een bepaalde complexiteit, daarna daling.
CTR voorspellen met Machine Learning in Python

Grid search

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 voorspellen met Machine Learning in Python

Uitbreidingen in de praktijk

  • Batchgrootte en epochs zijn ook mogelijke hyperparameters
    • Batchgrootte voor mini-batches; epochs voor het aantal rondes door de volledige trainingsdata
  • Initialisatie van gewichten kan variëren en het resultaat beïnvloeden
    • Voorbeelden: uniforme verdeling, normale verdeling, enz.
  • Keras en TensorFlow worden vaak gebruikt i.p.v. sklearn
    • Vanwege beperktere functionaliteit in sklearn
CTR voorspellen met Machine Learning in Python

Laten we oefenen!

CTR voorspellen met Machine Learning in Python

Preparing Video For Download...