앞서 정리했던 Bagging에 이어서 Boosting에 대해서 정리해보았다.
Bagging과 다른 Boosting의 개념, 장점, 단점 그리고 특징들을 살펴보도록 하겠다.
[02_02_03] Bagging
Bagging이란 Ensemble의 한 종류로 Booststrap aggregating의 약자이다. 배깅은 분산을 줄이는 알고리즘이며, 의사결정나무는 다른 모형에 비해 상대적으로 분산이 높기 때문에 종종 활용된다. 1. Bagging의
based-infos.tistory.com
1. Boosting 개념
- Bagging은 각각의 샘플에 적용된 모델들이 서로 독립적인 결과를 예측함 (병렬적으로 학습하기 때문)
- Sequential한 weak learner들을 여러개 결합하여 예측 혹은 분류 성능을 높이는 알고리즘
- Bagging과 달리 모델간 팀워크가 이루어짐
- Boosting은 이전 분류기의 학습 결과를 토대로 다음 분류기의 학습 데이터의 샘플 가중치를 조정해 학습을 진행하는 방법
- 여러 개의 분류 모델이 순차적으로 학습을 수행함. 처음 모델이 예측하면 그 결과에 따라 데이터에 가중치가 부여되고, 부여된 가중치가 다음 모델 예측에 영향을 줌
- 잘못 분류된 데이터에 집중하여 새로운 분류 규칙을 만드는 단계를 순차적으로 반복, 학습함
2. Boosting 장·단점
1) 장점
- Bagging에 비해 성능이 좋음
2) 단점
- 직렬 구조로 Sequential하게 학습하기 때문에 속도가 느림
- Over-fitting이 발생할 가능성이 존재함
3. Boosting General Idea
- 여러 개의 분류 모델이 순차적으로 학습을 수행함. 처음 모델이 예측하면 그 결과에 따라 데이터에 가중치가 부여되고, 부여된 가중치가 다음 모델 예측에 영향을 줌
아래 그림을 통해 살펴보자.
Sample1을 이용하여 Classifier1 학습하고 그 결과에 Weight update 진행함
Sample1에서 잘못 분류되었던 데이터에 Wegith Update 한 결과인 Sample2 이용하여 Classifier2 학습하고 Weight Update 진행
위와 같은 방식으로 N번 iteration하면 N번 돌린 Boosting 모델이 된다.
4. Boosting 대표 알고리즘
Algorithm | 특징 |
AdaBoost | 다수결을 통한 정답 분류 및 오답에 가중치 부여 |
GBMBoost | Loss Function의 gradient를 통해 오답에 가중치 부여 |
XGBoost | GBM 대비 성능 향상 시스템 자원 효율적 사용 (CPU, Memory) Kaggle을 통한 성능 검증 (많은 상위 랭커가 사용) |
Light Boost | XGboost 대비 성능향상 및 자원 소모 최소화 XBboost가 처리 못하는 대용량 데이터 학습 가능 Approximates the split (근사치 분할)을 통한 성능 향상 |
[Reference]
1) bkshin.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-11-%EC%95%99%EC%83%81%EB%B8%94-%ED%95%99%EC%8A%B5-Ensemble-Learning-%EB%B0%B0%EA%B9%85Bagging%EA%B3%BC-%EB%B6%80%EC%8A%A4%ED%8C%85Boosting?category=1057680
2) https://hyunlee103.tistory.com/25
3) www.slideshare.net/freepsw/boosting-bagging-vs-boosting
'통계 톺아보기 > 01. 분류모델' 카테고리의 다른 글
02_01_01. 의사결정나무 Decision Tree (0) | 2021.05.26 |
---|---|
[02_02_03] Bagging (0) | 2020.10.04 |
[02_02_02] Bootstrap (0) | 2020.09.30 |
[02_02_05] Boosting (AdaBoost) (0) | 2020.08.30 |
[02_02_01] Ensenble (앙상블) 이란? (0) | 2020.08.23 |