AdaBoost와 Gradient Boosting
AdaBoost와 Gradient Boosting은 둘 다 앙상블 학습 기법에 속하는 알고리즘으로, 여러 개의 약한 학습기를 결합해 더 강력한 예측 모델을 만드는 방법입니다. 그러나 두 알고리즘은 학습 방식과 주요 개념에서 차이가 있습니다.
1. AdaBoost (Adaptive Boosting)
핵심 개념
- AdaBoost는 각 약한 학습기(weak learner)의 성능을 개선하기 위해 잘못 예측된 데이터에 더 높은 가중치를 부여합니다.
- 처음에는 모든 데이터에 동일한 가중치를 할당한 후, 각 반복에서 잘못 분류된 데이터의 가중치를 증가시킵니다. 이를 통해 다음 학습기는 더 어려운 샘플에 집중하게 됩니다.
과정
- 초기 단계에서 모든 데이터 포인트에 동일한 가중치를 부여.
- 약한 학습기를 훈련시키고, 훈련 결과에 따라 잘못 예측된 데이터 포인트에 더 높은 가중치를 부여.
- 여러 번의 반복을 통해 약한 학습기들의 결합을 통해 최종 예측을 만듦.
특징
- 주로 결정 트리(stumps)를 약한 학습기로 사용.
- 잘못된 예측에 중점을 두어, 모델이 더욱 정교해짐.
- 노이즈에 민감할 수 있음. (잘못된 데이터에도 높은 가중치를 부여할 수 있음)
장점
- 구현이 간단하고, 성능이 좋은 경우가 많음.
- 데이터 전처리가 크게 필요하지 않음.
2. Gradient Boosting
핵심 개념
- Gradient Boosting은 모델이 잔차(residual, 즉 실제 값과 예측 값의 차이)를 최소화하도록 학습하는 방식입니다.
- 각 단계에서는 이전 모델이 만든 오차를 줄이기 위해 새로운 모델을 추가합니다. 즉, 이전 모델의 오차(잔차)를 예측하려고 시도하는 과정입니다.
과정
- 초기 모델을 훈련시키고, 그 모델의 예측과 실제 값 간의 차이(잔차)를 계산.
- 잔차를 최소화하는 방향으로 새로운 학습기를 훈련시킴.
- 여러 번의 반복을 통해 잔차를 줄여가는 방식으로 최종 예측을 만듦.
특징
- 각 반복은 이전 단계에서 발생한 오차(잔차)를 수정하는 데 중점을 둠.
- 보통 결정 트리(decision tree)를 학습기로 사용.
- 과적합 방지를 위해 트리의 깊이를 제한하거나 학습률을 조절할 수 있음.
장점
- 회귀 문제와 분류 문제 모두에서 매우 강력한 성능을 보임.
- 약한 학습기들의 결합으로 강력한 예측 성능을 발휘함.
- Gradient Boosted Trees (GBDT)가 일반적으로 많이 사용됨.
주요 차이점
| AdaBoost | Gradient Boosting |
|---|
| 가중치 부여 방식 | 잘못 분류된 데이터에 가중치 부여 | 잔차를 최소화하는 방식으로 학습 |
| 오류 수정 방법 | 각 학습기마다 데이터 포인트의 중요도 조정 | 오차를 줄이는 방향으로 학습기 추가 |
| 노이즈 민감도 | 노이즈에 민감함 | 노이즈에 상대적으로 덜 민감함 |