앙상블(Ensemble)

예린·2024년 3월 30일

머신러닝

목록 보기
7/7

앙상블(Ensemble)

여러 개의 기본 모델을 결합하여 훨씬 강력한 하나의 새로운 모델을 만들어내는 기법


보팅(Voting)

다양한 유형의 알고리즘을 기반으로 한 여러 모델들의 예측 결과를 투표로 통해 최종 예측결과로 결정하는 방법

  • 하드 보팅: 다수 모델이 예측한 값을 최종 선택
  • 소프트 보팅: 모든 모델이 예측한 레이블 값의 결정 확률 평균을 구한 뒤 가장 확률이 높은 값을 최종 선택

배깅(Bagging)

데이터로부터 부트스트랩(보간 추출: 중복이 허용한 샘플링) 한 데이터로 모델들을 학습시킨후, 모델들의 예측 결과를 집계해 최종 결과를 얻는 방법

  • Bootstrap Aggregating의 약자
  • 같은 유형의 알고리즘을 기반으로 한 모델들을 사용(예를 들어, KNN 모델 100개)

랜덤 포레스트(Random Forest)

  • 여러 Decision Tree 모델이 전체 데이터에서 배깅 방식으로 각자의 데이터를 샘플링
  • 배깅의 가장 대표적인 알고리즘

부스팅(Boosting)

같은 유형의 알고리즘 기반 모델 여러 개에 대해 순차적으로 학습을 수행하는 방법

  • 이전 모델이 제대로 예측하지 못한 데이터에 대해서 가중치를 부여하며 다음 모델이 학습과 예측을 진행하는 방법
  • 계속하여 모델에게 가중치를 부스팅하며 학습을 진행해 부스팅 방식이라고 함
  • 예측 성능이 뛰어남
  • 배깅에 비해 성능이 좋지만, 속도가 느리고 과적합 발생 가능성이 있기 때문에 상황에 맞기 적절히 사용해야 함

스태킹(Stacking)

여러 모델의 예측 값을 최종 모델의 학습 데이터로 사용하여 예측하는 방법

  • (예시)
    • KNN, Logistic Regression, XGBoost 모델을사용해 4종류 예측값을 구함
    • 이 예측값을 최종 모델인 RandomForest 학습 데이터로 사용
  • 현실에서 거의 사용되지 않으며, 캐글(Kaggle)과 같은 미세한 성능 차이로 승부를 결정하는 대회에서 사용됨
    -기본 모델로 4개 이상 선택해야 좋은 결과를 기대할 수 있음

0개의 댓글