Overfitting & Underfitting ในการเรียนรู้ของเครื่องคืออะไร? [ทุกสิ่งที่คุณต้องเรียนรู้]

เผยแพร่แล้ว: 2020-02-18

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

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

โดยไม่ต้องตีรอบพุ่มไม้ มาดำดิ่งกันใน:

สารบัญ

โมเดลข้อมูลคืออะไร?

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

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

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

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

การฝึกอบรมและการทดสอบข้อมูล

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

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

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

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

คุณกำหนดพหุนามตามลำดับของมัน ลำดับของพหุนามคือกำลังสูงสุดของ x ในสมการ และลำดับของพหุนามแสดงดีกรีของมันด้วย เช่น สมการเส้นตรงมี 1 องศา

ความสำคัญของการแก้ไข Overfitting และ Underfitting ในการเรียนรู้ของเครื่อง

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

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

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

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

ตอนนี้เรารู้แนวคิดพื้นฐานของพวกมันแล้ว เรามาพูดถึงรายละเอียดแต่ละข้อกัน:

Overfitting คืออะไร?

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

ตัวอย่างที่ชัดเจนของ Overfitting ในแมชชีนเลิร์นนิงอาจเป็นกราฟที่จุดทั้งหมดเชื่อมต่อเป็นเส้นตรง เราต้องการจับแนวโน้ม แต่แผนภูมิไม่ทำอย่างนั้น

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

จะทำอย่างไรเมื่อสังเกตเห็น Overfitting?

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

ลดการวนซ้ำ

โดยการลดจำนวนการทำซ้ำที่เรียกใช้ก่อน Overfitting จะเกิดขึ้น เราสามารถหยุดไม่ให้มันเกิดขึ้นได้ คุณสามารถค้นหาจำนวนการวนซ้ำที่แน่นอนได้โดยวิธีการลองผิดลองถูก

การทำให้เป็นมาตรฐาน

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

การตัดแต่งกิ่ง (มาตรฐาน)

วิธีที่ง่ายและธรรมดาที่สุดในการหลีกเลี่ยง Overfitting คือการตัดแต่งกิ่ง มันกำจัดโหนดใด ๆ ที่เพิ่มพลังการทำนายเพียงเล็กน้อยหรือไม่มีเลย

การตรวจสอบข้ามห้าเท่า

การใช้การตรวจสอบความถูกต้องข้ามเป็นหนึ่งในวิธีการที่ซับซ้อนน้อยกว่าในการตรวจสอบ Overfitting

Underfitting คืออะไร?

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

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

จะทำอย่างไรเมื่อสังเกตเห็น Underfitting?

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

อ่าน: แนวคิดโครงการการเรียนรู้ของเครื่องที่น่าสนใจ

ตีจุดหวาน

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

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

บทสรุป

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

การทำความคุ้นเคยกับข้อผิดพลาดดังกล่าวเป็นสิ่งสำคัญหากคุณต้องการเป็นผู้เชี่ยวชาญด้านแมชชีนเลิร์นนิง หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิงและวิทยาศาสตร์ข้อมูล โปรดดูประกาศนียบัตร PG ของ IIIT-B และ upGrad ในการเรียนรู้เครื่องจักรและ AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง กรณีศึกษาและการมอบหมายมากกว่า 30 รายการ , สถานะศิษย์เก่า IIIT-B, 5+ โครงการหลักที่ใช้งานได้จริง & ความช่วยเหลือด้านงานกับบริษัทชั้นนำ

เตรียมความพร้อมสู่อาชีพแห่งอนาคต

PG DIPLOMA ในการเรียนรู้ของเครื่องและปัญญาประดิษฐ์
เรียนรู้เพิ่มเติม