การปรับจูนไฮเปอร์พารามิเตอร์ใน deep learning

การพยากรณ์ CTR ด้วย Machine Learning ใน Python

Kevin Huo

Instructor

Learning rate และจำนวน iteration

ตัวอย่าง learning rate

  • ค่าน้ำหนักถูกอัปเดตแบบวนซ้ำ
    • ใช้ back-propagation
  • Learning rate ที่เหมาะสมจะทำให้ค่า loss ลดลงเร็วและเสถียร
    • แสดงด้วยเส้นสีแดง
  • Learning rate ที่สูงเกินไปจะทำให้เกิด "overshoot" และค่า loss พุ่งสูง
    • แสดงด้วยเส้นสีเหลือง
การพยากรณ์ CTR ด้วย Machine Learning ใน Python

การเลือก hidden layer

ผลของขนาด hidden layer

  • ประสิทธิภาพเพิ่มขึ้นจนถึงระดับความซับซ้อนหนึ่ง จากนั้นจะลดลง
การพยากรณ์ CTR ด้วย Machine Learning ใน 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 ด้วย Machine Learning ใน Python

การประยุกต์ใช้จริง

  • Batch size และ epoch ก็เป็นไฮเปอร์พารามิเตอร์ที่ต้องพิจารณาด้วย
    • Batch size ใช้กับ mini-batch (ฝึกโมเดลทีละชุดย่อย) และ epoch คือจำนวนรอบที่ผ่านข้อมูลฝึกทั้งหมด
  • การกำหนดค่าเริ่มต้นของน้ำหนักมีหลายแบบและส่งผลต่อผลลัพธ์
    • ตัวอย่างเช่น การกระจายแบบสม่ำเสมอ การกระจายแบบปกติ เป็นต้น
  • มักใช้ Keras และ TensorFlow แทน sklearn
    • เนื่องจาก sklearn มีฟังก์ชันรองรับที่จำกัดกว่า
การพยากรณ์ CTR ด้วย Machine Learning ใน Python

มาฝึกกันเถอะ!

การพยากรณ์ CTR ด้วย Machine Learning ใน Python

Preparing Video For Download...