본문 바로가기
  • 데이터에 가치를 더하다, 서영석입니다.
공부하는 습관을 들이자/Python_ML

부스팅 알고리즘

by 꿀먹은데이터 2021. 12. 29.

부스팅 알고리즘 종류 

  • AdaBoost
  • GBM(Gradient Boosting Machine)
  • XGBoost
  • LightGBM
  • CatBoost

AdaBoost

Adaptive Boost의 줄임말로 약한 학습기(weak learner)의 오류 데이터에 가중치를 두어 더하는 알고리즘이다.  AdaBoost는 이전의 분류기에 의해 잘못 분류된 것들을 이어지는 약한 학습기들이 수정해줄 수 있다. 따라서 AdaBoost는 잡음이 많은 데이터와 이상점에 취약한 모습을 보이는 반면 과적합(overfitting)에 덜 취약한 모습을 보인다. Decision Tree를 약한 학습기로 사용한다.

Statistics for Machine Learning (book)

AdaBoost의 경우 아래와 같은 방식으로 학습을 진행한다.

1. (1) 첫번째 약한 학습기가 Iteration 1의 경우 선을 기준으로 +와 -를 분류

   (2) 잘못 분류된 데이터에 대한 가중치를 부여 (Iteration2의 경우 커진 3개의 +)

2. (1) 두번째 약한 학습기가 Iteration 2의 경우 선을 기준으로 +와 -를 다시 분류

   (2) 잘못 분류된 데이터에 대한 가중치를 부여 (Iteration3의 경우 커진 3개의 -)

3. (1) 세번째 약한 학습기가 Iteration 3의 경우 선을 기준으로 +와 -를 다시 분류

   (2) 마지막 3-(1)로 인한 오류 데이터를 찾는다.

4. 각 기준에 가중치를 부여하여 모두 결합한 뒤 예측 수행.

 

AdaBoost의 Hyperparameter

base_estimators 

학습에 사용하는 알고리즘

n_estimators

생성할 약한 학습기의 개수를 지정

learning_rate

학습을 진행할 때마다 적용하는 학습률(0~1 사이의 값)

 

GBM(Gradient Boosting Machine)

경사하강법(Gradient Descent)를 이용하여 최적화된 결과를 얻는 알고리즘이다.GBM은 예측성능은 높지만 Greedy Algorithm으로 과적합이 빠르게 되고, 시간이 오래 걸린다는 단점이 있다.

'공부하는 습관을 들이자 > Python_ML' 카테고리의 다른 글

[2-4]타이타닉 생존자 예측  (0) 2022.01.05
[#3]데이터 전처리  (0) 2022.01.01
[2. (2) 교차 검증]  (0) 2021.12.30
[2. (1) 붓꽃 품종 예측하기]  (0) 2021.12.29