Live 07 - Intro to Machine Learning.pdf
✅ วันนี้เนื้อหาเรียนกันแน่นมาก 555+ สรุปใจความสำคัญวันนี้นะครับ
boot LOOCV และ cvtuneLength หรือ tuneGrid💯 ปัญหาใหญ่สุดของการเทรนโมเดล ML คือเรื่อง Overfitting
เราอยากให้ train error กับ test error มีค่าใกล้เคียงกัน ไม่ดิฟกันเยอะเกินไป ถ้า train error ต่ำแต่ test error สูงเกินกว่าที่เรารับได้ (ขึ้นอยู่กับ context) แปลว่าโมเดลเรากำลัง overfitting อยู่
Overfitting คือการที่โมเดลของเราเรียนรู้ train data ดีเกินไป จนไม่สามารถนำไปใช้กับ test/ unseen data ได้
วิธีการลด overfitting หลักๆคือจูน hyperparameter ให้เหมาะสม เก็บข้อมูลมากขึ้น หรือเปลี่ยน ML algorithm เลย
โมเดลตระกูล regression จะเจอปัญหา overfitting น้อยกว่าแบบอื่นหน่อย เพราะว่าโมเดลมัน simple/ อธิบายได้ง่าย business เลยชอบโมเดลตระกูลนี้ถึงแม้ว่า performance จะไม่ได้ดีที่สุด
🌵 ตัวอย่าง code แอดใช้ resampling: repeatedcv คือการเทรนโมเดลด้วย K-Fold แบบซ้ำกันตามจำนวน repeats ที่เรากำหนดนะครับ
method ใน train() ก็จะได้โมเดลใหม่เลย เช่น lm (linear regression), glm (logistic regression), knn, rpart (decision tree) เป็นต้นctrl คือ train control object หลักๆคือเปลี่ยน resampling methodความยากของการเทรนโมเดล ML แอดว่ามีอยู่สอง moments