Bagging (Bootstrap Aggregation)
เป็นเทคนิคหนึ่งของ Ensemble ใน Machine Learning โดย Baggingเริ่มต้นจากปัญหาการเกิด Overfit ของโมเดล Decision Tree มีเนื่องจากหากโมเดลมีความซับซ้อนมากขึ้นจะทำให้โมเดลมีเกณฑ์ที่จะ Overfit ตามมา ดังนั้น Bagging จึงเข้ามาช่วยลดปัญหา Overfit และ Variance ของข้อมูลได้
Bootstrapping
คือ วิธีการ Sample data (สุ่มตัวอย่าง) พร้อมการแทนที่ โดยหลักการคือการเพิ่มจำนวนของข้อมูลโดยการสุ่มตัวอย่างไปหลายๆ กลุ่ม โดยแต่ละกลุ่มจะมีขนาด 2 ใน 3 ของข้อมูลเดิม โดยแต่ละกลุ่มจะต้องมีข้อมูลที่ไม่เหมือนกัน 100% ทำให้เราได้ข้อมูลตัวอย่างหลายๆกลุ่มจากข้อมูลชุดเดิม
การกระจายของ Bootstrapped Samples
จำนวน dataset จะสามารถบอกจำนวน n bootstrapped sample ได้ โดยให้
P(record x not selected) = (1-(1/n))^n
ประมาณ 1/3 ของการ record
ดังนั้น ทุกๆ การ bootstrap sample จะใช้ประมาน 2/3 ของการ record
Aggregate Results
Aggregate results จะใช้หลักการ Trees vote หรือใช้ค่าเฉลี่ยของผลลัพธ์ในทุกๆ data point
Final Result จะเลือกเพียง Single classifier เท่านั้น
Bagging error calculations
เกิดจากการสร้าง bootstrapping แต่ละ Tree จะส่วนของ dataset ที่ไม่ได้ถูกใช้ส่วนบริเวณนั้นจะถูกเรียกกว่า “Out-of-Bag” หรือ OOB error
How Many Trees to Fits
ประสิทธิภาพของ Bagging จะทำงานได้ดีเมื่อจำนวน Tree เพิ่มขึ้น แต่จากการคำนวณ RMSE จำนวน Tree ที่เหมาะสมโดยทั่วไปจะอยู่ประมาณ 50 ต้น
โดยหากมากกว่านั้นประสิทธิการทำงานจะไม่แตกต่างกัน
สรุปการทำงาน Bagging
ลักษณะการทำงานคล้าย decision tree แต่สามารถตีความง่ายและนำไปใช้งานได้ง่าย สามารถใช้ข้อมูล input ได้โดยไม่ต้องประมวลผลล่วงหน้า
ลักษณะเฉพาะของ Bagging ทำให้ลด Overfit และ Variance ได้ดีกว่า decision tree และสามารเพิ่มจำนวน tree พร้อมกันได้
References
IT554 Pattern Recognition and Machine Learning, SWU