본문 바로가기

통계 톺아보기/01. 분류모델

[02_02_04] Boosting

앞서 정리했던 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은 이전 분류기의 학습 결과를 토대로 다음 분류기의 학습 데이터의 샘플 가중치를 조정해 학습을 진행하는 방법
  • 여러 개의 분류 모델이 순차적으로 학습을 수행함. 처음 모델이 예측하면 그 결과에 따라 데이터에 가중치가 부여되고, 부여된 가중치가 다음 모델 예측에 영향을 줌
  • 잘못 분류된 데이터에 집중하여 새로운 분류 규칙을 만드는 단계를 순차적으로 반복, 학습함

 

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 모델이 된다.

 

 

https://hyunlee103.tistory.com/25

 

 

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