- bagging : variance를 감소시키는 역할
- boosting : bias를 감소시키는 역할
- bagging은 병렬로 학습, boosting은 순차적으로 학습 ( 가중치 재분배를 위해서 )
Boosting
- AdaBoost / Gradient Boost
- 가중치 평균을 사용하여 약한 학습자를 더 강력한 학습자로 만드는 알고리즘 그룹을 말한다.
- "teamwork"에 관한 것
- 실행되는 각 모델은 다음 모델에 집중할 feature을 결정한다
- 차례대로 하나는 다른 것으로부터 배우고, learning을 boosting함
1. Gradient Boost
gradient boosting regression tree는 여러 개의 decision tree를 묶어 강력한 model을 만드는 ensemble기법입니다.
random forest와 달리 gradient boosting model은 이전 tree의 오차를 보완하는 방식으로 tree를 만듭니다.
gradient boosting은 무작위성이 없어 powerful한 pre-pruning이 사용되며
1~5 정도 깊이의 tree를 사용하므로 메모리를 적게 사용하고 예측도 빠릅니다.
gradient boosting은 이런 얕은 트리들을 계속해서 연결해나가는 것입니다.
gradient boosting은 parmeter설정에 random forest보다 조금 더 민감하지만 잘 조정하면 높은 정확도를 제공합니다.
gradient boosting에서 주요 parameter는 이전 트리의 오차를 얼마나 강하게 보정할 것인가를 제어하는
learning_rate가 있습니다.
learning_rate를 높이면 보정을 강하게 하기 때문에 복잡한 모델을 만듭니다.
n_estimator 값을 키우면 ensemble에 트리가 더 많이 추가되어 모델의 복잡도가 커지고 train 세트를 더 정확하게 fitting합니다.
2. Ada Boost
scikit 함수 인자
'AI > 이론' 카테고리의 다른 글
[ML] Gradient Descent1 (0) | 2021.05.18 |
---|---|
[ML] Activation1 - 종류 및 설명 (0) | 2021.05.18 |
[ML] Ensemble, Bagging (bootstrap aggregating) - Random Forest (0) | 2021.05.12 |
[ML] Ensemble (0) | 2021.05.12 |
[ML] 참고 (0) | 2021.04.06 |