Ensemble Learning Method
Ensemble Learning เป็นเทคนิคที่ มีการนำมาใช้มากในการพัฒนา learning model ใน machine learning โดยเฉพาะเป้าหมายการเพิ่มประสิทธิภาพการทำงานของโมเดล
ผมเรียนรู้เทคนิคนี้จากครอส machine learning ของ Dr. Andrew Ng เริ่มแรกตอนนั้นผมทำ Decision tree mode การปรับ error เป็นเรื่องจำเป็นมากทำให้เอา Ensemble Learningมาใช้ เช่นเดียวกันในกลุ่มของ Kaggle การแข่งขันเกือบทุกรายการผู้ชนะมักมีการนำเอา Ensemble Learning มาใช้เพิ่มประสิทธิภาพของโมเดล
Ensemble Learning อธิบายเป็นภาษาง่ายๆ(จริงๆมันมีวิชาการรองรับลองอ่านได้จาก paper ด้านล่าง) ก็คือ การรวมของโมเดลการเรียนรู้ที่หลากหลาย มีความแตกต่างและมีอิสระต่อกัน เข้าด้วยกัน เพื่อเพิ่มประสิทธิภาพของโมเดล
Error ในงาน Ensemble Learning เป็นสิ่งที่ผู้พัฒนาต้องให้ความสำคัญ การปรับ trade-off management ระหว่าง Bias และ Variance ก็เป็นสิ่งสำคัญ เพื่อทำให้ผลลัพธ์ของโมเดลออกมา มีความสมบูรณ์มากที่สุด
เทคนิคยอดนิยมของ Ensemble Learning ได้แก่
- Bagging
สร้างหลายชุดแต่ประเภทเดียวกัน เพื่อทำการทดสอบกับ subset ของ data ที่แบ่งออกจาก data set รวม จากนั้นนำผลการ prediction ของโมเดลต่างๆมารวมกัน ตัวอย่าง learning algorithm กลุ่มนี้เช่น Decision Trees, Random Forest และ Extra Trees.
- Boosting.
สร้างหลายชุดแต่ประเภทเดียวกัน ทำการทดสอบกับข้อมูลชุดเดียวกัน โดยทำการทดสอบแบบ iteration วนลูป ปรับค่าน้ำหนัก เพื่อทำให้ ผลการ prediction ของโมเดลดีขึ้นปรับปรุงเรื่อยๆ วิธีนี้ค่อนข้างเป็นที่นิยม เพราะหยืดหยุ่นใช้ได้กับทุก learning algorithm สามารถปรับลด bias error ของโมเดลได้ดี ตัวอย่าง learning algorithm กลุ่มนี้เช่น AdaBoost และ Stochastic Gradient Boosting
- Voting.
สร้างโมเดลหลากหลาย เช่น Decision Tree, SVM , K-Nearest Neighbors จากนั้นรันบน data set แบบเดียวกัน เพื่อดูผลการ prediction สุดท้ายของแต่ละโมเดล ใช้การโหวตผลที่เหมือนกัน คล้ายกัน เป็นคำตอบสุดท้าย
— — — — — — — -
ตัวอย่าง ทำการวิเคราะห์ข้อมูลด้วย decision tree ในการทำ regression analysis สำหรับเพื่อวิเคราะห์การเปลี่ยนแปลง การทดสอบนี้ ทดลองใช้ AdaBoost Ensemble method มาเปรียบเทียบกับ decision tree ปกติ ซึ่งจากภาพจะเห็นว่า AdaBoost เพิ่มความถูกต้อง และทำให้ประสิทธิ มากขึ้น
โดย iteration รอบที่เพิ่มมากขึ้น เกิดการคำนวณซ้ำและให้ค่าน้ำหนักเพื่อปรับ โมเดลจนได้ค่าที่ดีขึ้น ในภาพจะเห็น n= 500 ค่าของ Reg line ที่ได้ ดีกว่า การใช้ decision tree ธรรมดา มาก
อ้างอิง
https://www.analyticsvidhya.com/blog/2015/08/introduction-ensemble-learning/
http://web.engr.oregonstate.edu/~tgd/publications/mcs-ensembles.pdf
https://pt.slideshare.net/marinasantini1/lecture06-ml4-ltmarinasantini2013
http://manish2020.blogspot.com/2012/12/ensemble-of-weak-learners.html