Algorithm

모델 앙상블 방법 | Stacking, Blending, Voting

어쩌다통계 2022. 10. 19. 01:02
728x90

이 글이 도움되셨다면 광고 클릭 부탁드립니다 : )

본 포스팅은 아래 블로그를 번역하여 작성하였으며, 중간중간 이해가 잘 안 되는 부분들에 내용 추가하였습니다.
https://towardsdatascience.com/ensemble-learning-stacking-blending-voting-b37737c4f483

 

Ensemble Learning: Stacking, Blending & Voting

If you want to increase the effectiveness of your ML model, maybe you should consider Ensemble Learning

towardsdatascience.com

 


 

앙상블 학습이란?

분류나 회귀 등의 문제를 풀기 위해 ML 알고리즘을 jointly 사용하는 것을 말합니다. 결합하는 ML 알고리즘들은 같을 수도/ 다를 수 있습니다. 앙상블 학습은 하나의 weak model로 유효성?을 개선하기 위해 ML 모델을 전략적으로 결합합니다.

앙상블 학습은 사용하는 모델(homogeneous/heterogeneous model), 데이터 샘플링(with, without replacement, k-fold...), decision function(voting, average, meta model)에 따라 아래와 같은 유형으로 나뉩니다.

  • Bagging
  • Boosting
  • Stacking

이 세 가지 유형 외에도 Voting(complement of Bagging), Blending(subtype of Stacking)이 있습니다. 두 방법이 기존 방법에 바탕을 둔 하위? 방법이지만 앙상블 학습에 많이 활용되므로 이 블로그에서는 Stacking, Blending, Voting에 대해 알아보기로 합니다.

 

Stacking

Stakcking generalization으로 더 잘 알려진 이 방법은 David H. Wolpert in 1992가 제안한 방법입니다. 이 방법의 핵심은 Meta-model입니다. Meta-model은 k-fold cv방법을 활용하여 ML base model의 예측값으로 만들어집니다.
Stacking generalization은 2개의 traing stage로 진행됩니다. stage는 필요한 만큼 추가할 수 있지만 일반적으로 2단계를 많이 사용합니다.
Stage 0 에서는 각각의 weak learner로 k-fold cv를 수행하여 Meta-model에 필요한 데이터를 생성합니다.
Stage 1 에서는 stage 0에서 예측한 데이터를 stack 하여 Meta-model을 train 합니다.

Stacking은 일반화 모델들을 비선형적으로 결합하여 새로운 일반화 모델을 만드는 것으로, Stage 0의 ML 모델들이 뱉는 결괏값이 다양할수록 성능이 좋아진다고 합니다.

다음은 Stacking에서 k-fold cv를 생략하고 one-hold out을 사용하는 Blending에 대해 알아보겠습니다.

 

Blending

이 방법은 위의 Stacking에서 k-fold cv를 하지 않고 데이터를 train-validation-test로 나누어 ML모델 당 한 번씩 train 하여 예측된 값으로 Meta-model을 학습하는 방법으로 Stacking보다 단순합니다.
Blending이 가지는 장점으로는 비교적 단순함, Stage 0 모델에서 학습에 사용되는 데이터와 Stage 1 모델에서 학습하는 데이터가 달라서 정보 누출? 에 강점, 시간 절약이 있고, 단점으로는 사용하는 데이터의 양이 적은 점, validation set에 과적합 가능성이 있을 수 있습니다.


마지막으로 직관적이면서도 때로는 좋은 선택지가 되는 voting에 대해 알아보겠습니다

 

Voting

Voting은 간단하게 soft voting과 hard voting이 있습니다. hard voting은 모델에서 가장 많이 예측된 케이스로 예측하게 되고, soft voting은 모델들이 뱉은 확률 값을 평균(/가중 평균)하여 최종 예측을 하게 됩니다.

 

결론

이번 포스팅에서는 가장 일반적으로 사용되는 앙상블 학습 방법에 대해 알아보았습니다. ML모델의 오류를 줄이고 성능을 높이는 기술을 굉장히 다양하며 데이터의 사이즈, 모델 유형, 계산 처리 가능 여부 등을 확인하여 가장 적합한 방법을 찾아야 합니다.

반응형