앙상블 기법

From IT Wiki
(Redirected from 앙상블 학습)
Ensemble Learning
하나의 데이터를 여러개의 분류기를 통해 다수의 학습 모델을 만들어 학습시키고 학습 결과를 결합함으로써 과적합을 방지하고 정확도를 높이는 학습 기법

유형[edit | edit source]

  • 보팅: 앙상블 학습의 기본, 하위 모든 기법들이 보팅 사용
  • 배깅: 하나의 데이터를 여러개로 나누어 학습하는 앙상블 학습법
    • 보팅을 하나의 고유한 학습법으로 보고 배깅과 구분하자면, 일반적으로 보팅은 하나의 데이터에 여러 알고리즘 적용, 배깅은 여러개로 나누어진 데이터에 하나의 알고리즘을 적용하는 것으로 구분
    • 하지만 여러개로 나누어진 데이터를 이용하는 배깅에서도, 최종 예측값을 선택하는 행위는 '보팅'이라 함
  • 부스팅: 병렬로 수행되는 배깅과 달리, 각 결과값을 이용하여 순차적으로 결합
  • 랜덤 포레스트: 배깅 + 의사결정 나무

보팅[edit | edit source]

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

앙상블 학습.png

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

배깅[edit | edit source]

배깅(Bagging)은 Bootstrap Aggregating의 줄임말로, 부트스트래핑을 이용한 앙상블 학습법

배깅(Bagging).png

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

부스팅[edit | edit source]

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

부스팅(Boosting).png

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

(AdaBoost)

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

(Gradient Boosting)

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

랜덤 포레스트[edit | edit source]

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

참고 문헌[edit | edit source]