Adaptive Boosting Algorithm

cway investment
cw-quantlab
Published in
2 min readOct 6, 2018

ต่อจากตอนก่อนหน้า ลองใช้เทคนิคกลุ่ม 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

--

--