Adaptive Boosting Algorithm
ต่อจากตอนก่อนหน้า ลองใช้เทคนิคกลุ่ม Boosting ในการเพิ่มประสิทธิภาพของ Model โดยในบทความนี้ จะรีวิว algorithm ที่เรียกว่า Adaptive Boosting หรือ AdaBoost
AdaBoost เป็นเทคนิคในกลุ่ม Boosting ที่มีการนำมาใช้พัฒนาต่อเนื่อง มี paper งานวิจัยการนำไปประยุกต์ใช้งานใน machine learning ด้านต่างๆ เช่น Face Detection
ตัวอย่างการทดลองทำ adaboost กับ Decision tree model
โมเดลนี้ที่ได้รับความนิยมมาก เพราะมีความหยืดหยุ่นปรับใช้ได้กับทุก learning algorithm และใช้เทคนิคของการคำนวณซ้ำ แล้วปรับค่าน้ำหนัก ทำให้ลด Bias Error ลงได้ และไม่ทำให้เกิดการ over fitting เกินไป
แนวคิดหลักของ AdaBoost คือการเปลี่ยน weak model ให้กลายเป็น strong model ประมวลผลวิเคราะห์ข้อมูลกลุ่ม data set เดี่ยวกัน ใช้โมเดลเดียวกัน เริ่มต้นจากการ classify แบบธรรมดา เพื่อทำการ observe ค่า error ที่เกิด ก่อนเริ่ม ทำการ adjust weight ในกลุ่มข้อมูล เพื่อทำการ classify ต่อเนื่อง จนกว่าได้ strong model ที่มี accuracy ดีที่สุด ออกมา
Equation สำหรับตัว classifier โดย h_t(x) คือ ผลลัพธ์ของ weak classifier ส่วน Alpha คือ weight ที่กำหนดให้กับตัว Classifier แต่ละรอบที่มีการคำนวณ
จากสมการจะพบ ว่า error rate มีความสัมพันธ์กับ Alpha ซึ่งถ้า weak model มีค่าจำนวน misclassification มากเท่าไหร่ ค่า Alpha ก็จะมีการปรับตามผลที่เกิด
เมื่อมีการคำนวณรอบใหม่ adjust ค่า weight ได้ สมการดังภาพข้างล่าง จะพบว่า D คือ vector ของ weights
ตัวอย่างภาพการทำงาน ของ AdaBoost
เราทำการทดสอบกระบวนการ Boosting โดยใช้ Data Set จำลองที่เตรียมขึ้น ทำการทดสอบ AdaBoosting กับโมเดล Decision Tree Modelโดยกำหนดขนาด learning rate ที่เท่ากันและ เปรียบเทียบ number of estimators ที่จำนวนแตกต่างกัน n=10 และ 500
ส่วนเส้นสีเขียว เป็นการหา Regression Line จากการใช้ SVM-RBF โมเดล นำผลการคำนวณมาใช้เปรียบเทียบ ผลลัพธ์การปรับโมเดลด้วย AdaBoost
ลองรัน loop ทดสอบสถิติ โดยเพิ่มขนาด N ในการ training ไปเรื่อยๆแบบคงที่ จะพบว่า การใช้จำนวน n ที่มากขึ้นเรื่อยๆ สามารถปรับปรุงผลของ Learning Model ได้ดีขึ้น และพอถึง ค่าคงที่ค่าหนึ่ง ขนาด Error จะมีค่าเข้าใกล้ ศูนย์
อ้างอิง
http://rob.schapire.net/papers/explaining-adaboost.pdf
https://www.slideshare.net/guo_dong/additive-model-and-boosting-tree
http://www.robots.ox.ac.uk/~az/lectures/cv/adaboost_matas.pdf