การสร้างโมเดลแมชชีนเลิร์นนิงไม่ได้เป็นเพียงแค่การป้อนข้อมูลเท่านั้น แต่ยังมีข้อบกพร่องมากมายที่ส่งผลต่อความแม่นยำของโมเดลใด ๆ ติดตั้งมากเกินไปใน เป็นข้อบกพร่องอย่างหนึ่งในการเรียนรู้ของเครื่องที่ขัดขวางความแม่นยำและประสิทธิภาพของแบบจำลอง หัวข้อต่อไปนี้ครอบคลุมในบทความนี้:
- Overfitting ใน Machine Learning คืออะไร?
- ตัวอย่างของ Overfitting
- สัญญาณเทียบกับเสียงรบกวน
- Underfitting คืออะไร?
- จะตรวจจับ Overfitting ได้อย่างไร?
- วิธีหลีกเลี่ยงการฟิตติ้งมากเกินไปในการเรียนรู้ของเครื่อง
- ความดีของความพอดีคืออะไร?
- การแลกเปลี่ยนระหว่างอคติและความแปรปรวน
Overfitting ใน Machine Learning คืออะไร?
มีการกล่าวว่าแบบจำลองทางสถิติจะติดตั้งมากเกินไปเมื่อเราป้อนข้อมูลจำนวนมากเกินความจำเป็น เพื่อให้ดูน่าสนใจลองนึกภาพว่าพยายามใส่เข้ากับเครื่องแต่งกายขนาดใหญ่
เมื่อโมเดลพอดีกับข้อมูลมากกว่าที่ต้องการจริงโมเดลจะเริ่มจับข้อมูลที่มีเสียงดังและค่าที่ไม่ถูกต้องในข้อมูล เป็นผลให้ประสิทธิภาพและความแม่นยำของแบบจำลองลดลง ลองมาดูตัวอย่างบางส่วนของการใส่มากเกินไปเพื่อที่จะเข้าใจว่ามันเกิดขึ้นได้อย่างไร
ตัวอย่างของ Overfitting
ตัวอย่าง 1
หากเรายกตัวอย่างง่ายๆ การถดถอยเชิงเส้น การฝึกอบรมข้อมูลเป็นข้อมูลเกี่ยวกับการหาต้นทุนขั้นต่ำระหว่างบรรทัดที่เหมาะสมที่สุดกับจุดข้อมูล ต้องผ่านการทำซ้ำหลายครั้งเพื่อค้นหาความเหมาะสมที่เหมาะสมที่สุดโดยลดต้นทุนให้น้อยที่สุด นี่คือจุดที่การติดตั้งมากเกินไปเข้ามาในภาพ
เส้นที่เห็นในภาพด้านบนสามารถให้ผลลัพธ์ที่มีประสิทธิภาพมากสำหรับจุดข้อมูลใหม่ ในกรณีของการติดตั้งมากเกินไปเมื่อเราเรียกใช้อัลกอริทึมการฝึกอบรมในชุดข้อมูลเราจะยอมให้ต้นทุนลดลงตามจำนวนการทำซ้ำแต่ละครั้ง
กำลังเรียกใช้สิ่งนี้ นานเกินไปจะหมายถึงต้นทุนที่ลดลง แต่ก็จะพอดีกับข้อมูลที่มีเสียงดังจากชุดข้อมูลด้วย ผลลัพธ์จะมีลักษณะดังนี้ในกราฟด้านล่าง
สิ่งนี้อาจดูมีประสิทธิภาพ แต่ไม่เป็นเช่นนั้น เป้าหมายหลักของอัลกอริทึมเช่น การถดถอยเชิงเส้น คือการค้นหาแนวโน้มที่โดดเด่นและพอดีกับจุดข้อมูลตามนั้น แต่ในกรณีนี้เส้นจะพอดีกับจุดข้อมูลทั้งหมดซึ่งไม่เกี่ยวข้องกับประสิทธิภาพของแบบจำลองในการทำนายผลลัพธ์ที่ดีที่สุดสำหรับจุดข้อมูลเข้าใหม่
ตอนนี้ให้เราพิจารณาตัวอย่างที่อธิบายเพิ่มเติมด้วยความช่วยเหลือของคำชี้แจงปัญหา
ตัวอย่าง 2
คำชี้แจงปัญหา: ให้เราพิจารณาว่าเราต้องการทำนายว่านักฟุตบอลจะเข้าสู่สล็อตในสโมสรฟุตบอลระดับ 1 หรือไม่โดยพิจารณาจากผลงานปัจจุบันของเขา / เธอในลีกระดับ 2
ลองนึกภาพเราฝึกและปรับให้เข้ากับโมเดลกับผู้เล่น 10,000 คนดังกล่าวพร้อมผลลัพธ์ เมื่อเราพยายามทำนายผลลัพธ์ของชุดข้อมูลดั้งเดิมให้บอกว่าเรามีความแม่นยำ 99% แต่ความแม่นยำของชุดข้อมูลที่แตกต่างกันนั้นอยู่ที่ประมาณ 50 เปอร์เซ็นต์ ซึ่งหมายความว่าโมเดลไม่สามารถสรุปได้ดีจากข้อมูลการฝึกอบรมของเราและข้อมูลที่มองไม่เห็น
นี่คือลักษณะของ overfitting เป็นปัญหาที่พบบ่อยมากใน Machine Learning และแม้แต่วิทยาศาสตร์ข้อมูล ตอนนี้ให้เราเข้าใจสัญญาณและเสียงรบกวน
สัญญาณเทียบกับเสียงรบกวน
ในการสร้างแบบจำลองเชิงคาดการณ์สัญญาณหมายถึงรูปแบบพื้นฐานที่แท้จริงที่ช่วยให้โมเดลเรียนรู้ข้อมูล ในทางกลับกันสัญญาณรบกวนไม่เกี่ยวข้องและเป็นข้อมูลแบบสุ่มในชุดข้อมูล เพื่อทำความเข้าใจแนวคิดเรื่องสัญญาณรบกวนและสัญญาณขอให้เราใช้ตัวอย่างในชีวิตจริง
สมมติว่าเราต้องการจำลองอายุเทียบกับการรู้หนังสือในหมู่ผู้ใหญ่ หากเราสุ่มตัวอย่างประชากรส่วนใหญ่เราจะพบความสัมพันธ์ที่ชัดเจน นี่คือสัญญาณในขณะที่สัญญาณรบกวนรบกวนสัญญาณ หากเราทำเช่นเดียวกันกับประชากรในท้องถิ่นความสัมพันธ์จะกลายเป็นโคลน มันจะได้รับผลกระทบจากค่าผิดปกติและการสุ่มเช่นผู้ใหญ่คนหนึ่งไปโรงเรียนเร็วหรือผู้ใหญ่บางคนไม่สามารถจ่ายค่าการศึกษาได้เป็นต้น
เมื่อพูดถึงสัญญาณรบกวนและสัญญาณในแง่ของ Machine Learning อัลกอริทึม Machine Learning ที่ดีจะแยกสัญญาณออกจากสัญญาณรบกวนโดยอัตโนมัติ หากอัลกอริทึมซับซ้อนเกินไปหรือไม่มีประสิทธิภาพก็อาจเรียนรู้สัญญาณรบกวนได้เช่นกัน ดังนั้นการติดตั้งโมเดลมากเกินไป ขอให้เราเข้าใจถึงความเหมาะสมใน Machine Learning ด้วยเช่นกัน
Underfitting คืออะไร?
เพื่อหลีกเลี่ยงการฟิตติ้งมากเกินไปเราสามารถหยุดการฝึกได้ในระยะก่อนหน้านี้ แต่ก็อาจทำให้แบบจำลองไม่สามารถเรียนรู้จากข้อมูลการฝึกอบรมได้เพียงพอซึ่งอาจพบว่าเป็นการยากที่จะจับเทรนด์ที่โดดเด่น สิ่งนี้เรียกว่า underfitting ผลลัพธ์ก็เหมือนกับการใส่อุปกรณ์มากเกินไปไม่มีประสิทธิภาพในการทำนายผลลัพธ์
ตอนนี้เราได้เข้าใจแล้วว่าอะไรคือสิ่งที่ไม่เหมาะสมและมากเกินไปใน Machine Learning ให้เราพยายามทำความเข้าใจว่าเราสามารถตรวจจับการฟิตติ้งมากเกินไปใน Machine Learning ได้อย่างไร
วิธีตรวจจับ Overfitting?
ความท้าทายหลักในการใส่อุปกรณ์มากเกินไปคือการประเมินความแม่นยำของประสิทธิภาพของโมเดลของเราด้วยข้อมูลใหม่ เราจะไม่สามารถประมาณความแม่นยำได้จนกว่าเราจะทดสอบจริง
เพื่อแก้ไขปัญหานี้เราสามารถแบ่งชุดข้อมูลเริ่มต้นออกเป็นชุดข้อมูลการฝึกอบรมและการทดสอบแยกกัน ด้วยเทคนิคนี้เราสามารถประมาณได้ว่าแบบจำลองของเราจะทำงานได้ดีเพียงใดกับข้อมูลใหม่
ขอให้เราเข้าใจสิ่งนี้ด้วยตัวอย่างสมมติว่าเราได้รับความแม่นยำ 90+ เปอร์เซ็นต์ในชุดการฝึกอบรมและความแม่นยำ 50 เปอร์เซ็นต์ในชุดทดสอบ จากนั้นโดยอัตโนมัติจะเป็นธงสีแดงสำหรับรุ่น
อีกวิธีในการตรวจจับการติดตั้งมากเกินไป คือการเริ่มต้นด้วยรูปแบบที่เรียบง่ายซึ่งจะใช้เป็นเกณฑ์มาตรฐาน
ด้วยวิธีนี้หากคุณลองใช้อัลกอริทึมที่ซับซ้อนมากขึ้นคุณจะสามารถเข้าใจได้ว่าความซับซ้อนที่เพิ่มขึ้นนั้นคุ้มค่ากับโมเดลหรือไม่ เป็นที่รู้จักกันในชื่อ การทดสอบมีดโกนของ Occam โดยพื้นฐานแล้วจะเลือกโมเดลที่เรียบง่ายในกรณีที่มีประสิทธิภาพเทียบเท่ากันในกรณีของสองรุ่น แม้ว่าการตรวจจับการสวมใส่มากเกินไปจะเป็นแนวทางปฏิบัติที่ดีแต่ก็มีเทคนิคหลายอย่างในการป้องกันการติดตั้งมากเกินไปเช่นกัน มาดูกันว่าเราจะป้องกันการฟิตติ้งมากเกินไปใน Machine Learning ได้อย่างไร
จะหลีกเลี่ยงการฟิตติ้งมากเกินไปในการเรียนรู้ของเครื่องได้อย่างไร
มีเทคนิคหลายอย่างในการหลีกเลี่ยงการใส่อุปกรณ์มากเกินไปใน Machine Learning ตามรายการด้านล่าง
1. การตรวจสอบความถูกต้องข้ามกัน
หนึ่งในคุณสมบัติที่ทรงพลังที่สุดในการหลีกเลี่ยง / ป้องกันการใส่อุปกรณ์มากเกินไปคือการตรวจสอบความถูกต้องข้ามกัน แนวคิดเบื้องหลังนี้คือการใช้ข้อมูลการฝึกอบรมเบื้องต้นเพื่อสร้างการทดสอบรถไฟขนาดเล็กจากนั้นใช้ตัวแยกเหล่านี้เพื่อปรับแต่งโมเดลของคุณ
ในการตรวจสอบความถูกต้อง k-fold มาตรฐานข้อมูลจะถูกแบ่งออกเป็น k-subsets หรือที่เรียกว่า folds หลังจากนี้อัลกอริทึมจะได้รับการฝึกฝนซ้ำ ๆ กับการพับ k-1 ในขณะที่ใช้การพับที่เหลือเป็นชุดการทดสอบหรือที่เรียกว่าการพับเก็บ
การตรวจสอบความถูกต้องข้ามระบบช่วยให้เราสามารถปรับแต่งพารามิเตอร์ที่หลากหลายด้วยชุดการฝึกอบรมเดิมเท่านั้น โดยพื้นฐานแล้วจะเก็บชุดทดสอบแยกกันเป็นชุดข้อมูลที่มองไม่เห็นจริงสำหรับการเลือกแบบจำลองขั้นสุดท้าย ดังนั้นควรหลีกเลี่ยงการฟิตติ้งมากเกินไป
2. การฝึกอบรมด้วยข้อมูลเพิ่มเติม
เทคนิคนี้อาจใช้ไม่ได้ทุกครั้งดังที่เราได้กล่าวไปแล้วในตัวอย่างข้างต้นซึ่งการฝึกอบรมกับประชากรจำนวนมากช่วยให้โมเดล โดยพื้นฐานแล้วจะช่วยโมเดลในการระบุสัญญาณได้ดีขึ้น
แต่ในบางกรณีข้อมูลที่เพิ่มขึ้นอาจหมายถึงการเพิ่มสัญญาณรบกวนให้กับตัวแบบมากขึ้น เมื่อเรากำลังฝึกโมเดลด้วยข้อมูลมากขึ้นเราต้องแน่ใจว่าข้อมูลนั้นสะอาดและปราศจากการสุ่มและความไม่สอดคล้องกัน
3. การลบคุณสมบัติ
แม้ว่าอัลกอริทึมบางอย่างจะมีคุณสมบัติให้เลือกโดยอัตโนมัติ สำหรับผู้ที่ไม่มีการเลือกคุณลักษณะในตัวจำนวนมากเราสามารถลบคุณลักษณะที่ไม่เกี่ยวข้องบางอย่างออกจากคุณลักษณะการป้อนข้อมูลด้วยตนเองเพื่อปรับปรุงลักษณะทั่วไป
วิธีหนึ่งที่จะทำได้คือการหาข้อสรุปว่าคุณลักษณะนั้นเข้ากับโมเดลอย่างไร ค่อนข้างคล้ายกับการดีบักโค้ดทีละบรรทัด
ในกรณีที่คุณสมบัติไม่สามารถอธิบายความเกี่ยวข้องในโมเดลได้เราก็สามารถระบุคุณสมบัติเหล่านั้นได้ เรายังสามารถใช้การวิเคราะห์พฤติกรรมการเลือกคุณลักษณะบางอย่างเพื่อเป็นจุดเริ่มต้นที่ดี
4. การหยุดก่อนกำหนด
เมื่อโมเดลกำลังฝึกคุณสามารถวัดได้ว่าโมเดลทำงานได้ดีเพียงใดโดยพิจารณาจากการทำซ้ำแต่ละครั้ง เราสามารถดำเนินการนี้ได้จนถึงจุดที่การทำซ้ำปรับปรุงประสิทธิภาพของโมเดล หลังจากนี้โมเดลจะปรับแต่งข้อมูลการฝึกอบรมมากเกินไปเนื่องจากลักษณะทั่วไปอ่อนตัวลงหลังจากการทำซ้ำแต่ละครั้ง
โดยพื้นฐานแล้วการหยุดก่อนกำหนดหมายถึงการหยุดกระบวนการฝึกอบรมก่อนที่โมเดลจะผ่านจุดที่โมเดลเริ่มปรับแต่งข้อมูลการฝึกอบรมมากเกินไป เทคนิคนี้ส่วนใหญ่จะใช้ใน การเรียนรู้เชิงลึก .
5. การทำให้เป็นมาตรฐาน
โดยพื้นฐานแล้วหมายถึงการบังคับให้แบบจำลองของคุณง่ายขึ้นโดยใช้เทคนิคที่กว้างขึ้น ทั้งหมดขึ้นอยู่กับประเภทของผู้เรียนที่เราใช้ ตัวอย่างเช่นเราสามารถตัด a ใช้การออกกลางคันในไฟล์ โครงข่ายประสาท หรือเพิ่มพารามิเตอร์การลงโทษให้กับฟังก์ชันต้นทุนในการถดถอย
บ่อยครั้งที่การทำให้สม่ำเสมอเป็นไฮเปอร์พารามิเตอร์เช่นกัน หมายความว่าสามารถปรับแต่งผ่านการตรวจสอบความถูกต้องข้ามกันได้
6. การประกอบ
เทคนิคนี้โดยพื้นฐานแล้วจะรวมการคาดการณ์จากโมเดล Machine Learning ต่างๆ วิธีการทั่วไปสองวิธีในการประกอบชุดมีดังต่อไปนี้:
การบรรจุถุงจะพยายามลดโอกาสที่จะสวมใส่โมเดลมากเกินไป
เพิ่มความพยายามในการปรับปรุงความยืดหยุ่นในการคาดการณ์ของแบบจำลองที่ง่ายขึ้น
แม้ว่าทั้งคู่จะเป็นวิธีการทั้งสองแบบ แต่แนวทางทั้งหมดเริ่มต้นจากทิศทางตรงกันข้าม การบรรจุถุงใช้แบบจำลองพื้นฐานที่ซับซ้อนและพยายามทำให้การคาดการณ์เป็นไปอย่างราบรื่นในขณะที่การเพิ่มประสิทธิภาพจะใช้โมเดลพื้นฐานที่เรียบง่ายและพยายามเพิ่มความซับซ้อนโดยรวม
ความดีของความพอดีคืออะไร?
ในการสร้างแบบจำลองทางสถิติความดีของความพอดีหมายถึงว่าผลลัพธ์หรือค่าที่คาดการณ์นั้นตรงกับค่าที่สังเกตหรือค่าจริงมากเพียงใดแบบจำลองที่เรียนรู้สัญญาณรบกวนแทนที่จะเป็นสัญญาณจะติดตั้งมากเกินไปเนื่องจากจะพอดีกับชุดข้อมูลการฝึกอบรม แต่จะมีประสิทธิภาพต่ำกว่าเมื่อใช้ชุดข้อมูลใหม่
การแลกเปลี่ยนระหว่างอคติและความแปรปรวน
ทั้งความแปรปรวนและความลำเอียงเป็นรูปแบบของข้อผิดพลาดในการคาดคะเน . การแลกเปลี่ยนระหว่างความแปรปรวนสูงและอคติสูงเป็นแนวคิดที่สำคัญมากในสถิติและการเรียนรู้ของเครื่อง นี่เป็นแนวคิดหนึ่งที่มีผลต่ออัลกอริทึม Machine Learning ที่อยู่ภายใต้การดูแลทั้งหมด
การแลกเปลี่ยนอคติและความแปรปรวนมีผลกระทบอย่างมีนัยสำคัญต่อการกำหนดความซับซ้อนความไม่เหมาะสมและความเหมาะสมมากเกินไปสำหรับโมเดลการเรียนรู้ของเครื่องใด ๆ
วิธีใช้ goto c ++
อคติ
ไม่มีอะไรนอกจากความแตกต่างระหว่างค่าทำนายและค่าจริงหรือค่าจริงในแบบจำลอง ไม่ใช่เรื่องง่ายเสมอไปที่โมเดลจะเรียนรู้จากสัญญาณที่ค่อนข้างซับซ้อน
ให้เราจินตนาการถึงความเหมาะสม การถดถอยเชิงเส้น ไปยังโมเดลที่มีข้อมูลที่ไม่ใช่เชิงเส้น ไม่ว่าแบบจำลองจะเรียนรู้การสังเกตได้อย่างมีประสิทธิภาพเพียงใด แต่ก็ไม่สามารถจำลองเส้นโค้งได้อย่างมีประสิทธิภาพ เป็นที่รู้จักกันในชื่อ underfitting
ความแปรปรวน
หมายถึงความไวของโมเดลต่อชุดเฉพาะในข้อมูลการฝึกอบรม อัลกอริธึมความแปรปรวนสูงจะสร้างแบบจำลองที่แปลกประหลาดซึ่งแตกต่างจากชุดการฝึกอบรมอย่างมาก
ลองนึกภาพอัลกอริทึมที่เหมาะกับโมเดลที่ไม่มีข้อ จำกัด และยืดหยุ่นเป็นพิเศษมันจะเรียนรู้จากเสียงรบกวนในชุดฝึกที่ทำให้เกิดการติดตั้งมากเกินไป
การแลกเปลี่ยนอคติ - ความแปรปรวน
อัลกอริทึมการเรียนรู้ของเครื่องไม่สามารถมองว่าเป็นวิธีการเพียงครั้งเดียวในการฝึกโมเดล แต่เป็นกระบวนการซ้ำ ๆ
อัลกอริธึมอคติสูงที่มีความแปรปรวนต่ำมีความซับซ้อนน้อยโดยมีโครงสร้างที่เรียบง่ายและเข้มงวด
พวกเขาจะฝึกโมเดลที่สอดคล้องกัน แต่ไม่ถูกต้องโดยเฉลี่ย
ซึ่งรวมถึงอัลกอริทึมเชิงเส้นหรือพาราเมตริกเช่นการถดถอย ฯลฯ
อัลกอริธึมอคติที่มีความแปรปรวนสูง - ต่ำมีแนวโน้มที่จะซับซ้อนมากขึ้นโดยมีโครงสร้างที่ยืดหยุ่น
พวกเขาจะฝึกโมเดลที่ไม่สอดคล้องกัน แต่แม่นยำโดยเฉลี่ย
ซึ่งรวมถึงอัลกอริทึมที่ไม่ใช่เชิงเส้นหรือไม่ใช่พารามิเตอร์เช่น , ฯลฯ
เรามาถึงตอนท้ายของบทความนี้ซึ่งเราได้เรียนรู้ Overfitting ใน Machine learning และเกี่ยวกับเทคนิคต่างๆที่ควรหลีกเลี่ยง ฉันหวังว่าคุณจะชัดเจนกับทุกสิ่งที่แบ่งปันกับคุณในบทแนะนำนี้
หากคุณพบบทความเรื่อง“ Overfitting In Machine Learning” เกี่ยวข้องโปรดดูที่ไฟล์ บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้พร้อมเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก
เราพร้อมช่วยเหลือคุณในทุกขั้นตอนในการเดินทางและจัดทำหลักสูตรที่ออกแบบมาสำหรับนักเรียนและผู้เชี่ยวชาญที่ต้องการเป็น . หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นในการเขียนโปรแกรม Python และฝึกอบรมแนวคิด Python ทั้งหลักและขั้นสูงพร้อมกับ ชอบ , ฯลฯ
หากคุณพบคำถามใด ๆ โปรดอย่าลังเลที่จะถามคำถามทั้งหมดของคุณในส่วนความคิดเห็นของ“ Overfitting In Machine Learning” และทีมของเรายินดีที่จะตอบ