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