/ Machine Learning

ความท้าทายในการสร้างโมเดล Machine Learning

การพัฒนาโมเดล Machine Learning ต้องเจอความท้าทายอยู่เป็นปกติ ทั้งในด้านข้อมูลและในด้านการสอนโมเดล

ความท้าทายด้านข้อมูล

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

  1. ข้อมูล input ไม่สัมพันธ์กับคำตอบที่ต้องการ เช่น ใช้อายุเฉลี่ยของคนในชุมชนมาทำนายราคาที่ดินเฉลี่ยของชุมชนนั้น ทั้งๆที่อายุของผู้อยู่อาศัยกับราคาที่ดินอาจไม่สัมพันธ์กัน
  2. ลักษณะของข้อมูลที่ใช้สอนโมเดลไม่ตรงกับข้อมูลที่ใช้จริง เช่น ต้องการทำ image classification โดยรวบรวมข้อมูลที่เป็นรูปถ่ายคุณภาพสูงมาสอนโมเดล แต่ตอนใช้งานจริงกลับเป็นรูปถ่ายคุณภาพต่ำ
  3. ข้อมูลมีคุณภาพต่ำ
    • ข้อมูลขาดหาย เช่น ข้อมูลลูกค้าบางคนระบุอายุ บางคนไม่ได้ระบุ
    • ข้อมูลไม่ถูกต้อง เช่น ทีมงานจัดกลุ่มข้อมูลบางชิ้นผิดพลาด
    • Outliers ข้อมูลมีค่าโดดออกไปกว่าข้อมูลส่วนใหญ่มาก เช่น ต้องการสำรวจข้อมูลรายได้ แต่มีเพียงหนึ่งหรือสองคนมีรายได้พันล้านบาทต่อปี ซึ่งอาจจะไม่ใช่ข้อมูลที่เราต้องการสำหรับสร้างโมเดล
  4. ข้อมูลไม่เพียงพอ นอกจากต้องมีจำนวนข้อมูลทั้งหมดมากพอแล้ว ข้อมูลแต่ละประเภทก็ต้องมากพอเช่นกัน เช่น ถ้าเป็นข้อมูลเกี่ยวข้องกับคน เราควรมีข้อมูลของทุกเพศและวัยจำนวนมาก

ความท้าทายในการสอนโมเดล

  1. Underfitting โมเดลให้คำตอบไม่แม่นยำแม้แต่ใน training set วิธีแก้คือ
    • เลือกโมเดลที่มีความซับซ้อนมากขึ้น
    • หา feature ที่เป็นประโยชน์มากขึ้นสำหรับคำตอบที่ต้องการ
    • เพิ่มความยืดหยุ่นของโมเดลด้วยการลด Regularization
  2. Overfitting โมเดลให้คำตอบแม่นยำใน training set แต่ไม่แม่นยำใน test set วิธีแก้คือ
    • เลือกโมเดลที่มีความซับซ้อนน้อยลง
    • จำกัดความยืดหยุ่นของโมเดลด้วยการเพิ่ม Regularization
    • หาข้อมูลเพิ่มสำหรับสอนโมเดล
    • ปรับปรุงคุณภาพข้อมูล เป็นไปได้ว่ามีข้อมูลที่ไม่ถูกต้องใน training set จำนวนมาก ทำให้โมเดลเรียนรู้สิ่งผิดๆ จาก training set และใช้ใน test set ไม่ได้

Underfitting & Overfitting

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

Underfitting เป็นปัญหาที่แก้ได้ค่อนข้างง่าย ส่วนมากมักแก้ได้ด้วยการใช้โมเดลที่ซับซ้อนขึ้น

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

ส่งท้าย

ในทีนี้เราพูดถึงข้อมูล 2 กลุ่มคือ training set และ test set แต่ในความจริงเราต้องแบ่งข้อมูลออกเป็นมากกว่า 2 กลุ่มเพื่อการวัดผลที่ถูกต้อง ซึ่งเราจะพูดถึงในครั้งถัดไป

ความท้าทายในการสร้างโมเดล Machine Learning
Share this

Subscribe to Code on the Hill