Comparing Grid and Random Search

การปรับ Hyperparameter ใน Python

Alex Scriven

Data Scientist

อะไรที่เหมือนกัน?

Random Search และ Grid Search มีอะไรเหมือนกัน?

  • ทั้งคู่เป็นวิธีปรับ hyperparameter แบบอัตโนมัติ
  • ทั้งคู่ต้องกำหนด grid สำหรับสุ่มตัวอย่าง (ระบุ hyperparameter และค่าของแต่ละตัว)

 

อย่าลืมวางแผน grid ให้รอบคอบ!

 

  • ทั้งคู่ต้องกำหนดรูปแบบ cross-validation และฟังก์ชันคะแนน
การปรับ Hyperparameter ใน Python

อะไรที่ต่างกัน?

Grid Search:

  • ลองทุกชุดค่าผสมใน sample space อย่างละเอียด
  • ไม่มีวิธีการสุ่มตัวอย่าง
  • ใช้ทรัพยากรการคำนวณมากกว่า
  • รับประกันว่าจะพบคะแนนที่ดีที่สุดใน sample space

Random Search:

  • สุ่มเลือกชุดค่าผสมจาก sample space (ต้องระบุจำนวนเอง)
  • เลือกวิธีการสุ่มตัวอย่างได้ (นอกจาก uniform ซึ่งเป็นค่าเริ่มต้น)
  • ใช้ทรัพยากรการคำนวณน้อยกว่า
  • ไม่รับประกันว่าจะพบคะแนนที่ดีที่สุดใน sample space (แต่มักพบคะแนนที่ _ดี_ ได้ เร็วกว่า)
การปรับ Hyperparameter ใน Python

ควรเลือกใช้แบบไหน?

แล้วควรเลือกใช้แบบไหน? ปัจจัยที่ต้องพิจารณามีอะไรบ้าง?

  • มีข้อมูลมากแค่ไหน?
  • ต้องการปรับ hyperparameter และค่ากี่ตัว?
  • มีทรัพยากรมากแค่ไหน? (เวลาและกำลังการประมวลผล)

 

  • ข้อมูลยิ่งมาก Random Search อาจเป็นตัวเลือกที่ดีกว่า
  • ยิ่งมีมาก Random Search อาจเป็นตัวเลือกที่ดีกว่า
  • ทรัพยากรยิ่งน้อย Random Search อาจเป็นตัวเลือกที่ดีกว่า
การปรับ Hyperparameter ใน Python

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

การปรับ Hyperparameter ใน Python

Preparing Video For Download...