[CatBoost: unbiased boosting with categorical features] 논문 정리

이앙앙·2025년 2월 3일

논문 정리

목록 보기
2/23

📝 CatBoost: unbiased boosting with categorical features


1 Introduction

  • Gradient boosting은 다양한 실용적인 작업에서 최첨단 성능을 달성하는 강력한 머신러닝 기법
  • 기존의 gradient boosting 구현이 공통적으로 가지는 통계적 문제를 지적
  • 정렬 원칙(ordering principle)을 제안하여 기존의 gradient boosting 알고리즘을 개선

2 Background

  • CatBoost는 gradient boosting을 구현한 라이브러리로, 기본 예측기로 이진 의사결정 나무를 사용하며, 특징 공간을 재귀적으로 분할하여 최적의 예측값을 생성
  • CatBoost는 회귀 및 분류 문제에서 높은 성능을 발휘

3 Categorical feature

  • 고유 값 개수(카디널리티, cardinality)가 높은 특징은 과도하게 많은 새로운 특징을 생성하게 되어 현실적으로 적용이 어려움
  • 문제 해결을 위해, 타겟 통계(Target Statistics, TS)를 활용하여 각 카테고리에서 기대되는 타겟 값을 추정하고, 이를 기반으로 그룹을 형성함
  • 타겟 통계를 새로운 수치형 특징으로 사용하는 것이 범주형 특징을 처리하는 가장 효율적인 방법이며, 정보 손실을 최소화할 수 있음

3.2 Target statistics

Greedy TS (탐욕적 TS)

  • 개념

    • 각 범주(category)의 타겟 값 평균을 사용하여 해당 범주의 대표값을 계산하는 방식
    • 특정 범주에 속하는 샘플들의 타겟 값 평균을 그대로 사용함

      x^ik=j=1n1{xij=xik}yj+apj=1n1{xij=xik}+a\hat{x}_{i}^{k} = \frac{\sum_{j=1}^{n} 1\{x_{i}^{j} = x_{i}^{k}\} \cdot y_{j} + a p}{\sum_{j=1}^{n} 1\{x_{i}^{j} = x_{i}^{k}\} + a}

  • 문제점

    • 타겟 누출(Target Leakage) 발생 가능
    • 조건부 분포 이동(Conditional Shift) 발생

Holdout TS (홀드아웃 TS)

  • 개념

    • 한 그룹의 데이터를 이용해 TS 값을 계산하고, 다른 그룹을 이용해 모델을 학습

D=D0D1D = D_0 \cup D_1
  • 장점

    • 타겟 누출(Target Leakage) 방지

    • 조건부 분포 이동 문제 완화

  • 문제점

    • 데이터 사용량이 감소

Leave-One-Out TS

  • 개념

    • 특정 샘플의 TS를 계산할 때 해당 샘플을 제외한 나머지 데이터를 이용하는 방식

x^ik=n+yk+apn1+a\hat{x}_{i}^{k} = \frac{n_{+} - y_{k} + ap}{n - 1 + a}
  • 장점

    • 타겟 누출을 어느 정도 방지하면서도 데이터 사용량을 극대화할 수 있음
  • 문제점

    • 일부 타겟 누출 발생 가능

    • 특정 데이터셋에서 훈련 데이터에 과적합할 위험이 있음

Ordered TS (정렬된 TS, CatBoost 방식)

  • 개념

    • 온라인 학습 방식에서 영감을 받아, 모델이 훈련 데이터에 접근하는 순서를 고려하여 TS를 계산하는 방법

    • 각 샘플의 TS 값은, 해당 샘플보다 앞선 샘플들의 정보만을 사용하여 계산됨


Dk={xj    σ(j)<σ(k)}D_k = \{ x_j \;|\; \sigma(j) < \sigma(k) \}
  • 장점

    • 타겟 누출 완벽 방지

    • 전체 데이터를 활용할 수 있음

    • 일반화 성능이 우수

  • 문제점

    • 계산량이 다소 증가할 수 있음

    • 여러 번의 랜덤 순열을 적용해야 할 수도 있음


4 Prediction shift and ordered boosting

4.1 Prediction shift

  • 그래디언트 부스팅에서 같은 데이터셋을 여러 단계에서 사용하면 예측 이동이 발생함

  • Ordered Boosting (정렬된 부스팅)을 통해 이를 방지할 수 있음

  • Greedy TS 또한 타겟 누출로 인해 비슷한 문제를 겪으며, 조건부 분포 이동이 발생

  • 그래디언트 부스팅의 일반화 성능을 높이려면, 예측 이동을 방지하는 전략이 필요함

4.2 Ordered boosting

  • Ordered Boosting 은 예측 이동(Prediction Shift)을 방지하는 효과적인 방법

  • 훈련 샘플마다 서로 다른 데이터를 사용하여 학습된 모델 세트를 유지하면 해결 가능

  • 특정 예제의 잔차를 계산할 때, 해당 예제를 학습하지 않은 모델을 사용

  • CatBoost는 이러한 기법을 활용하여 기존 부스팅 기법보다 더 안정적인 성능을 제공


profile
이앙앙

0개의 댓글