Overfitting คืออะไร

Overfitting เป็นพฤติกรรมการเรียนรู้ของเครื่องที่ไม่พึงปรารถนาที่เกิดขึ้นเมื่อรูปแบบการเรียนรู้ของเครื่องให้การคาดการณ์ที่ถูกต้องสำหรับข้อมูลที่ใช้ฝึกอบรม แต่ไม่ใช่สำหรับข้อมูลใหม่ เมื่อนักวิทยาศาสตร์ข้อมูลใช้แบบจำลองการเรียนรู้ของเครื่องสำหรับการทำนาย พวกเขาฝึกอบรมแบบจำลองในชุดข้อมูลที่รู้จักก่อน จากนั้น จากข้อมูลนี้ แบบจำลองพยายามจะคาดการณ์ผลลัพธ์ของชุดข้อมูลใหม่ รูปแบบ Overfit สามารถให้การคาดการณ์ที่ไม่ถูกต้องและไม่สามารถทำงานได้ดีสำหรับทุกประเภทของข้อมูลใหม่

เหตุใดจึงเกิด Overfitting ขึ้น

คุณจะได้รับการคาดการณ์ที่แม่นยำก็ต่อเมื่อโมเดลแมชชีนเลิร์นนิ่งสรุปข้อมูลทุกประเภทภายในโดเมน Overfit เกิดขึ้นเมื่อโมเดลไม่สามารถสรุปได้และทำให้พอดีกับชุดข้อมูลการฝึกอบรมมากเกินไปแทน Overfit เกิดขึ้นได้จากหลายสาเหตุ เช่น
•    ขนาดข้อมูลการฝึกมีขนาดเล็กเกินไปและมีตัวอย่างข้อมูลไม่เพียงพอที่จะเป็นตัวแทนของข้อมูลอินพุตที่เป็นไปได้ทั้งหมดอย่างแม่นยำ
•    ข้อมูลการฝึกอบรมประกอบด้วยข้อมูลที่ไม่เกี่ยวข้องจำนวนมาก เรียกว่าข้อมูลรบกวน
•   โมเดลทำการฝึกชุดข้อมูลตัวอย่างชุดเดียวนานเกินไป
•    โมเดลมีความซับซ้อนสูงเลยเรียนรู้การรบกวนภายในข้อมูลการฝึก

ตัวอย่างของ Overfitting
พิจารณากรณีการใช้งานที่โมเดลแมชชีนเลิร์นนิ่งต้องวิเคราะห์ภาพถ่ายและระบุภาพที่มีสุนัขอยู่ในนั้น หากโมเดลแมชชีนเลิร์นนิ่งได้รับการฝึกเกี่ยวกับชุดข้อมูลที่มีรูปถ่ายส่วนใหญ่ที่แสดงสุนัขในสวนสาธารณะ อาจใช้หญ้าเป็นฟีเจอร์สำหรับการจัดหมวดหมู่ และไม่สามารถจำสุนัขในห้องได้
อีกตัวอย่างหนึ่งของ Overfitting คือ อัลกอริทึมแมชชีนเลิร์นนิ่งที่คาดการณ์ผลการเรียนของนักศึกษามหาวิทยาลัยและผลการสำเร็จการศึกษาโดยการวิเคราะห์ปัจจัยหลายประการ เช่น รายได้ของครอบครัว ผลการเรียนที่ผ่านมา และวุฒิการศึกษาของผู้ปกครอง อย่างไรก็ตาม ข้อมูลการทดสอบรวมเฉพาะแคนดิเดทที่มีเพศหรือกลุ่มชาติพันธุ์ที่เฉพาะเจาะจงเท่านั้น ในกรณีนี้ Overfitting จะทำให้ความแม่นยำในการคาดคะเนของอัลกอริทึมลดลงสำหรับแคนดิเดทที่มีเพศหรือเชื้อชาตินอกชุดข้อมูลการทดสอบ

คุณจะตรวจสอบการเกิด Overfit ได้อย่างไร

วิธีที่ดีที่สุดในการตรวจจับโมเดล Overfit คือการทดสอบโมเดลแมชชีนเลิร์นนิ่งกับข้อมูลเพิ่มเติมด้วยการแสดงค่าและประเภทข้อมูลอินพุตที่เป็นไปได้อย่างครอบคลุม โดยทั่วไป ส่วนหนึ่งของข้อมูลการฝึกจะใช้เป็นข้อมูลทดสอบเพื่อตรวจสอบการเกิด Overfit เมื่ออัตราข้อผิดพลาดสูงในข้อมูลการทดสอบก็บ่งชี้ได้ว่ามี Overfit เกิดขึ้น วิธีหนึ่งในการทดสอบ Overfit ได้แสดงไว้ด้านล่าง
K-Fold Cross Validation
Cross-Validation เป็นหนึ่งในวิธีการทดสอบที่ใช้ในทางปฏิบัติ ในวิธีนี้ นักวิทยาศาสตร์ข้อมูลจะแบ่งข้อมูลออกเป็นส่วนเท่าๆ กัน เรียกว่าค่า K หรือชุดตัวอย่างที่เรียกว่า Fold กระบวนการฝึกอบรมประกอบด้วยชุดของการทำซ้ำ ในระหว่างการทำซ้ำแต่ละขั้นตอนคือ
1    เก็บชุดย่อยหนึ่งชุดไว้เป็นข้อมูลการตรวจสอบและฝึกโมเดลแมชชีนเลิร์นนิ่งในชุดย่อย K-1 ที่เหลือ
2    สังเกตว่าโมเดลทำงานอย่างไรกับตัวอย่างการตรวจสอบ
3    ให้คะแนนประสิทธิภาพรูปแบบโดยดูจากคุณภาพของข้อมูลเอาต์พุต


ทำซ้ำจนกว่าคุณได้ทดสอบโมเดลในทุกชุดตัวอย่าง จากนั้นให้เฉลี่ยคะแนนในการทำซ้ำทั้งหมดเพื่อรับการประเมินขั้นสุดท้ายของโมเดลการคาดการณ์

คุณจะป้องกันการเกิด Overfit ได้อย่างไร

คุณสามารถป้องกันการเกิด Overfit ได้โดยการกระจายและปรับขนาดชุดข้อมูลการฝึกอบรมของคุณ หรือใช้กลยุทธ์ด้านวิทยาศาสตร์ข้อมูลอื่นๆ เช่นที่ระบุไว้ด้านล่าง
Early Stopping
Early Stopping จะหยุดขั้นตอนการฝึกอบรมก่อนที่โมเดลแมชชีนเลิร์นนิ่งจะเรียนรู้ข้อมูลรบกวน อย่างไรก็ตาม เวลาที่เหมาะสมเป็นสิ่งสำคัญ มิฉะนั้นโมเดลจะยังให้ผลลัพธ์ที่ไม่ถูกต้อง
Pruning
คุณอาจระบุฟีเจอร์หรือพารามิเตอร์หลายอย่างที่ส่งผลต่อการคาดการณ์ขั้นสุดท้ายเมื่อคุณสร้างโมเดล การเลือกฟีเจอร์หรือการ Pruning จะระบุฟีเจอร์ที่สำคัญที่สุดภายในชุดการฝึก และขจัดฟีเจอร์ที่ไม่เกี่ยวข้องออกไป ตัวอย่างเช่น ในการทำนายว่ารูปภาพเป็นสัตว์หรือมนุษย์ คุณสามารถดูอินพุตพารามิเตอร์ต่างๆ เช่น รูปร่างใบหน้า ตำแหน่งหู โครงสร้างร่างกาย ฯลฯ คุณอาจให้ความสำคัญกับรูปหน้าและมองข้ามรูปร่างของดวงตา
Regularization
Regularization คือ เทคนิคของการฝึกอบรม/การปรับให้เหมาะสม เพื่อลดการเกิด Overfit วิธีการเหล่านี้พยายามที่จะขจัดปัจจัยที่ไม่ส่งผลต่อผลลัพธ์ของการคาดคะเน โดยการจัดลำดับฟีเจอร์ตามความสำคัญ ยกตัวอย่างเช่น การคำนวณทางคณิตศาสตร์จะใช้ค่าปรับกับฟีเจอร์ที่มีผลกระทบน้อยที่สุด ในโมเดลทางสถิติที่พยายามทำนายราคาบ้านในเมืองในอีก 20 ปี Regularization จะให้ค่าปรับที่ต่ำกว่าสำหรับฟีเจอร์อย่างการเติบโตของประชากรและรายได้เฉลี่ยต่อปี แต่ค่าปรับจะสูงกว่าสำหรับค่าอุณหภูมิเฉลี่ยทั้งปีของเมือง
Ensembling
Ensembling รวมการคาดการณ์จากอัลกอริทึมของแมชชีนเลิร์นนิ่งที่แยกจากกัน บางโมเดลจะเรียกว่า Weak Learner เพราะผลลัพธ์ของมันมักไม่ถูกต้อง วิธีการ Ensembling จะรวม Weak Learner ทั้งหมดเพื่อให้ได้ผลลัพธ์ที่แม่นยำยิ่งขึ้น พวกเขาใช้โมเดลหลายแบบเพื่อวิเคราะห์ข้อมูลตัวอย่างและเลือกผลลัพธ์ที่แม่นยำที่สุด มีวิธีการหลักสองวิธีในการ Ensembling ซึ่งก็คือ Bagging และ Boosting Boosting จะฝึกโมเดลแมชชีนเลิร์นนิ่งต่างๆ ทีละตัวเพื่อให้ได้ผลลัพธ์สุดท้าย ในขณะที่ Bagging จะเป็นการฝึกแบบคู่ขนานกัน
Data Augmentation
Data Augmentation เป็นเทคนิคแมชชีนเลิร์นนิ่งที่เปลี่ยนข้อมูลตัวอย่างเล็กน้อยทุกครั้งที่โมเดลประมวลผล คุณสามารถทำได้โดยเปลี่ยนข้อมูลอินพุตทีละน้อย เมื่อทำในปริมาณที่พอเหมาะ Data Augmentation จะทำให้ชุดการฝึกมีลักษณะเฉพาะสำหรับโมเดล และป้องกันไม่ให้โมเดลเรียนรู้ลักษณะของมัน ตัวอย่างเช่น การใช้การแปลงภาพที่อินพุต เช่น การเลื่อนขนาด การกลับด้านภาพ และการหมุนภาพ

 

Underfitting คืออะไร

Underfitting เป็นข้อผิดพลาดอีกประเภทหนึ่งที่เกิดขึ้นเมื่อโมเดลไม่สามารถกำหนดความสัมพันธ์ที่มีความหมายระหว่างข้อมูลอินพุตและเอาต์พุต คุณจะได้โมเดลที่ Underfit เมื่อไม่มีการฝึกฝนกับจุดข้อมูลจำนวนมากนานพอ
Underfitting เปรียบเทียบกับ Overfitting
โมเดลที่ Underfit มีความเอนเอียงสูง ซึ่งให้ผลลัพธ์ที่ไม่ถูกต้องสำหรับทั้งข้อมูลการฝึกและชุดทดสอบ ในทางกลับกัน โมเดลที่ Overfit มีความแปรปรวนสูง ซึ่งให้ผลลัพธ์ที่แม่นยำสำหรับชุดฝึกซ้อม แต่ไม่ใช่สำหรับชุดทดสอบ การฝึกกับโมเดลมากขึ้นส่งผลให้มีความเอนเอียงน้อยลง แต่ความแปรปรวนสามารถเพิ่มขึ้นได้ นักวิทยาศาสตร์ข้อมูลมีเป้าหมายที่จะหาจุดที่เหมาะสมระหว่าง Underfitting และ Overfitting เมื่อทำการปรับโมเดล โมเดลที่เหมาะสมจะให้แนวโน้มที่โดดเด่นทั้งกับชุดข้อมูลที่มองเห็นและมองไม่เห็น

AWS สามารถลดข้อผิดพลาดแบบ Overfit ในโมเดลแมชชีนเลิร์นนิ่งของคุณได้อย่างไร

คุณสามารถใช้ Amazon SageMaker เพื่อสร้าง ฝึกฝน และปรับใช้โมเดลแมชชีนเลิร์นนิงสำหรับกรณีการใช้งานใด ๆ ที่มีโครงสร้างพื้นฐาน เครื่องมือ และเวิร์กโฟลว์ที่มีการจัดการเต็มรูปแบบ Amazon SageMaker มีคุณสมบัติในตัวที่เรียกว่า Amazon SageMaker Debugger ที่วิเคราะห์ข้อมูลที่สร้างขึ้นระหว่างการฝึกอบรมโดยอัตโนมัติ เช่น อินพุต เอาต์พุต และการแปลงข้อมูล ด้วยเหตุนี้ จึงสามารถตรวจจับและรายงานการเกิด Overfit และความไม่ถูกต้องอื่นๆ ได้โดยไม่ต้องมีการแทรกแซงด้วยตนเอง

ตัวอย่างเช่น คุณสามารถ:

  • หยุดกระบวนการฝึกอบรมโดยอัตโนมัติเมื่อได้ความแม่นยำที่ต้องการ
  • บันทึกตัวชี้วัดการฝึกอบรมแบบเรียลไทม์
  • รับการแจ้งเตือนเมื่อตรวจพบกรณี Overfit

ลดเวลาและค่าใช้จ่ายในการฝึกอบรมโมเดลแมชชีนเลิร์นนิ่ง เริ่มต้นใช้งานแมชชีนเลิร์นนิ่งบน AWS โดยสร้างบัญชีฟรีวันนี้!

ขั้นตอนถัดไปของ AWS Overfitting

ดูแหล่งข้อมูลที่เกี่ยวกับผลิตภัณฑ์เพิ่มเติม
บริการแมชชีนเลิร์นนิ่งฟรีบน AWS 
ลงชื่อสมัครใช้บัญชีฟรี

รับสิทธิ์การเข้าถึง AWS Free Tier ได้ทันที 

ลงชื่อสมัครใช้งาน 
เริ่มต้นสร้างใน Console

เริ่มต้นสร้างใน AWS Management Console

ลงชื่อเข้าใช้