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

- 27 มี.ค.
- ยาว 1 นาที
การสร้าง 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 ขั้นตอนนี้อย่างชัดเจนเป็นหัวใจของผลลัพธ์ที่ถูกต้องและตีพิมพ์ได้



ความคิดเห็น