Boosting 모델이 Bagging(Random Forest)보다 복잡한 데이터에 더 잘하는 이유
in Til on Til
1. 기본 개념 비교
| 특징 | Bagging (Random Forest) | Boosting (XGBoost, LightGBM 등) | | — | — | — | | 핵심 아이디어 | 여러 약한 모델의 예측을 평균화하여 성능 향상. | 약한 모델을 순차적으로 학습하며 이전 모델의 오류를 개선. | | 모델 학습 방식 | 독립적으로 여러 모델을 병렬로 학습. | 순차적으로 모델을 학습하며 이전 모델의 오류를 보정. | | 결합 방식 | 평균화(회귀) 또는 다수결(분류)로 결과를 결합. | 가중치를 적용하여 결과를 결합. | | 오류 처리 | 각 모델의 예측 오류를 동일하게 다룸. | 이전 모델의 오류에 가중치를 부여해 집중적으로 개선. | —
2. Boosting의 장점 (복잡한 데이터에 유리한 이유)
- 순차적 학습으로 오류 보정
- Boosting은 이전 모델의 오류를 학습 데이터의 가중치로 반영하여, 학습이 잘되지 않은 데이터(복잡한 패턴)에 대해 집중적으로 학습.
- 예: XGBoost는 Gradient Descent를 통해 손실 함수의 기울기를 기반으로 모델 개선.
- 가중치 조정으로 극단적 학습 가능
- Boosting은 학습 과정에서 각 데이터 포인트에 가중치를 부여, 복잡한 패턴이나 이상치도 잘 처리 가능.
- 이는 Bagging(Random Forest)의 단순 평균화 접근과 대조적.
- 더 나은 최적화
- Boosting 모델(XGBoost, LightGBM 등)은 손실 함수(예: MSE, Cross-Entropy) 기반 최적화를 통해 정교한 조정 가능.
- Bagging은 모델 결과를 평균하거나 다수결로 단순 결합.
- 복잡한 변수 상호작용 학습
- Boosting 모델은 변수 간의 상호작용이나 복잡한 패턴을 자동으로 학습(특히 Decision Tree 기반).
- Random Forest는 독립적으로 생성된 트리의 평균값만 계산하므로 상호작용 학습 능력이 제한적.
- Gradient 기반 학습
- Boosting은 Gradient 기반 학습으로 복잡한 데이터에서 오류를 최소화.
Random Forest는 단순 투표 방식을 사용하므로, Gradient 기반 세부 조정 부족.
3. Bagging(Random Forest)의 제한점
- 독립적인 트리 학습
- 트리들이 독립적으로 학습하므로 데이터의 전반적인 패턴 학습이 부족.
- 복잡한 상호작용과 세부 패턴 학습이 어려움.
- 단순 평균화
- 예측값의 단순 평균화로 복잡한 데이터를 세밀하게 조정하지 못함.
예: 극단적인 이상치 데이터의 영향을 적절히 다루지 못함.
4. 결론
- Boosting 모델은 **순차적 학습**과 **가중치 기반 오류 보정**을 통해 **복잡한 데이터 구조**와 **변수 간 상호작용**을 더 잘 학습. - Bagging(Random Forest)은 독립적으로 트리를 학습하여 **단순하고 안정적인 데이터**에서 성능이 좋지만, **복잡한 데이터 구조**에는 한계. ### **비유** - **Bagging(Random Forest)**: 여러 사람이 독립적으로 시험을 본 후 평균 점수로 실력을 평가. - **Boosting**: 한 사람이 시험에서 틀린 문제를 집중적으로 복습하고 다시 시험을 봄. 반복 학습으로 점점 더 높은 성적을 얻음. **→ Boosting은 복잡한 데이터에서 더 높은 세밀한 조정이 가능**