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 โดยสร้างบัญชีฟรีวันนี้!