딥러닝에서의 하이퍼파라미터 튜닝

Python으로 Machine Learning을 활용한 CTR 예측

Kevin Huo

Instructor

학습률과 반복 횟수

학습률 예시

  • 가중치는 반복적으로 업데이트됩니다
    • 역전파 사용
  • 적절한 학습률은 손실이 빠르게 감소하고 안정화됩니다
    • 빨간 선으로 표시
  • 학습률이 너무 높으면 “오버슈트”로 손실이 매우 큽니다
    • 노란 선으로 표시
Python으로 Machine Learning을 활용한 CTR 예측

은닉층 선택

은닉층 크기의 영향

  • 일정 수준의 복잡도까지 성능이 증가하고, 그 이후에는 저하됩니다.
Python으로 Machine Learning을 활용한 CTR 예측

그리드 서치

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,), ...)
Python으로 Machine Learning을 활용한 CTR 예측

실무 확장

  • 배치 크기와 에포크도 하이퍼파라미터입니다
    • 배치 크기는 미니배치(작은 배치로 학습)용, 에포크는 전체 학습 데이터 반복 횟수입니다
  • 가중치 초기화는 다양하며 결과에 영향을 줍니다
    • 예: 균등 분포, 정규 분포 등
  • Keras와 TensorFlow가 sklearn보다 자주 사용됩니다
    • sklearn의 기능이 상대적으로 제한적이기 때문입니다
Python으로 Machine Learning을 활용한 CTR 예측

연습해 봅시다!

Python으로 Machine Learning을 활용한 CTR 예측

Preparing Video For Download...