บทเรียนจาก 6 บทความเปรียบเทียบโมเดล: ความต่างที่แค่ดวง
นักพัฒนาเผยผลทดลอง 6 บทความเกี่ยวกับเทคนิค Ensemble และ Hyperparameter Tuning ชี้ช่องว่างความต่างเล็กกว่าความผันแปรของ Seed

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- ผลทดลองเทียบวิธี Ensemble และ Tuning ชี้ช่องว่างวิธีต่างๆ น้อยกว่าความผันแปรของ Seed
- ปัญหา Data Leak ใน Stacked Generalization ส่งผลให้เลือกโมเดลผิดพลาด
- ขนาดข้อมูล Holdout มีผลอย่างมากต่อประสิทธิภาพการ Blending
- ทักษะที่คุ้มค่าที่สุดคือการรันการทดลองซ้ำสองรอบเพื่อตรวจสอบความถูกต้อง
นักพัฒนาซอฟต์แวร์รายหนึ่งได้เผยแพร่บทความชุด 6 ตอนที่มุ่งเน้นการเปรียบเทียบเทคนิคการทำ Ensemble และ Hyperparameter Tuning ก่อนจะพบข้อเท็จจริงที่น่าประหลาดใจว่า ช่องว่างระหว่างเทคนิคเหล่านี้มีขนาดเล็กกว่าความผันแปรของตัววิธีเองเมื่อเปลี่ยน Seed การทดลอง ซึ่งหมายความว่าการเปรียบเทียบที่ตีพิมพ์กันส่วนใหญ่เป็นเพียงเรื่องของความบังคับและโชคช่วย
การทดลองแบ่งออกเป็นสองกลุ่มหลัก ได้แก่ การจัดการเมื่อมีโมเดลหลายตัว และการค้นหาค่า Setting ของโมเดล โดยเริ่มต้นจากการฝึกโมเดลขนาดเล็กเพื่อรวมผลทำนาย ซึ่งทำอย่างถูกต้องจะได้คะแนน 0.9331 เทียบกับ 0.9301 ของโมเดลเดี่ยวที่ดีที่สุด แต่หากทำผิดพลาดโดยใช้ข้อมูล In-fold จะเกิดปัญหา Data Leak ที่มอบน้ำหนัก 1.123 ให้กับ Random Forest และ 0.035 ให้กับ Gradient Booster จนทำให้เลือกโมเดลผิดตัวเนื่องจาก Overfitting

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
ในส่วนของการทำ Voting ที่ไม่มีพารามิเตอร์จากการเรียนรู้ ผลปรากฏว่าแพ้โมเดลเดี่ยวที่ดีที่สุด โดยได้คะแนน 0.9296 สำหรับ Hard Voting และ 0.9289 สำหรับ Soft Voting ขณะที่การทำ Blending ด้วยน้ำหนักที่ฟิตมา ทำคะแนนได้ดีที่สุดที่ 0.2055 เมื่อมีข้อมูล Holdout 150 แถวต่อน้ำหนัก แต่พอเหลือ 40 แถว คะแนนกลับแย่ลงเหลือ 0.2576 ซึ่งแย่กว่าการใช้น้ำหนักเฉลี่ยปกติที่ 0.2515 เสียอีก
สำหรับการค้นหาแบบสุ่ม (Random Search) พบว่าความแตกต่างเทียบกับ Seed ตัวเองอยู่ที่ 0.0098 ซึ่งหมายความว่าการทดลองด้วย Seed เดี่ยวมีโอกาสเป็นแค่การโยนหัวก้อยว่าจะได้ผลลัพธ์แบบไหน ขณะที่การทำ Pruning ช่วยตัดการทดลอง 12 จาก 20 รายการ และลดเวลาการทำงานลง 28% แต่ก็สูญเสีย Log Loss ไปเล็กน้อยจาก 0.1908 เป็น 0.1913
"Six posts spent arguing about which technique wins, and the honest answer in every case was: run it twice before you believe it."
ผู้เขียนบทความ
การวิเคราะห์เพิ่มเติมชี้ให้เห็นว่า ในงาน Machine Learning ความผันแปรจากความสุ่ม (Randomness) และกระบวนการทดลองมีผลต่อผลลัพธ์มากกว่าตัวอัลกอริทึมเอง นักพัฒนาจำนวนมากมักหลงเชื่อตัวเลขผลลัพธ์จากการรันเพียงรอบเดียว โดยมองข้ามผลกระทบจาก Random Seed หรือข้อผิดพลาดทางขั้นตอน (Procedural Mistakes) เช่น การรั่วไหลของข้อมูล (Data Leakage) ซึ่งเป็นปัญหาที่แท้จริงที่ควรระมัดระวังมากกว่าการเสียเวลาถกเถียงเรื่องการเลือกใช้อัลกอริทึม

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
บทเรียนสำคัญจากบทความชุดนี้คือ ทักษะที่มีผลตอบแทนสูงที่สุดไม่ใช่การเลือกอัลกอริทึมที่ถูกต้องที่สุด แต่เป็นการรันการทดลองซ้ำสองครั้งก่อนที่จะปักใจเชื่อผลลัพธ์ เพื่อให้มั่นใจว่าสิ่งที่กำลังเปรียบเทียบนั้นมีนัยสำคัญมากกว่าความผันแปรที่ควบคุมไม่ได้
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น