Decision Tree & Ensemble Methods

Decision Tree & Ensemble Methods
Photo by Daniel Peters / Unsplash

หากจะพูดถึง Machine Learning Algorithm ที่รู้จักกันเป็นอย่างดี นั่นก็คือ Decision Tree และ Ensemble Methods 

ใช้สำหรับการทำ Supervised Learning ได้ทั้ง Regression (ทำนายตัวเลข) และ Classification (ทำนาย Class)

.

CART ย่อจาก Classification and Regression Tree รู้จักกันในชื่อ Decision Tree สามารถแสดงได้ในรูปแบบของ Binary Tree มีจุดเด่น คือ เป็นโมเดลที่สามารถอธิบายได้ (Explainable Model)

.

Random Forest เป็นเทคนิคแบบ Tree-based อันหนึ่ง โดยเป็นการรวมเอา Decision Trees จำนวนมาก ที่สร้างจากการเลือก Samples แบบสุ่ม (Random) ถือเป็น Ensemble Method แบบ Bagging (Boostrap Aggregation) แตกต่างจากที่ Decision Tree คือ สามารถอธิบายได้ยากกว่า แต่ปกติจะให้ประสิทธิภาพที่ดีกว่า ทำให้เป็นหนึ่งใน Algorithm ที่นิยมนำมาใช้งาน

.

Boosting ถือเป็น Ensemble Method เช่นกัน แนวคิดคือ การรวม Weak Learners หลายๆ อันเข้าด้วยกัน เพื่อให้เป็นอันที่เก่งขึ้น (Strong) มีเทคนิคดังนี้ 

  • Adaptive Boosting : ค่าน้ำหนัก (Weight) ที่มากจะถูกใส่ไปที่ Errors เพื่อปรับปรุงให้ดีขึ้นใน ขั้นตอนการ Boosting ถัดไป มีชื่อย่อว่า “Adaboost”
  • Gradient Boosting : Weak Learners จะทำการ Train จาก Errors ที่เหลือ 

.

เพิ่มเติม Ensemble Methods แบ่งได้เป็น 3 รูปแบบ คือ

  • Stacking : เป็นการทำงานโดยใช้ Dataset ชุดเดียวกัน แต่ Algorithms ที่แตกต่างกัน ผลลัพธ์สุดท้ายอาจได้จากการ Vote
  • Bagging : เป็นการทำงานแบบ Parallel เช่น Random Forest โดยการสร้าง Decision Trees หลายๆ ต้น จาก Samples ที่ต่างกัน ผลลัพธ์สุดท้ายอาจได้จากการ Vote
  • Boosting : เป็นการทำงานแบบ Sequence ในลำดับถัดไปจะพัฒนาโดยพิจารณาจาก Errors ในลำดับก่อนหน้า ข้อเสีย คือ ใช้เวลานานกว่าเมื่อเทียบกับ Bagging

Reference : All Cheat Sheets Machine Learning, Deep Learning, Artificial Intelligence โดย Stanford University & MIT รวบรวมโดย NIKHIL YADAV