สรุปบทเรียน

การปรับ Hyperparameter ใน Python

Alex Scriven

Data Scientist

Hyperparameters vs Parameters

   

Hyperparameters vs Parameters:

Hyperparameters คือส่วนประกอบของโมเดลที่คุณกำหนดเอง ไม่ได้เรียนรู้ระหว่างกระบวนการสร้างโมเดล

Parameters ไม่ได้ถูกกำหนดโดยคุณ อัลกอริทึมจะค้นพบค่าเหล่านี้เอง

การปรับ Hyperparameter ใน Python

จะเลือก Hyperparameter และค่าใดดี?

 

สิ่งที่ได้เรียนรู้:

  • Hyperparameter บางตัวเหมาะสมกว่าสำหรับจุดเริ่มต้น
  • มีค่า hyperparameter ที่ไม่เหมาะสมและควรหลีกเลี่ยง
  • ต้องระวัง hyperparameter ที่ขัดแย้งกัน
  • แนวทางปฏิบัติที่ดีขึ้นอยู่กับอัลกอริทึมและ hyperparameter แต่ละตัว
การปรับ Hyperparameter ใน Python

ทบทวน Grid Search

 

ทบทวน Grid Search:

  • สร้างตาราง (หรือ "grid") ของ hyperparameter และค่าต่าง ๆ ทุกการผสมผสาน
  • สร้างโมเดลสำหรับทุกชุดค่าผสมของ hyperparameter
  • จากนั้นเลือกชุดที่ดีที่สุด

วิธีนี้ใช้ทรัพยากรการคำนวณสูง แต่รับประกันว่าจะได้ผลลัพธ์ที่ดีที่สุดใน grid (อย่าลืมความสำคัญของการกำหนด grid ที่ดี!)

การปรับ Hyperparameter ใน Python

ทบทวน Random Search

 

Random Search:

  • คล้ายกับ Grid Search มาก
  • ความแตกต่างหลักคือการสุ่มเลือกชุดค่าผสม (n) ชุด

วิธีนี้ได้โมเดลที่ พอใช้ได้ เร็วกว่า แต่อาจไม่ได้ผลลัพธ์ ที่ดีที่สุด ใน grid

การปรับ Hyperparameter ใน Python

จาก Uninformed ถึง Informed Search

มองไปที่ Informed Search:

ใน Informed Search แต่ละรอบจะเรียนรู้จากรอบก่อนหน้า ต่างจาก Grid และ Random ที่สร้างโมเดลทั้งหมดพร้อมกันแล้วค่อยเลือกตัวที่ดีที่สุด

วิธี Informed ที่ได้สำรวจ:

  • "Coarse to Fine" (Random Search แบบ iterative ตามด้วย Grid Search)
  • Bayesian hyperparameter tuning อัปเดตความเชื่อโดยใช้หลักฐานจากประสิทธิภาพของโมเดล
  • Genetic algorithms วิวัฒนาการโมเดลข้ามหลายรุ่น
การปรับ Hyperparameter ใน Python

ขอบคุณ!

การปรับ Hyperparameter ใน Python

Preparing Video For Download...