Overfitting vs Underfitting คำที่ว่าด้วยปัญหาจากความซับซ้อนของข้อมูล

Overfitting vs Underfitting คำที่ว่าด้วยปัญหาจากความซับซ้อนของข้อมูล

Overfitting vs Underfitting คำที่ว่าด้วยปัญหาจากความซับซ้อนของข้อมูล

ในฐานะนักการตลาดสายดาต้าวัยเตาะแตะคนหนึ่ง การเข้ามาทำงานสายนี้ต้องประสบและพบเจอกับคำศัพท์แวดวงดาต้าใหม่ ๆ จำนวนมาก ทั้งเข้าใจก็ดี ไม่เข้าใจก็ดี อ่านแล้วก็งง ๆ เหมือนจะเข้าใจแต่ก็ไม่เข้าใจ นี่มันภาษาคนหรือภาษาเทพ!?!

โดยในบทความนี้เราจะพามารู้จักกับ Overfitting และ Underfitting ที่คนทำดาต้าต้องเจอแบบฉบับเข้าใจง่าย ย้ำว่าแบบง่ายแสนง่าย อธิบายแบบภาษาคนคุยกับคน คนแบบเรา ๆ ชาวเราวัยดิจิทัลเตาะแตะ

Overfitting คืออะไร?

Overfitting เป็นปัญหาที่เกิดขึ้นเมื่อสถานการณ์ที่เกิดขึ้นเมื่อแบบจำลองทางสถิติหรือ Machine learning ทำงานได้ดี มีความแม่นยำสูง ทำนายแม่นกับ training data แต่ทำงานได้แย่ ไม่แม่นยำ เมื่อเจอข้อมูลใหม่ ๆ หรือ ข้อมูลที่ไม่เคยเห็นมาก่อน (testing data)

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

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

เผื่อใครที่นึกภาพไม่ออก ขออธิบายแบบบ้าน ๆ อย่างนี้ค่ะ

  • โมเดลหรือ Machine Learning = เด็ก
  • Training data = ความรู้ที่เราต้องการสอน

เราพร่ำสอนเด็กมาเสมอ ป้อนข้อมูลใส่หัวว่า 1+1= 2 และ 2+2=4 มีข้อสอบ(ชุดข้อมูล) ให้ทำเป็นพัน ๆ ชุด เมื่อเราถามเด็กว่า 1+1 เท่ากับเท่าไหร่? เด็กจะตอบทันทีว่า 2 ซึ่งนี่คือความถูกต้องที่เราต้องการ และเด็กก็ตอบได้ถูก แต่เมื่อไหร่ที่เราถามเด็กว่า 1×1 เท่ากับเท่าไหร่ เด็กจะตอบไม่ได้ทันที อาจจะตอบได้แต่ตอบมั่วหรือไม่ถูก

เพราะเด็กไม่เคยถูกป้อนข้อมูลที่เป็นสมการที่ต้องใช้การคูณ (x) มาก่อน เราสอนเด็กแต่การบวก (+)

ที่มา: geeksforgeeks

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

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

สรุปแบบเข้าใจง่าย คือ แม่นจริงกับสิ่งที่เคย แต่แย่จริงกับสิ่งใหม่ ๆ

สาเหตุของ Overfitting

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

วิธีการป้องกัน Overfitting

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

Underfitting คืออะไร?

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

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

เผื่อใครที่นึกภาพไม่ออก ขออธิบายแบบบ้าน ๆ เหมือนกับตัวอย่างของ Overfitting อย่างนี้ค่ะ

  • โมเดลหรือ Machine Learning = เด็ก
  • Training data = ความรู้ที่เราต้องการสอน

ในกรณีนี้ คือเราไม่ได้สอนเด็ก หรือสอนแต่สอนแบบผิด ๆ ถูก ๆ ข้อสอบที่ให้ทำก็น้อย สอบแบบปล่อยปะละเลย เหมือนบอกนะ ว่า 1+1=2 แค่บอกแล้วคือ จบ ไม่ได้ต่อยอดหรือทำการทดสอบย้ำ ๆ เพื่อให้เด็กจดจำ พอถามว่า 1+1 เท่ากับเท่าไหร่ เด็กจะงง ไม่สามารถตอบได้ หรือตอบได้ก็ตอบแค่มั่ว ๆ ยิ่งเราไปถามว่า 1×1 เท่ากับอะไร เด็กจะอ๊องไปทันที

Overfitting vs Underfitting คำที่ว่าด้วยปัญหาจากความซับซ้อนของข้อมูล
ที่มา: geeksforgeeks

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

ทั้งนี้ทั้งนั้น ไม่ว่าจะเกิด OverfittingหรือUnderfitting สิ่งที่นักดาต้าต้องทำคือการพยายามทำให้โมเดลหรือ Machine Learning เป็นให้ได้อย่างรูปตรงกลางค่ะ เป็นสภาวะที่ไม่เพี้ยนจนเกินไป กำลังพอดี ใช้งานได้จริง

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

สาเหตุของ Underfitting

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

วิธีการแก้ไข Underfitting

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

สรุป Overfitting vs Underfitting คำที่ว่าด้วยปัญหาจากความซับซ้อนของข้อมูล

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

เหมือนเด็กที่เข้าเรียน (Overfitting) กับเด็กที่ขาดเรียน (Underfitting ) ที่เรียนอยู่ในห้องสี่เหลี่ยมปิดตาย เนื้อหาเหมือนกันแต่การรับรู้ข้อมูลที่ถูกป้อนเข้าไปไม่เหมือนกัน ประสิทธิภาพในการทำงานและการจัดการให้เด็กสองประเภทนี้เข้ารูปเข้ารอยจึงแตกต่างกันไปนั่นเอง

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

สำหรับใครที่อยากอ่านบทความเกี่ยวกับการตลาดเพิ่มเติม สามารถติดตามได้จาก เพจการตลาดวันละตอน รวมไปถึงเว็บไซต์ Twitter Instagram YouTube และ Blockdit ของการตลาดวันละตอนด้วยนะคะ

Source: https://www.geeksforgeeks.org/underfitting-and-overfitting-in-machine-learning/

Source: https://machinelearningmastery.com/overfitting-and-underfitting-with-machine-learning-algorithms/

Toey Waritsa

ใบเตย หรือเรียกว่าเตยก็ได้ค่ะ ทำ Data Research Insight เป็นอาชีพเสริม อาชีพหลักเลี้ยงแมว ทุกบทความเขียนออกมาด้วยความมุ่งมั่นและตั้งใจเพื่อหาเงินเลี้ยงแมวค่ะ😺🫶🏻

Leave a Reply

Your email address will not be published. Required fields are marked *