앙상블 학습

From IT Wiki
Revision as of 01:27, 8 January 2020 by PE120 (talk | contribs)
Ensemble Learning
하나의 데이터를 여러개의 분류기를 통해 다수의 학습 모델을 만들어 학습시키고 학습 결과를 결합함으로써 과적합을 방지하고 정확도를 높이는 학습 기법

유형

보팅

여러 모델에서 구해진 예측값들을 대상으로 다수결 투표를하여 최종 클래스를 예측

앙상블 학습.png

  • 하드 보팅과 소프트 보팅
하드 보팅 소프트 보팅
하드 보팅.png 소프트 보팅.png
예측 결과를 그대로 보팅 예측 확률의 평균값으로 보팅

배깅

배깅(Bagging)은 Bootstrap Aggregating의 줄임말로, 부트스트래핑을 이용한 앙상블 학습법
  • 부트스트래핑과 패이스팅
    • 부트스트래핑: 학습 데이터셋에서 중복을 허용하여 랜덤하게 추출하는 방식(aka. 리샘플링)
    • 페이스팅: 학습 데이터셋에서 중복 없이 랜덤하게 추출하는 방식
  • 부트스트래핑 장단점
    • 장점: 분산 감소
    • 단점: 중복으로 인해, 특정 샘플은 사용되지 않고 특정 샘플은 여러번 사용되어 편향될 가능성

배깅(Bagging).png

부스팅

성능이 약한 학습기(weak learner)를 여러 개 연결하여 순차적으로 학습함으로써 강한 학습기(strong learner)를 만드는 앙상블 학습기법

부스팅(Boosting).png

  • 장단점
    • 장점: 오답에 대해 높은 가중치를 부여하고 정답에 대해 낮은 가중치를 부여하여 오답에 더욱 집중
    • 단점: 이상치(Outlier)에 취약
  • 종류
종류 설명
아다부스팅

(AdaBoost)

  • Adaptive Boosting
  • 언더피팅 됐던 학습 데이터 샘플의 가중치를 높여감
그래디언트 부스팅

(Gradient Boosting)

  • 가중치 업데이트를 경사 하강법(Gradient Descent)을 이용
  • 학습 전단계 모델에서의 잔여 오차에 대해 새로운 모델을 학습시키는 방법

랜덤 포레스트

배깅을 적용한 의사결정 나무 앙상블 학습 기법

참고 문헌