Machine learn Model Development Pipeline — Tuning, Final Model, and Internal Validation

การสร้าง prediction model ที่ดี จำเป็นต้องแยก 3 ขั้นตอนสำคัญ ออกจากกันอย่างชัดเจน เพราะแต่ละขั้นตอบคำถามทางระเบียบวิธีคนละข้อ
หากไม่แยกทั้ง 3 ขั้นตอนนี้ออกจากกัน ผลลัพธ์ที่ได้มักจะ มีอคติและทำซ้ำได้ยาก


1. การปรับจูนพารามิเตอร์
วัตถุประสงค์
เลือกชุดพารามิเตอร์ของโมเดลที่ทำให้สมรรถนะบนข้อมูลใหม่ดีที่สุด
วิธีที่แนะนำ: Cross-validation
กลไก
- แบ่งข้อมูลออกเป็น K folds
- ใช้ K−1 folds สำหรับฝึกโมเดล
- ใช้ fold ที่เหลือสำหรับทดสอบ
- ทำซ้ำจนครบทุก folds
- นำผลสมรรถนะมาเฉลี่ย
ความหมายเชิงระเบียบวิธี
ทำไมขั้นตอนนี้จึงสำคัญ
การปรับจูนพารามิเตอร์เป็นปัญหาแบบ model selection ไม่ใช่การสรุปสมรรถนะสุดท้ายของโมเดล
คำถามจริงของขั้นตอนนี้คือ
“โมเดลแบบไหนจะทำงานได้ดีที่สุดกับผู้ป่วยใหม่”
Cross-validation จึงเหมาะ เพราะประเมินความสามารถในการ generalize ได้โดยตรง
แนวคิดนี้สอดคล้องกับหลักการพัฒนา prediction model ที่เน้น generalizability ระหว่างการสร้างโมเดล
สิ่งที่ไม่ควรทำ
- ไม่ควรใช้ bootstrap สำหรับ tuning
- ไม่ควรใช้ apparent performance หรือผลบน training data โดยตรง
เหตุผลคือ
- วิธีเหล่านี้มีแนวโน้ม optimistic
- ทำให้สมรรถนะของโมเดลดูดีกว่าความเป็นจริง

2. การฟิตโมเดลสุดท้าย
วัตถุประสงค์
เมื่อเลือก hyperparameters ที่ดีที่สุดแล้ว ขั้นตอนถัดไปคือ
ฟิตโมเดลสุดท้ายด้วย ข้อมูลทั้งหมดที่มี
เหตุผลที่ต้องใช้ข้อมูลทั้งหมด
บทบาทเชิงแนวคิด
ขั้นตอนนี้คือการนิยามว่า final prediction model ของคุณคืออะไร เช่น
- ค่าสัมประสิทธิ์สุดท้าย ถ้าเป็น regression
- โครงสร้างต้นไม้สุดท้าย ถ้าเป็น Random Forest
- ฟังก์ชันทำนายสุดท้ายของโมเดล
ข้อชี้แจงสำคัญ
แม้จะฟิต final model แล้ว แต่โมเดลนี้ ยังไม่ถือว่าผ่านการตรวจสอบความตรง
สมรรถนะที่เห็นจากข้อมูลเดิมยังคงเป็น
กล่าวคือ ผลที่เห็นยังปนด้วย optimism อยู่

3. การตรวจสอบความตรงภายใน
วัตถุประสงค์
ประเมินและแก้ไขผลของ overfitting
มีอยู่ 2 วิธีที่ใช้ได้
ทางเลือก A: Cross-validation
กลไก
- ฟิตโมเดลซ้ำในแต่ละ fold
- ประเมินผลบน held-out data
- นำผลมาเฉลี่ย
คุณสมบัติ
ทางเลือก B: Bootstrap (นิยมกว่าใน CPM)
กลไกแบบ optimism correction
- ฟิตโมเดลบนข้อมูลทั้งหมด แล้วได้ apparent performance
- สุ่ม bootstrap sample ขึ้นมา
- ฟิตโมเดลบน bootstrap sample นั้น
- ประเมินสมรรถนะ 2 จุด
- บน bootstrap sample เอง (training performance)
- บนข้อมูลต้นฉบับ (testing performance)
- คำนวณ optimism
- ทำซ้ำหลายรอบ
- แก้ไขค่าที่ได้
คุณสมบัติ
ทำไม bootstrap จึงมีพลัง
Bootstrap ตอบคำถามนี้ได้ตรงที่สุด
“ฉันกำลังประเมินสมรรถนะของโมเดลในข้อมูลของตัวเองสูงเกินจริงอยู่เท่าไร”
นี่สอดคล้องกับหลักการสำคัญในการทำโมเดล คือ
ต้องแยก signal ออกจาก bias และ random error

เมื่อนำทั้ง 3 ขั้นมารวมกัน
กระบวนการที่สมบูรณ์
ขั้นที่ 1 — Hyperparameter tuning
- ใช้ cross-validation
- เลือก model configuration ที่ดีที่สุด
ขั้นที่ 2 — Fit final model
- ฝึกโมเดลบนข้อมูลทั้งหมด
- กำหนดโมเดลสุดท้ายให้แน่นอน
ขั้นที่ 3 — Internal validation
- ใช้ bootstrap เป็นหลัก หรือใช้ cross-validation ก็ได้
- ควรรายงาน
- Apparent performance
- Corrected performance

การแยกเชิงแนวคิดที่สำคัญมาก
ประเด็นสำคัญ
ถ้าไม่แยก 3 ขั้นตอนนี้ให้ชัด
- การเลือกโมเดลกับการ validate จะปะปนกัน
- สมรรถนะจะถูกประเมินสูงเกินจริง
- ผลลัพธ์จะขาด reproducibility
ความหมายทางคลินิก
สรุปสาระสำคัญ
- Hyperparameter tuning, final model fitting และ internal validation เป็นคนละขั้นตอน และตอบคนละคำถาม
- Cross-validation เหมาะสำหรับการเลือกโมเดล
- Final model ควรถูกฟิตด้วยข้อมูลทั้งหมด
- Internal validation ต้องมีหน้าที่แก้ optimism
- Bootstrap มักเหมาะกว่าในการประเมิน optimism ของ clinical prediction model
- การแยก 3 ขั้นตอนนี้อย่างชัดเจนเป็นหัวใจของผลลัพธ์ที่ถูกต้องและตีพิมพ์ได้