Stats & AI tech blog - '일단 시도함'

[ML/DL] GBM, Gradient Boosting Machine 본문

Statistics & AI/Classification

[ML/DL] GBM, Gradient Boosting Machine

justdoit ok? 2024. 6. 4. 13:52

이전 포스팅에서 앙상블 기법의 여러 종류에 대해 다루어 보았다.

2024.05.20 - [Data Science/Ensemble] - [ML/DL] Ensemble (앙상블 기법)

 

[ML/DL] Ensemble (앙상블 기법)

Ensemble (앙상블 기법)  이번 포스팅에서는 분류 예측 문제를 다룰 때 자주 사용되는 앙상블 기법에 대해 알아보고자 한다.앙상블 기법이 무엇인지 개념을 알아보고, 어떤 종류가 있는지 알아보

meowstudylog.tistory.com

 

이번 포스팅에서는 Boosting 기법 중 하나인 GBM (Gradient Boosting Algorithm)에 대해 알아보도록 하겠다.

 

 

 

1. GBM (Gradient Boosting Machine)

 

GBM은 경사하강법(Gradient Descent)을 사용해서 모델의 가중치를 업데이트하는 알고리즘이다.

GBM의 학습 과정을 잔차(residual)를 통해 알아보자. 앙상블 기법이니 여러 개의 단순 모델을 사용한다.

 

먼저 단순 모델 A를 통해 y를 예측해주고, 실제 값과 예측 값의 차이인 잔차(residual)을 구해준다.

그 다음 단순 모델 B를 통해 A의 잔차를 예측해주고, 여기서도 잔차를 구해준 후 다음 단순 모델 C, D,,,을 통해 같은 과정을 반복해준다. 이렇게 잔차에 대한 예측을 반복하다 보면, 마지막에 얻어지는 잔차는 점점 줄어들게 된다.

 

여기서 사용하는 단순 모델 A, B, C,,,를 weak learner라고 하고, weak learner들을 결합한 부스팅 모델을 strong learner라고 한다. strong learner를 활용해서 y를 예측하면 높은 성능의 결과를 얻을 수 있다.

 

아래는 weak learner로 여러 개의 Decision Tree 모델을 결합해서 Gradient Boosted Tree를 만드는 과정을 나타낸 그림이다.

https://www.geeksforgeeks.org/ml-gradient-boosting/

 

 

이런 방식으로 예측 모형을 만들게 되면 점점 residual이 줄어들어 training set을 잘 설명하는 모형을 만들 수 있지만,

그만큼 과적합(overfitting)의 위험도 커진다는 단점이 존재한다.

따라서, GBM을 사용할 때는 과적합을 해결하기 위해 일반적으로 아래와 같은 방법들을 함께 사용한다.

 

 

 

2. GBM에서 과적합 방지 기법

2.1 조기 종료 (Early Stopping)

검증 데이터셋의 성능이 더 이상 개선되지 않으면 학습을 조기 종료한다.

 

 

2.2 학습률(learning rate) 조정  

각 부스팅 단계에서 추가되는 모델의 기여도를 조절하는 파라미터로, 작은 학습률 사용하면 각 단계에서 모델이 천천히 학습하게 되어 과적합을 방지할 수 있다. 보통 0.01~0.3 사이의 값을 사용하고 학습률이 작을수록 더 많은 모델이 필요하게 된다.

 

 

2.3 트리 복잡도 제어 

트리의 최대 깊이(Depth) 또는 터미널 노드에 포함되는 최소 샘플 수를 제한하여 너무 작은 분할이 생기지 않도록 제어할 수 있다.

 

 

2.4 서브 샘플링 (Subsampling) 

부스팅 각 단계에서 데이터의 일부만을 무작위로 선택해서 학습한다. 데이터의 다양성을 유지하면서 과적합을 방지하는데 도움을 줄 수 있다. Feature를 랜덤하게 선택해서 학습하는 Feature subsampling 방법도 있다.

 

 

2.5 정규화 항 추가

모델 복잡도를 줄이기 위해서 L1 / L2 정규화 항을 가중치에 대한 패널티로 추가할 수 있다.

 

 

3. GBM 장단점

 

장점

  • 복잡한 비선형 관계에서도 높은 예측 성능을 보인다.
  • 회귀, 분류, 순위 예측 등 다양한 문제에 적용 가능하다.
  • 특성(feature)의 중요도를 평가할 수 있다.

 

단점

  • 순차적으로 학습을 수행하므로 학습 시간이 길어질 수 있다.
  • 하이퍼 파라미터(learning rate, tree depth 등) 조정이 복잡할 수 있다.
  • 모델이 복잡해질수록 과적합 위험이 있다.
  • 여러 모델을 결합하기 때문에 직관적인 해석이 어렵다.