Overfitting ใน Machine Learning คืออะไร?

เผยแพร่แล้ว: 2024-10-15

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

สารบัญ

  • โอเวอร์ฟิตติ้งคืออะไร?
  • การสวมอุปกรณ์มากเกินไปเกิดขึ้นได้อย่างไร
  • ฟิตติ้งมากเกินไปกับฟิตติ้งน้อยเกินไป
  • อะไรทำให้เกิดฟิตติ้งมากเกินไป?
  • วิธีตรวจจับการโอเวอร์ฟิต
  • วิธีการหลีกเลี่ยงการสวมใส่มากเกินไป
  • ตัวอย่างของการโอเวอร์ฟิต

ทำงานอย่างชาญฉลาดยิ่งขึ้นด้วย Grammarly
คู่หูการเขียน AI สำหรับใครก็ตามที่มีงานทำ

โอเวอร์ฟิตติ้งคืออะไร?

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

การโอเวอร์ฟิตเกิดขึ้นได้อย่างไร?

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

ฟิตติ้งมากเกินไปกับฟิตติ้งน้อยเกินไป

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

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

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

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

2ความพอดีที่เหมาะสมที่สุด:ตัวอย่างที่สองแสดงแบบจำลองที่มีความสมดุลที่เหมาะสม โดยจะจับแนวโน้มที่ซ่อนอยู่ในข้อมูลโดยไม่ทำให้ซับซ้อนเกินไป โมเดลนี้สรุปได้ดีกับข้อมูลใหม่ เนื่องจากไม่ได้พยายามปรับให้เข้ากับรูปแบบเล็กๆ น้อยๆ ทุกรูปแบบในข้อมูลการฝึก—เพียงรูปแบบหลักเท่านั้น

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

สาเหตุทั่วไปของการสวมใส่มากเกินไป

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

  • ข้อมูลการฝึกอบรมไม่เพียงพอ
  • ข้อมูลไม่ถูกต้อง ผิดพลาด หรือไม่เกี่ยวข้อง
  • น้ำหนักขนาดใหญ่
  • การทาบทาม
  • สถาปัตยกรรมแบบจำลองมีความซับซ้อนเกินไป

ข้อมูลการฝึกอบรมไม่เพียงพอ

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

ข้อมูลไม่ถูกต้อง ผิดพลาด หรือไม่เกี่ยวข้อง

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

น้ำหนักขนาดใหญ่

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

การทาบทาม

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

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

สถาปัตยกรรมแบบจำลองซับซ้อนเกินไป

สถาปัตยกรรมของโมเดลการเรียนรู้ของเครื่องหมายถึงโครงสร้างเลเยอร์และเซลล์ประสาทของโมเดลและวิธีที่พวกมันโต้ตอบกับการประมวลผลข้อมูล

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

วิธีตรวจจับการโอเวอร์ฟิต

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

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

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

ข้อความแสดงแทน: กราฟแสดงการสูญเสียการฝึกลดลง และการสูญเสียการตรวจสอบความถูกต้องเพิ่มขึ้น ซึ่งบ่งชี้ถึงโมเดลที่พอดีเกินไป

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

วิธีการหลีกเลี่ยงการสวมใส่มากเกินไป

การแก้ไขมากเกินไปสามารถแก้ไขได้โดยใช้เทคนิคต่างๆ ต่อไปนี้เป็นวิธีการทั่วไปบางส่วน:

ลดขนาดโมเดล

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

ทำให้โมเดลเป็นปกติ

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

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

เพิ่มข้อมูลการฝึกอบรมเพิ่มเติม

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

ใช้การลดขนาด

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

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

ตัวอย่างการปฏิบัติของการโอเวอร์ฟิต

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

การจำแนกประเภทภาพ

ตัวแยกประเภทรูปภาพได้รับการออกแบบมาเพื่อจดจำวัตถุในรูปภาพ เช่น รูปภาพที่มีนกหรือสุนัข

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

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

การสร้างแบบจำลองทางการเงิน

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

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

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

ความเชื่อโชคลางกีฬา

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

ในระหว่างการแข่งขันฟุตบอลชิงแชมป์แห่งชาติยุโรป 2008 และฟุตบอลโลก 2010 ปลาหมึกยักษ์ชื่อพอลถูกใช้อย่างมีชื่อเสียงในการทำนายผลการแข่งขันที่เกี่ยวข้องกับเยอรมนี พอลได้รับคำทำนายที่ถูกต้อง 4 ใน 6 ข้อในปี 2551 และทั้งหมด 7 ข้อในปี 2553

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