ML Model Framework : General ML Model Framework

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

General ML Model Framework

จุดประสงค์ในการสร้างโมเดล Machine Learning เพื่อนำไปใช้งานมีหลายแบบ ที่คุ้นเคยกันดีคือ

  1. Prediction – การทำนายหรือคาดการณ์ผลลัพธ์ที่จะเกิดขึ้น
  2. Classification – การจำแนกประเภท หรือแบ่งข้อมูลออกเป็นกลุ่มต่างๆ
  3. Clustering – การจัดกลุ่มข้อมูลที่มีลักษณะคล้ายคลึงกัน
  4. Anomaly Detection – การระบุข้อมูลที่มีความแตกต่างหรือผิดปกติจากรูปแบบทั่วไป
  5. Generation – การสร้างข้อมูลใหม่จากข้อมูลเดิมที่มีอยู่

สมมติว่าตอนนี้เราต้องการสร้าง โมเดล ML เพื่อที่จะทำนายว่าลูกค้าคนใดจะผิดนัดชำระหนี้ หรืออีกนัยหนึ่งคือการสร้าง Classification Model เพื่อแบ่งลูกค้าออกเป็น 2 กลุ่ม 1) กลุ่มที่มีแนวโน้มชำระหนี้ตามกำหนด และ 2) กลุ่มที่มีแนวโน้มผิดนัดชำระหนี้

เมื่อเราได้จุดประสงค์แล้ว ขั้นตอนการสร้างโมเดลที่เราจะทำตามรูปแบบทั่วไป คือ

1. Data Collection

เก็บรวบรวมข้อมูลที่เกี่ยวข้อง

ตัวอย่างเช่น:

  • เรารวบรวมข้อมูลลูกค้าจากฐานข้อมูล ได้แก่ อายุ รายได้ ประวัติการชำระเงิน วงเงินบัตรเครดิต ข้อมูลการผิดนัดชำระหนี้ในอดีต (เช่น การผิดนัดชำระเกิน 90 วัน)
  • ในขั้นตอนนี้เราอาจจะได้ชุดข้อมูลที่ประกอบไปด้วยลูกค้า 100,000 ราย โดยแต่ละรายมีข้อมูล 20 คอลัมน์ แต่ละคอลัมน์คือข้อมูลลักษณะต่างๆของลูกค้า (อายุ รายได้ ฯลฯ) และมีคอลัมน์ที่แสดงข้อมูลที่เราต้องการทำนาย (ข้อมูลที่ต้องการจำแนกประเภท) นั่นคือสถานะการผิดนัดชำระหนี้

2. Data Pre-Processing

คือ การประมวลผลข้อมูลเบื้องต้น เช่น การตรวจสอบและจัดการข้อมูลที่หายไป โดยแทนที่ด้วยค่าเฉลี่ยหรือลบแถวที่มีข้อมูลไม่สมบูรณ์

ตัวอย่าง จากข้อมูลลูกค้าที่รวบรวมมาในขั้นตอนก่อนหน้า:

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

3. Split Data (Train & Test Set)

คือ การแบ่งชุดข้อมูลสำหรับการเทรน/ฝึกฝนโมเดล และการทดสอบประสิทธิภาพโมเดล

ตัวอย่าง:

  • แบ่งข้อมูลเป็น 80% สำหรับการฝึกฝนหรือเทรนโมเดล และ 20% สำหรับการทดสอบ
  • ตรวจสอบว่าข้อมูลทั้งสองชุดมีสัดส่วนของลูกค้าที่ผิดนัดชำระหนี้ใกล้เคียงกัน (stratified sampling)
  • ในขั้นตอนนี้ เราอาจจะได้ชุดข้อมูลฝึกฝน 76,000 ราย และชุดข้อมูลทดสอบ 19,000 ราย

4. Model Training

คือ ขั้นตอนการเลือกอัลกอริทึมและการนำข้อมูลไปใช้ฝึกฝนโมเดล

ตัวอย่าง:

  • เริ่มต้นการเทรนข้อมูลด้วยโมเดลพื้นฐาน เช่น Logistic Regression
  • ทดลองใช้โมเดลที่ซับซ้อนขึ้น เช่น Random Forest
  • ใช้เทคนิค cross-validation เพื่อปรับแต่งพารามิเตอร์ของโมเดล
  • ในขั้นตอนนี้เราบันทึกผลลัพธ์ที่ต่างๆได้จากการเทรนโมเดล

5. Model Evaluation

คือ การใช้ชุดข้อมูลทดสอบเพื่อประเมินประสิทธิภาพของโมเดล

  • พิจารณา metrics ต่างๆ เช่น accuracy, precision, recall, F1-score
  • เปรียบเทียบความแตกต่างของค่า metrics บนชุดข้อมูลที่ฝึกฝนและชุดข้อมูลที่ทดสอบ

ตัวอย่าง:

  • Random Forest ให้ AUC 0.80 บนชุดข้อมูลทดสอบ
  • Precision: 0.72 (72% ของลูกค้าที่โมเดลทำนายว่าจะผิดนัดชำระหนี้ ผิดนัดชำระหนี้จริง)
  • Recall: 0.65 (จากจำนวนลูกค้าที่ผิดนัดชำระหนี้จริงทั้งหมด โมเดลทำนายได้ถูกต้อง 65%)

6. Model Deployment

คือ การเตรียมโครงสร้างพื้นฐานสำหรับการใช้งานโมเดลในระบบจริง

ตัวอย่าง:

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

การสร้างหรือพัฒนาโมเดลตามรูปแบบข้างต้นคือการทำตามขั้นตอนมาตรฐานเพื่อให้ได้โมเดลที่มีความแม่นยำที่ดี สามารถทำนายแนวโน้มของลูกค้าที่จะผิดชำระหนี้หรือไม่ผิดชำระหนี้ได้อย่างถูกต้อง และในขณะเดียวกันก็สามารถนำโมเดลนี้ไปใช้ได้กับข้อมูลใหม่ๆที่โมเดลไม่เคยเห็นมาก่อนได้ด้วยไม่ใช่แค่กับเฉพาะกับชุดข้อมูลลูกค้าที่ฝึกฝนมา (optimized bias-variance tradeoff)

อย่างไรก็ตามกระบวนการสร้างโมเดลนั้นมีสมมติฐานบางอย่างอยู่เบื้องหลังที่ส่งผลต่อประสิทธภาพของโมเดล โดยที่หลายๆคนอาจไม่ได้นึกถึง นั่นคือ สมมติฐาน IID (Independent and Identically Distributed) สามาเข้าไปอ่านต่อได้ที่นี่เลย <คลิก>

Chat Widget - Davoy.tech