Boosting 기법

Ryu Jihoon·2024년 9월 23일
post-thumbnail

AdaBoost와 Gradient Boosting

AdaBoost와 Gradient Boosting은 둘 다 앙상블 학습 기법에 속하는 알고리즘으로, 여러 개의 약한 학습기를 결합해 더 강력한 예측 모델을 만드는 방법입니다. 그러나 두 알고리즘은 학습 방식과 주요 개념에서 차이가 있습니다.

1. AdaBoost (Adaptive Boosting)

핵심 개념

  • AdaBoost는 각 약한 학습기(weak learner)의 성능을 개선하기 위해 잘못 예측된 데이터에 더 높은 가중치를 부여합니다.
  • 처음에는 모든 데이터에 동일한 가중치를 할당한 후, 각 반복에서 잘못 분류된 데이터의 가중치를 증가시킵니다. 이를 통해 다음 학습기는 더 어려운 샘플에 집중하게 됩니다.

과정

  1. 초기 단계에서 모든 데이터 포인트에 동일한 가중치를 부여.
  2. 약한 학습기를 훈련시키고, 훈련 결과에 따라 잘못 예측된 데이터 포인트에 더 높은 가중치를 부여.
  3. 여러 번의 반복을 통해 약한 학습기들의 결합을 통해 최종 예측을 만듦.

특징

  • 주로 결정 트리(stumps)를 약한 학습기로 사용.
  • 잘못된 예측에 중점을 두어, 모델이 더욱 정교해짐.
  • 노이즈에 민감할 수 있음. (잘못된 데이터에도 높은 가중치를 부여할 수 있음)

장점

  • 구현이 간단하고, 성능이 좋은 경우가 많음.
  • 데이터 전처리가 크게 필요하지 않음.

2. Gradient Boosting

핵심 개념

  • Gradient Boosting은 모델이 잔차(residual, 즉 실제 값과 예측 값의 차이)를 최소화하도록 학습하는 방식입니다.
  • 각 단계에서는 이전 모델이 만든 오차를 줄이기 위해 새로운 모델을 추가합니다. 즉, 이전 모델의 오차(잔차)를 예측하려고 시도하는 과정입니다.

과정

  1. 초기 모델을 훈련시키고, 그 모델의 예측과 실제 값 간의 차이(잔차)를 계산.
  2. 잔차를 최소화하는 방향으로 새로운 학습기를 훈련시킴.
  3. 여러 번의 반복을 통해 잔차를 줄여가는 방식으로 최종 예측을 만듦.

특징

  • 각 반복은 이전 단계에서 발생한 오차(잔차)를 수정하는 데 중점을 둠.
  • 보통 결정 트리(decision tree)를 학습기로 사용.
  • 과적합 방지를 위해 트리의 깊이를 제한하거나 학습률을 조절할 수 있음.

장점

  • 회귀 문제와 분류 문제 모두에서 매우 강력한 성능을 보임.
  • 약한 학습기들의 결합으로 강력한 예측 성능을 발휘함.
  • Gradient Boosted Trees (GBDT)가 일반적으로 많이 사용됨.

주요 차이점

AdaBoostGradient Boosting
가중치 부여 방식잘못 분류된 데이터에 가중치 부여잔차를 최소화하는 방식으로 학습
오류 수정 방법각 학습기마다 데이터 포인트의 중요도 조정오차를 줄이는 방향으로 학습기 추가
노이즈 민감도노이즈에 민감함노이즈에 상대적으로 덜 민감함
profile
CSE Junior

0개의 댓글