본문 바로가기

ML,DL

Ensemble - Bagging, Boosting, Stacking

Ensemble

동일하거나 다른 모델을 여러개 사용해서 한개의 단일 모델을 사용할 때보다 좋은 결과를 이끌어 내도록 하는 기법.

대표적으로, 큰 범주에서 Bagging, Boosting, Stacking이 존재

Bagging(Bootstrap aggregating)

  • 샘플을 여러 번 뽑아 각 모델을 학습시켜 결과를 집계하는 방식

  • 샘플 데이터만을 통해서 최대한 모집단의 데이터 분포와 유사하게 모델에 사용할 수 있도록 하기 위함
  • Under/Over-fitting을 피하기 위함
  • 참고 : Bootstrapping
 

Optimization - Cross validation, Bias & Variance, Bootstrapping

Deep learning에서 중요한 요소인 optimization에 대해 정리해보려 한다. Optimization에는 수많은 요소들이 있고 이를 전부 다 알고 있을 수는 없지만 그 중에서도 가장 널리 쓰이고 중요한 개념들만을 정

sdsf1225.tistory.com

  • 일반적으로, Categorical data의 경우 : Voting
  • Continuous의 경우 : Average로 Aggregate
  • e.g. Random Forest(Decision Tree를 여러 개 합친 모델)

Random Forest : https://www.tibco.com/reference-center/what-is-a-random-forest

Boosting

  • 맞추기 어려운 문제를 맞추는데 초점이 맞춰져 있는 앙상블 기법
  • Bagging과 마찬가지로 Bootstrapping을 하지만, 가중치를 부여
  • Bagging은 병렬적으로 진행되지만, Boosting은 순차적으로 진행됨
    • 학습이 끝나면 나온 결과에 따라 가중치가 재분배 되기 때문
    • 오답에 높은 가중치를 부여하고, 정답에 낮은 가중치 부여
  • e.g. AdaBoost, XGBoost, GradientBoost ... 

Boosting : https://media.geeksforgeeks.org/wp-content/uploads/20210707140911/Boosting.png

Stacking

"Two heads are better than one" 
  • Stacking은 서로 다른 모델들을 조합해서 최고의 성능을 내는 모델을 생성하는 앙상블 기법

https://editor.analyticsvidhya.com/uploads/39725Stacking.png

'ML,DL' 카테고리의 다른 글

Gradient Clipping  (0) 2024.08.12
밑러닝 (1) - CH.2  (0) 2024.04.22
Optimization - Cross validation, Bias & Variance, Bootstrapping  (0) 2023.03.08
Random Forests  (0) 2021.09.03
Underfitting & Overfitting  (0) 2021.08.26