부스팅(Boosting)

Youngho LEE·2025년 6월 1일

앙상블(Ensemble)

  • 여러 개의 결정트리를 결합하여 하나의 결정 트리보다 더 좋은 성능을 내는 머신러닝 기법
  • 여려 개의 약 분류기 (Weak Classifier)를 결합하여 강 분류기 (Strong Classifier)를 만드는 것. 모델의 정확성이 향상된다.
  • Voting, Bagging(Bootstrap Aggregating), Boosting, Stacking(Stacked Generalization)

Boosting

  • 가중치를 활용하여 약 분류기를 강 분류기로 만드는 방법
  • 처음 모델이 예측을 하면 그 예측 결과에 따라 데이터에 가중치가 부여되고, 부여된 가중치가 다음 모델에 영향을 준다.
  • 잘못 분류된 데이터에 집중하여 새로운 분류 규칙을 만드는 단계를 반복한다.
  • 오답에 대해 높은 가중치를 부여하므로 정확도가 높게 나타난다. 하지만, 그렇기 때문에 outlier에 취약할 수 있다.
  • AdaBoost, GradientBoostMachine(GBM), XGBoost, LightGBM

AdaBoost

  • 모델의 예측 능력을 향상시킬 것으로 생각되는 특성들만 선택하고, 이는 차원수를 줄이는 동시에 필요없는 특성들을 고려하지 않음으로써 잠재적으로 수행 시간을 개선시킨다.

    장점

    • 과적합(Overfitting)의 영향을 덜 받는다. 결합하는 모형 개수 M이 증가함에 따라 테스트 에러가 잘 증가하지 않는 장점이 있다. 물론 M이 아주 크면 과적합이 발생하지만 상대적으로 늦게 발생한다.
    • 구현이 쉽다. 기본 학습기(Base Learner)가 잘 구현되어 있다면 알고리즘 자체가 어렵지 않아 AdaBoost 알고리즘 구현은 쉬워진다.
    • 유연하다. 손실 함수를 여러가지 사용할 수 있으며, 기본 학습기에 제한이 없다. 즉, 기본 학습기를 결정트리 뿐만 아니라 다른 학습기(로지스틱 회귀 모형, 선형 회귀 모형 등)도 사용할 수 있다.

    단점

    • 이상치에 민감하다.
    • 해석이 어렵다.
      모든 앙상블 계열이 그렇듯이 한 입력 변수와 출력 변수 간의 관계를 해석하기가 어렵다. 따라서, 출력 변수를 조절하기 위해 입력 변수를 어떻게 변화시켜야되는가에 대한 해답을 제대로 제시할 수 없다.

Gradient Boosting Machine (GBM)

  • Gradient(잔차)를 이용하여 이전 모형의 약점을 보완하는 새로운 모형을 순차적으로 적합한 뒤 이들을 선형 결합하여 얻어진 모형을 생성하는 지도 학습 알고리즘

    장점

    • 구현이 쉽다.
    • 정확도가 좋다.
      잔차를 계속해서 줄여나가는 방식으로 학습하기 때문에 정확도가 좋다.
    • 굉장히 유연하다.
      기본 학습기에 제한되지 않아 결정트리 이외에 다른 모형을 써도 된다, 여러 가지 손실 함수를 적용할 수 있다.

    단점

    • 과적합이 발생할 가능성이 크다.
      잔차를 계속 줄여나가는 방식 -> 장점이 될 수 있지만, Noise가 발생하는 경우 과적합이 발생할 수 있다.
    • 메모리 문제가 있다.
      반복수 M만큼의 나무가 필요하므로, 반복수가 커지면 나무도 많아져 많은 메모리를 사용해야할 수 있다.
    • 해석이 어렵다.
      각 입력 변수에 대하여 출력 변수가 어떻게 변하는 지에 대한 해석이 어렵다.

XGBoost

  • 기존 Gradient Tree Boosting 알고리즘에 과적합 방지를 위한 기법이 추가된 지도 학습 알고리즘
  • 기본 학습기(Base Learner)를 결정트리로 하며, Gradient Boosting과 같이 Gradient(잔차)를 이용하여 이전 모형의 약점을 보완하는 방식으로 학습한다.

    장점

    • 과적합 방지가 잘 되어있다.
      기존 Gradient Boosting의 약점인 과적합을 방지
    • 예측 성능이 좋다.
      과적합 방지가 잘 되어 있어 이에 따라 예측 성능이 좋아졌다.

    단점

    • Small Data에 대해 과적합 가능성이 있다.
      충분히 좋은 예측 성능을 보이기 위해선 많은 데이터가 필요하다.
    • 해석이 어렵다.
      모든 앙상블 계열 알고리즘이 갖고 있는 근원적 문제이며, XGBoost 또한 각 입력 변수에 대하여 출력 변수가 어떻게 변하는 지에 대한 해석이 어렵다.

LightGBM

  • GBM은 예측에 실패한 부분에 가중치를 더하면서 오차를 보완하는 식으로 순차적으로 트리를 만드는 것

  • 다른 트리기반 알고리즘과 다르게 수직적으로 확장한다.

  • Leaf 중심 트리 분할

  • 일반적인 트리 분할은 균형 트리 분할을 택한다. (대칭적으로 트리의 균형을 맞추며 깊이가 깊어지지 않게 하는 것)

  • 리프 중심 트리 분할은 트리의 균형을 맞추지 않고 최대 손실 값(max data loss)을 가지는 leaf node를 지속적으로 분할하면서 깊이가 깊어지는 트리가 생성된다.

  • 깊이가 깊어지는 것에 대해서 과적합 우려가 있지만 최대 손실 값을 가지는 리프 노드를 중심으로 지속적으로 분할하는 것이기 때문에 학습을 반복하면 결국 균형 트리 분할 방식보다 예측 오류 손실을 최소화할 수 있다.

  • 기존 GBM과 같은 경우는 트리의 균형을 맞추기 위해서도 시간을 썼으나, LightGBM는 균형을 맞추지 않기에 더 빠르다.

    장점

    • 더 빠른 학습과 예측 수행시간
    • 더 작은 메모리 사용량
    • 카테고리형 feature의 자동 변환과 최적 분할 (one-hot encoding 등을 사용하지 않고도 카테고리형 feature를 최적으로 변환하고 이에 따른 노드 분할 수행)

    단점

    • 데이터가 적은 경우 과적합 가능성이 크다

출처
medium
blog
blog
wikipedia
blog
blog
blog
blog
blog

profile
개발자

0개의 댓글