1P by cree1116 | ★ favorite | 댓글과 토론

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 엔진을 제공하는 것입니다.

댓글과 토론