ต้นขั้ว Overfitting คืออะไร? - Unite.AI
เชื่อมต่อกับเรา
มาสเตอร์คลาส AI:

AI 101

Overfitting คืออะไร?

mm
วันที่อัพเดท on

Overfitting คืออะไร?

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

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

ทำความเข้าใจเรื่อง "ความฟิต" และฟิตติ้งส่วนล่าง

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

เส้นสีน้ำเงินแสดงถึงการคาดการณ์โดยโมเดลที่ไม่เหมาะสม ในขณะที่เส้นสีเขียวแสดงถึงโมเดลที่เหมาะสมกว่า รูปภาพ: Pep Roca ผ่าน Wikimedia Commons, CC BY SA 3.0, (https://commons.wikimedia.org/wiki/File:Reg_ls_curvil%C3%ADnia.svg)

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

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

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

ทำความเข้าใจกับการโอเวอร์ฟิตติ้ง

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

การโอเวอร์ฟิตติ้งมีแนวโน้มที่จะเกิดขึ้นเมื่อใช้โมเดลแบบไม่เชิงเส้น เนื่องจากมีความยืดหยุ่นมากกว่าเมื่อเรียนรู้คุณลักษณะของข้อมูล อัลกอริทึมแมชชีนเลิร์นนิงแบบไม่อิงพารามิเตอร์มักจะมีพารามิเตอร์และเทคนิคต่างๆ ที่สามารถนำมาใช้เพื่อจำกัดความไวของโมเดลต่อข้อมูล และด้วยเหตุนี้จึงลดการโอเวอร์ฟิตติ้ง ตัวอย่างเช่น, โมเดลต้นไม้การตัดสินใจ มีความไวสูงต่อการ overfitting แต่สามารถใช้เทคนิคที่เรียกว่า pruning เพื่อสุ่มลบรายละเอียดบางอย่างที่แบบจำลองได้เรียนรู้

หากคุณสร้างกราฟการคาดคะเนของโมเดลบนแกน X และ Y คุณจะมีเส้นการคาดคะเนที่ซิกแซกไปมา ซึ่งสะท้อนข้อเท็จจริงที่ว่าโมเดลพยายามอย่างหนักเกินไปที่จะใส่จุดทั้งหมดในชุดข้อมูลให้พอดี คำอธิบายของมัน

การควบคุมมากเกินไป

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

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

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

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

บล็อกเกอร์และโปรแกรมเมอร์ที่มีความเชี่ยวชาญด้าน เครื่องเรียนรู้ และ การเรียนรู้ลึก ๆ หัวข้อ Daniel หวังว่าจะช่วยให้ผู้อื่นใช้พลังของ AI เพื่อประโยชน์ทางสังคม