참고 문헌:
1. 서강대 AI MBA 데이터마이닝 강의교재 (2023)
2. Müller, A. C., & Guido, S. (2016). *Introduction to Machine Learning with Python*. 1st Edition. O’Reilly Media, Inc., Sebastopol, CA. ISBN: 978-1449369415.
부스팅(Boosting)은 여러 약한 학습자(weak learner)를 순차적으로 결합하여 강력한 학습 모델을 만드는 앙상블 기법이다. 각 학습자는 이전 모델이 잘못 예측한 데이터를 보완하도록 학습되며, 점진적으로 성능을 향상시킨다. 대표적인 부스팅 알고리즘에는 AdaBoost, Gradient Boosting, XGBoost, LightGBM, CatBoost가 있다. 이 방식은 높은 예측 성능을 제공하지만, 계산 비용이 크고 학습 속도가 느리며, 과적합에 민감할 수 있다.
다음은 5가지 부스팅 알고리즘에 대한 설명과 장단점이다.
1. AdaBoost (Adaptive Boosting):
- 설명: 기본적인 부스팅 기법으로, 이전 모델의 오류에 가중치를 주어 학습을 강화하는 방식이다.
- 장점: 구현이 간단하고 적은 파라미터 조정으로도 성능이 개선된다.
- 단점: 노이즈에 민감하고 과적합이 발생할 수 있다.
- 가중치 수식:$w_i = w_i \cdot \exp(\alpha \cdot I(y_i \neq \hat{y}_i))$
2. Gradient Boosting:
- 설명: 손실 함수의 경사를 따라 학습하며, 각 단계에서 오류를 줄이도록 모델을 개선한다.
- 장점: 유연하고 다양한 손실 함수에 적용 가능하다.
- 단점: 느린 학습 속도와 높은 계산 비용을 요구한다.
- 모델 업데이트 수식: $F_{m}(x) = F_{m-1}(x) - \gamma \cdot \frac{\partial L(y, F_{m-1}(x))}{\partial F_{m-1}(x)}$
3. XGBoost (Extreme Gradient Boosting):
- 설명: Gradient Boosting을 확장하여 병렬 처리와 정규화를 통해 성능과 속도를 극대화한다.
- 장점: 빠르고 메모리 효율적이며, 과적합 방지가 가능하다.
- 단점: 모델이 복잡하여 파라미터 튜닝이 어렵고 시간이 걸린다.
- 목적함수 수식: $Obj = \sum_{i=1}^{n} L(y_i, \hat{y}_i) + \sum_{k=1}^{T} \Omega(f_k)$
4. LightGBM (Light Gradient Boosting Machine):
- 설명: XGBoost보다 가벼운 버전으로, 대용량 데이터를 효율적으로 처리한다.
- 장점: 학습과 예측 속도가 빠르며, 메모리 사용량이 적다.
- 단점: 작은 데이터셋에서 성능이 떨어질 수 있다.
- 손실함수 수식: $\frac{1}{n} \sum_{i=1}^{n} L(y_i, \hat{y}_i) + \lambda \sum_{k=1}^{T} \| w_k \|$
5. CatBoost:
- 설명: 범주형 데이터 처리에 특화된 부스팅 알고리즘으로, 자동으로 데이터를 인코딩한다.
- 장점: 범주형 데이터를 효과적으로 처리하며, 성능이 우수하다.
- 단점: 큰 데이터셋에서 느리며, 하이퍼파라미터 튜닝이 필요하다.
- 손실함수 수식: $L = \sum_{i=1}^{n} \log\left(1 + \exp(-y_i \hat{y}_i)\right)$
다음은 부스팅에서 사용하는 경사하강법의 다양한 종류와 각각의 수식이다.
1. 배치 경사하강법 (Batch Gradient Descent)
- 전체 데이터셋을 사용해 기울기를 계산해 업데이트한다.
- 수식: $w := w - \eta \cdot \frac{1}{N} \sum_{i=1}^{N} \nabla L(y_i, \hat{y}_i)$
2. 확률적 경사하강법 (Stochastic Gradient Descent, SGD)
- 단일 샘플을 사용해 업데이트한다.
- 수식: $w := w - \eta \cdot \nabla L(y_i, \hat{y}_i)$
3. 미니 배치 경사하강법 (Mini-batch Gradient Descent)
- 미니 배치로 나누어 계산한다.
- 수식: $w := w - \eta \cdot \frac{1}{m} \sum_{i=1}^{m} \nabla L(y_i, \hat{y}_i)$
4. 모멘텀 경사하강법 (Momentum Gradient Descent)
- 업데이트에 관성을 추가한다.
- 수식:
$v_t = \gamma v_{t-1} + \eta \nabla L(y_i, \hat{y}_i)$
$w := w - v_t$
5. Nesterov 가속 경사하강법 (NAG)
- 미리 계산된 위치에서 기울기를 구해 속도를 높인다.
- 수식:
$v_t = \gamma v_{t-1} + \eta \nabla L(y_i, \hat{y}i - \gamma v{t-1})$
$w := w - v_t$
6. 적응적 학습률 (Adagrad, Adadelta, RMSprop)
- 학습률을 적응적으로 조정한다.
- 수식: $w := w - \frac{\eta}{\sqrt{G_{t} + \epsilon}} \nabla L(y_i, \hat{y}_i)$
7. Adam (Adaptive Moment Estimation)
- 모멘텀과 적응적 학습률을 결합한 방식이다.
- 수식:
$m_t = \beta_1 m_{t-1} + (1 - \beta_1) \nabla L(y_i, \hat{y}_i)$
$v_t = \beta_2 v_{t-1} + (1 - \beta_2) (\nabla L(y_i, \hat{y}_i))^2$
$w := w - \frac{\eta}{\sqrt{v_t} + \epsilon} m_t$
이 수식들은 각각의 경사하강법에서 사용되며, 데이터와 문제 유형에 따라 적합한 방법을 선택할 수 있다.
'데이터분석' 카테고리의 다른 글
| CHAPTER 3: 비지도 학습(Unsupervised Learning)과 전처리(Preprocessing) (0) | 2025.03.05 |
|---|---|
| Chapter 2. 지도학습(Supervised learning): 랜덤포레스트(Random Forest) (0) | 2024.09.21 |
| Chapter 2. 지도학습(Supervised learning): 의사결정나무(Decision Trees) (0) | 2024.09.02 |
| Chapter 2. 지도학습(Supervised learning): Naive Bayes classifier (1) | 2024.09.02 |
| Chapter 2. 지도학습(Supervised learning): SVM (0) | 2024.08.27 |