Introduction
이번엔 부스팅에 대해서 알아보는 시간.
부스팅이 무엇인지 개념부터 시작하여 에이다부스트 AdaBoost 에 대해 간단히 정리해보자.
Boosting
부스팅은 여러 개의 단순한 학습기(weak learner) 들을 '순차적'으로 학습하는 앙상블 모델이다.
학습 도중 매 단계에서 잘못 예측한 경우에 대해 가중치 weight를 업데이트해 오류를 개선한다.
순차적으로 학습하기 때문에 병렬학습하는 Random Forest보다 학습 시간이 길다.
부스팅의 대표적인 구현은 에이다부스트(AdaBoost, Adaptive Boosting), 그래디언트 부스트(GBM),
XGBoost, LGBM(Light GBM)등이 있다.
차례차례 하나씩 알아볼 예정이며, 이 글에서는 AdaBoost에 대해 다룬다.
AdaBoosting
에이다부스팅을 개념적으로 이해하기 위한 그림이다.
그림은 파이썬 머신러닝 완벽 가이드 강의자료에서 가져왔다.
처음 피쳐 데이터셋에 +와 -가 섞여있으며, 이를 분류하는것이 목적이다.
step1: 처음 분류기준1에서 +를 구분하였다.
step2: 아직 분류하지 못한 +들에게 가중치를 부여한다.
step3: 가중치를 부여하자, 새로 설정한 분류기준이 오른쪽으로 옮겨갔으며 이를 분류기준 2라 한다.
step4: 오답 -를 분류하기 위해 가중치를 부여한다.
step5: 새로운 분류기준 3이 만들어졌다.
즉 서로 다른 분류기에 각각 다른 가중치를 적용하여 학습시킨다.
이를 개념을 정리하면 아래와 같다.
Conclusion
간단하게 부스팅의 개념과
에이다부스트 AdaBoosting 에 대해 알아보았다.
다음 시간부터는 다른 부스팅알고리즘들을 하나씩 정리할 계획이다.
'PL > Python' 카테고리의 다른 글
Ensemble Learning 5: XGBM - 이론 파트 (0) | 2022.12.22 |
---|---|
Ensemble Learning 4: 그래디언트 부스트 GBM (0) | 2022.12.22 |
쉬어가기: GridSearchCV 하이퍼파라미터 튜닝 관련 질문 (0) | 2022.12.22 |
Ensemble learning 2: 배깅 Bagging, 랜덤 포레스트 (0) | 2022.12.16 |
[코드 스터디] UCI-HAR 데이터셋3: 결정트리 적용 (0) | 2022.12.15 |
댓글