[천리길스터디] 앙상블

hyemin·2022년 11월 7일
0

ML

목록 보기
6/9

Ensemble

유튜브(허민석) 앙상블-하드보팅, 소프트보팅
에서 가져온 사진. 앙상블의 이름을 잘 설명해주는 사진 같다.
유튜브(허민석) 앙상블-하드보팅, 소프트보팅

1. 목적

  • 여러 분류기를 하나의 분류기로 연결하여, 개별 분류기보다 더 좋은 성능을 달성
  • 일반화(generalizability), 강건성(robustness)를 향상시키기 위해 여러 모델의 예측값을 결합

2. 방법

  • 여러 분류 알고리즘 사용 : 다수결 투표(Voting)
  • 하나의 분류 알고리즘 사용 : 배깅(Bagging), 부스팅(Boosting)

3. 종류

3-1. Voting (Soft Voting, Hard Voting)

  • 동일한 훈련세트
  • 같은 훈련세트를 여러 모델에 넣어서 돌린다.

3-2. 배깅(bootstrap aggregating)

  • 하나의 모델
  • 훈련세트를 여러 개로 쪼개서 돌린다.
  • 랜덤포레스트-의사결정나무가 가장 대표적인 앙상블 학습 알고리즘
  • 부트스트랩(Bootstrap) 실시 : 데이터로부터 복원추출(중복허용) 샘플링 이용
  • 7개 중에 하나를 뽑아서 돌린 다음, 뽑힌 것을 제외하고 다시 추출하는 것이 아니라, 다시 7개 중에 하나를 뽑아 돌린다.
  • 분산을 줄이고 과적합을 막는다.

3-3 부스팅

  • 샘플. 학습하고 나서 수정 or 가중치
  • 결합된 모델의 편향을 감소시키기 위해서 노력
  • 여러 모델을 결합해 하나의 강력한 앙상블 모델을 구축
  • 샘플을 뽑을 때 잘못 분류된 data 50% 를 재학습

3-4 라이브러리

  • 그레이디언트 부스팅 : 이전 트리의 손실을 보완하는 식으로 얕은 결정트리를 연속하여 추가
    • from sklearn.ensemble import GradientBoosingClassifier
    • 전용 라이브러리인 LightGBM이 있을 정도로 추천이 많이 되는 라이브러리
  • XGBoost vs LightGBM
    • MS사에서 만든 LightGBM : 그레디언트 전용 라이브러리. 히스토그램 기반 부스팅 지원으로 인기가 높았다. 히스토그램 기반 부스팅 지원은 XGBoost나 히스토그램기반 그레디언트 부스팅도 있다. (from lightgbm import LGBMClassifier)
    • XGBoost : LightGBM과 마찬가지로 오픈소스 라이브러리. 캐글에서 많이 사용하는 라이브러리이다.(from xgboost import XGBClassifier)
    • import 명에서 알 수 있듯이 Classifier말고 regressor도 있다.

4. 참고

유튜브 : 강서대학교 빅데이터경영학과 이상철 교수 채널- 앙상블학습
한빛미디어 [혼자 공부하는 머신러닝+딥러닝] 13강 트리의 앙상블
https://scikit-learn.org/stable/modules/ensemble.html

5. 추가 공부할 것

그레디언트 부스팅 할 때 경사하강법이 나왔는데, 그 개념을 알아보자.
soft voting과 hard voting의 차이점
XGBoost와 LightGBM의 자세한 학습

profile
아직 고쳐나가는 중.

0개의 댓글