OQBoost: 実運用可能な斜め木
(github.com/CREE1116)OQBoostは、2D Oblique SplitをベースとしたGradient Boosting Decision Tree(GBDT)ライブラリです。
既存の代表的なGBDTライブラリであるXGBoost、LightGBM、CatBoostは、ほとんどが軸平行(axis-aligned)分割を使用します。単一の特徴量だけを用いて分割するため非常に高速で効率的ですが、対角線状の決定境界や2変数の相互作用を表現するには、複数の木を組み合わせる必要があります。
OQBoostはこの限界を解決するため、2つの特徴量を同時に使用する2D Oblique Splitを基本の分割単位として採用しています。1つのノードで直接斜め分割を行うことで、より豊かな表現力を提供しつつ、実用的な学習速度を維持することを目標に設計されています。
このために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
- Scikit-learn Compatible API
実験の結果、OQBoostはさまざまな公開データセットで既存のGBDTライブラリと競合可能な性能を示しました。
- Binary Classification: 平均AUCランク1位
- Regression: 平均R²ランク1位
- Multiclass Classification: LightGBM、XGBoostと同等レベルの性能
OQBoostの目標は、単に既存のGBDTを再実装することではなく、実用的なコストでOblique Splitを利用できる新しいGradient Boostingエンジンを提供することです。
まだコメントはありません。