OQBoost เป็นไลบรารี Gradient Boosting Decision Tree (GBDT) ที่อิงกับ 2D Oblique Split

ไลบรารี GBDT ชั้นนำที่มีอยู่เดิมอย่าง XGBoost, LightGBM และ CatBoost ส่วนใหญ่ใช้การแบ่งแบบขนานกับแกน (axis-aligned) เนื่องจากแบ่งโดยใช้ฟีเจอร์เพียงตัวเดียว จึงรวดเร็วและมีประสิทธิภาพมาก แต่หากต้องการแสดงขอบเขตการตัดสินใจในรูปแบบแนวทแยง หรือปฏิสัมพันธ์ระหว่างตัวแปรสองตัว จำเป็นต้องผสานต้นไม้หลายต้นเข้าด้วยกัน

เพื่อแก้ข้อจำกัดนี้ OQBoost ใช้ 2D Oblique Split ซึ่งใช้ฟีเจอร์สองตัวพร้อมกันเป็นหน่วยการแบ่งพื้นฐาน การแบ่งเฉียงโดยตรงในโหนดเดียวช่วยให้มีพลังในการแทนค่าที่สมบูรณ์ยิ่งขึ้น ขณะเดียวกันก็ออกแบบมาเพื่อคงความเร็วในการเทรนให้อยู่ในระดับที่ใช้งานได้จริง

เพื่อสิ่งนี้ OQBoost ผสานอัลกอริทึมค้นหาทิศทางความเร็วสูงบนพื้นฐาน Grid Label Accumulation เข้ากับ Hessian-weighted Regression ทำให้ลดต้นทุนการคำนวณที่สูงของ Oblique Tree แบบเดิมได้อย่างมาก นอกจากนี้ยังใช้การปรับแต่งหลายอย่าง เช่น Lazy Binning, Fast Search, Cache และ Precomputation เพื่อให้ได้ความเร็วในการเทรนระดับไลบรารีที่ใช้งานจริง

ปัจจุบัน OQBoost มีฟีเจอร์ดังต่อไปนี้

  • Binary Classification
  • Multiclass Classification (Joint Training)
  • Regression
  • Native Missing Value Handling
  • Native Categorical Feature Support
  • SHAP-style Built-in Explanation
  • Kernel SHAP Compatibility
  • Multi-thread Training
  • API ที่เข้ากันได้กับ Scikit-learn

จากผลการทดลอง OQBoost แสดงประสิทธิภาพที่แข่งขันกับไลบรารี GBDT เดิมได้ในชุดข้อมูลสาธารณะหลากหลายชุด

  • Binary Classification: อันดับ AUC เฉลี่ยที่ 1
  • Regression: อันดับ R² เฉลี่ยที่ 1
  • Multiclass Classification: ประสิทธิภาพในระดับใกล้เคียงกับ LightGBM และ XGBoost

เป้าหมายของ OQBoost ไม่ใช่เพียงการนำ GBDT เดิมมาสร้างใหม่ แต่คือการมอบเอนจิน Gradient Boosting แบบใหม่ที่สามารถใช้ Oblique Split ได้ด้วยต้นทุนที่เหมาะสำหรับการใช้งานจริง

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น