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

จุดประสงค์ในการสร้างโมเดล Machine Learning เพื่อนำไปใช้งานมีหลายแบบ ที่คุ้นเคยกันดีคือ
- Prediction – การทำนายหรือคาดการณ์ผลลัพธ์ที่จะเกิดขึ้น
- Classification – การจำแนกประเภท หรือแบ่งข้อมูลออกเป็นกลุ่มต่างๆ
- Clustering – การจัดกลุ่มข้อมูลที่มีลักษณะคล้ายคลึงกัน
- Anomaly Detection – การระบุข้อมูลที่มีความแตกต่างหรือผิดปกติจากรูปแบบทั่วไป
- 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) สามาเข้าไปอ่านต่อได้ที่นี่เลย <คลิก>

