Show GN: OQBoost: 실전 사용 가능한 사선트리
(github.com/CREE1116)OQBoost는 2D Oblique Split을 기반으로 하는 Gradient Boosting Decision Tree(GBDT) 라이브러리입니다.
기존의 대표적인 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
- Scikit-learn Compatible API
실험 결과 OQBoost는 다양한 공개 데이터셋에서 기존 GBDT 라이브러리와 경쟁 가능한 성능을 보였습니다.
- Binary Classification: 평균 AUC Rank 1위
- Regression: 평균 R² Rank 1위
- Multiclass Classification: LightGBM, XGBoost와 유사한 수준의 성능
OQBoost의 목표는 단순히 기존 GBDT를 재구현하는 것이 아니라, 실용적인 비용으로 Oblique Split을 사용할 수 있는 새로운 Gradient Boosting 엔진을 제공하는 것입니다.