/ Machine Learning

ภาพรวมการทำโปรเจค Machine Learning

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

1. เข้าใจปัญหาที่เผชิญอย่างถ่องแท้

ขั้นแรก เราต้องเข้าใจปัญหาที่ต้องการแก้เสียก่อน ฟังดูเหมือนง่าย แต่บางครั้งเราก็ไม่ได้ทำอย่างนั้น เช่น

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

2. รวบรวมข้อมูล

อย่าลืมจัดแบ่งข้อมูลส่วน Test set สำหรับทดสอบโมเดลในขั้นสุดท้ายออกมาก่อน

3. ทำความเข้าใจข้อมูล

สามารถทำได้หลายวิธี เช่น

  • นำตัวอย่างข้อมูลมาดู เพื่อให้เข้าใจลักษณะของข้อมูล
  • พล็อตกราฟเพื่อดูการกระจายตัวของข้อมูล โดยทั่วไปจะใช้ matplotlib ในการวาด
  • ดู correlation ระหว่างแต่ละ feature กับ target
  • ทดลองสร้าง feature ใหม่ๆ จาก feature เดิมแล้ววัด correlation กับ target

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

4. เตรียมข้อมูลสำหรับโมเดล

เราจำเป็นต้องปรับข้อมูลให้เหมาะกับการสอนโมเดลด้วยวิธีการต่างๆ

  • จัดการข้อมูลส่วนที่ไม่สมบูรณ์ เช่น ลบข้อมูลที่ไม่สมบูรณ์ทิ้ง หรือเติมข้อมูลที่หายไปด้วยค่าเฉลี่ยของ feature นั้น
  • แปลง feature ที่เป็นตัวอักษรให้เป็นตัวเลข
  • feature scaling ให้ข้อมูลอยู่ในช่วงตัวเลขเล็กๆ ประมาณ 0 - 1

5. เลือกและสอนโมเดล

  • แบ่งข้อมูลส่วนที่ไม่ใช่ Test set เป็น Training set และ Validation Set
  • สอนโมเดลหลายประเภทด้วย Training set แล้วเลือกโมเดลจำนวนหนึ่งที่มีผลการวัดบน Validation set ที่สามารถนำมาใช้งานได้

6. Fine-tune โมเดล

นำโมเดลที่เลือกมาทดลองปรับค่าต่างๆ (hyperparameters) โดยสอนแต่ละโมเดลด้วย Training set จากนั้นเลือกโมเดลที่ได้ผลการวัดบน Validation set ดีที่สุด และนำไปวัดผลอีกครั้งบน Test set ก่อนนำไปใช้จริง

7. นำโมเดลไปใช้งานจริง

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

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

ส่งท้าย

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

ภาพรวมการทำโปรเจค Machine Learning
Share this

Subscribe to Code on the Hill