잇연

[sesac LLM] day33-240219 ML 트리모델, 앙상블★ 본문

SESAC LLM 개발자 강의

[sesac LLM] day33-240219 ML 트리모델, 앙상블★

잇연 2024. 2. 20. 02:27

학습목표 : 앙상블을 배워보자.

 

트리모델 발전과정

Decision Tree-> Random Forest-> AdaBoost-> GBM-> XGBoost LightGBM CatBoost

 

앙상블(Ensemble)이란?

  • 여러개의 결정트리를 결합하여 하나의 결정 트리보다 더 좋은 성능을 내는 머신러닝 기법
  • 앙상블 학습의 핵심은 여러 개의 약 분류기(Week Classifier)를 결합하여 강분류기(Strong Classifier)를 만드는 과정
  • 여러개의 단일 모델들의 평균치를 내거나 투표를 해서 다수결에 의한 결정을 하는 등 여러 모델의 집단 지성을 활용하여 더 나은 결과를 도출해내는 것이 주 목적에 있다.
  • input->분류기1,분류기2,분류기3,...분류기n-> 앙상블-> 투표 or 평균
  • 장점 :
    • 1) 성능을 분산시켜 과적합 감소 효과
    • 2) 개별 모델 성능이 잘 안나올때 앙상블 학습을 이용하면 성능이 향상될 수 있다.
  • 앙상블 기법
    • 1) 보팅(Voting) : 투표를 통해 결과 도출
      • 하드보팅, 소프트 보팅
    • 2) 배깅(Bagging) : Bootstrap Aggregation (샘플을 다양하게 생성)
      • 배깅분류, 랜덤포레스트, 엑스트라 트리
    • 3) 부스팅(Boosting) : 이전 오차를 보완하여 가중치를 부여한다.
      • AdaBoost, Gradient Boost, XGBoost, LGBM, CarBoost
    • 4) 스태킹(Stacking) : 여러 모델을 기반으로 한 meta 모델
더보기
  • 보팅(Voting): 여러 다른 모델을 결합하여 각 모델의 예측 결과에 대한 투표를 통해 최종 예측을 결정한다. 가장 많은 표를 받은 예측값을 선택한다.
  • 배깅(Bagging): 같은 알고리즘의 여러 모델을 각기 다른 데이터 샘플에 대해 병렬로 학습시키고, 모든 모델의 예측을 평균내거나 다수결로 결정한다.
  • 부스팅(Boosting): 여러 모델을 순차적으로 학습시키되, 이전 모델이 잘못 예측한 데이터에 더 많은 가중치를 부여하여 오류를 줄여나간다.
  • 스태킹(Stacking): 여러 모델의 예측값을 새로운 데이터로 사용해 최종 모델을 학습시키며, 이 최종 모델을 통해 최종 예측을 수행한다.

 

 

07 03_wine 08 bike-demand