🐣python

앙상블

category
🐣python
URL
date
Feb 13, 2023
slug
ensemble
author
status
Public
tags
Playdata_deep-learning & machine-learning
summary
앙상블
type
Post
thumbnail
updatedAt
Mar 2, 2023 03:00 AM

앙상블 개요

앙상블 기법

  • 다양한 분석 방법론을 조합해 하나의 예측 모형을 만드는 지도학습 방법론
  • 앙상블은 다양한 분석 방법론을 조합하기 때문에 해석이 어렵지만, 보다 우수한 예측 성능을 갖는다는 장점을 가짐
  • 실생활에서 중요한 결정을 앞두고 여러 가지 의견을 모으고 종합해 최종 결정을 하는 것과 유사
 

앙상블의 특징

  • 단일 모델의 약점을 다수의 모델들을 결합하여 보안
  • 성능이 떨어지더라도 서로 다른 유형의 모델을 섞는 것이 오히려 전체 성능에 도움이 될 수 있음
    • 예측기가 가능한 한 서로 독립적일 때 최고의 성능을 발휘
    • 서로 다른 알고리즘으로 학습시키면 서로 다른 종류의 오차를 만들 가능성이 높기 떄문에 정확도를 향상 시킴
  • 랜덤포레스트 및 뛰어난 알고리즘들은 모두 결정 트리 기반 알고리즘 적용
  • 결정트리의 단점인 과적합을 수십,수천개의 많은 분류기를 결합해 보안하고 장점인 직관적인 분류 기준은 강화
  • 정형 데이터를 다루는데 가장 뛰어난 알고리즘(비정형데이터 : 신경망)
  • 랜덤포레스트, 그래디언트 부스팅 알고리즘
  • XGBoost,LightGBM
 

앙상블 방식, 유형

  • 보팅(Voting) , 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking)
보팅
배깅
학습데이터셋트
동일 데이터
서로 다른 데이터 샘플링, 중첩을 허용
알고리즘
서로 다른 알고리즘
같은 알고리즘
최종 결정 방식
보팅
보팅(동일)
notion image
 

Bootstraping 표본 추출 방법

  • 부스트래핑이라고도 하는 표본 추출 방법
  • 주어진 데이터에 대해 사전 설정이 비율에 따라 복원추출 하는 방법
  • 100개의 관측지가 있을 때 첫 번째 추출로 선택된 관측지가 두 번쨰 표본 추출 시에도 포함될 수 있음.
  • 부트스트랩 표본 추출 방법을 이용하면 전체 데이터를 이용해 하나의 모델을 만드는 것보다 안정적인 예측 또는 분류 결과를 얻을 수 있음
notion image
 

앙상블 기법1) - 보팅

보팅(Voting)

  • 보팅과 배깅은 여러 개의 분류기가 투표를 통해 최종 결과를 예측
  • 서로 다른 알고리즘을 사용하는 여러 개의 분류모델 사용
  • 모두 같은 데이터를 사용하여 학습
notion image

보팅의 유형

  • 보팅은 하드 보팅과 소프트 보팅으로 나누어짐
  • 하드 보팅(직접투표)
    • 각 분류기가 예측한 결과를 다수결로 최종 class 결정
  • 소프트 보팅(간접 투표)
    • 각 분류기가 예측한 확률을 평균하여 결정하는 방식
  • 일반적으로 확률이 더 높은 투표에 비중을 더 두는 소프트 보팅이 하드 보팅보다 예측 성능이 상대적으로 우수
  • 사이킷런은 VotingClassifier 클래스를 통해 보팅을 지원
notion image