Bagging คืออะไร

PradyaSin
2 min readSep 29, 2019

--

Bagging (Bootstrap Aggregation)

เป็นเทคนิคหนึ่งของ Ensemble ใน Machine Learning โดย Baggingเริ่มต้นจากปัญหาการเกิด Overfit ของโมเดล Decision Tree มีเนื่องจากหากโมเดลมีความซับซ้อนมากขึ้นจะทำให้โมเดลมีเกณฑ์ที่จะ Overfit ตามมา ดังนั้น Bagging จึงเข้ามาช่วยลดปัญหา Overfit และ Variance ของข้อมูลได้

Bootstrapping

คือ วิธีการ Sample data (สุ่มตัวอย่าง) พร้อมการแทนที่ โดยหลักการคือการเพิ่มจำนวนของข้อมูลโดยการสุ่มตัวอย่างไปหลายๆ กลุ่ม โดยแต่ละกลุ่มจะมีขนาด 2 ใน 3 ของข้อมูลเดิม โดยแต่ละกลุ่มจะต้องมีข้อมูลที่ไม่เหมือนกัน 100% ทำให้เราได้ข้อมูลตัวอย่างหลายๆกลุ่มจากข้อมูลชุดเดิม

ตัวอย่างการแบ่ง Bootstrapping เป็นกลุ่ม หรือเป็น Trees

การกระจายของ Bootstrapped Samples

จำนวน dataset จะสามารถบอกจำนวน n bootstrapped sample ได้ โดยให้
P(record x not selected) = (1-(1/n))^n
ประมาณ 1/3 ของการ record

data science swu

ดังนั้น ทุกๆ การ bootstrap sample จะใช้ประมาน 2/3 ของการ record

Aggregate Results

Aggregate results จะใช้หลักการ Trees vote หรือใช้ค่าเฉลี่ยของผลลัพธ์ในทุกๆ data point

data science swu

Final Result จะเลือกเพียง Single classifier เท่านั้น

Bagging error calculations

เกิดจากการสร้าง bootstrapping แต่ละ Tree จะส่วนของ dataset ที่ไม่ได้ถูกใช้ส่วนบริเวณนั้นจะถูกเรียกกว่า “Out-of-Bag” หรือ OOB error

ส่วนสีแดงที่ส่วนที่ไม่ได้ bootstrapping คือ OOB error

How Many Trees to Fits

ประสิทธิภาพของ Bagging จะทำงานได้ดีเมื่อจำนวน Tree เพิ่มขึ้น แต่จากการคำนวณ RMSE จำนวน Tree ที่เหมาะสมโดยทั่วไปจะอยู่ประมาณ 50 ต้น

data science swu

โดยหากมากกว่านั้นประสิทธิการทำงานจะไม่แตกต่างกัน

สรุปการทำงาน Bagging

ลักษณะการทำงานคล้าย decision tree แต่สามารถตีความง่ายและนำไปใช้งานได้ง่าย สามารถใช้ข้อมูล input ได้โดยไม่ต้องประมวลผลล่วงหน้า

ลักษณะเฉพาะของ Bagging ทำให้ลด Overfit และ Variance ได้ดีกว่า decision tree และสามารเพิ่มจำนวน tree พร้อมกันได้

References
IT554 Pattern Recognition and Machine Learning, SWU

--

--