[머신러닝 스터디] 앙상블 (Ensemble), Voting

guns.velog·2020년 4월 15일
0
post-custom-banner

앙상블 이란?

  • '조화' 라는 사전적 개념을 가짐
  • Ensemble Learning : 여러 개의 모델을 활용하여 더 나은 결과를 도출해 내는 것

앙상블 개념 자체는 여러모델의 조합이라는 뜻이기 때문에 꼭 트리를 사용한 것이 아닌 다른 모델을 사용해도 앙상블이라 할 수 있음

가장 많이 쓰이는 Random Forest, Boosting은 Tree 기반 모델!

앙상블 종류를 알아보면서 좀 더 깊게 이해해보도록 하자.

(나누는 기준을 명확히 몇개, 이렇게 나누기는 힘든 것 같다. 랜덤포레스트를 배깅의 종류로 보아 포함시키는 사람과 합치는 사람이 있고, 또 보팅을 아에 언급하지 않는 경우도 많고, 스태킹은 앙상블의 한 개념이긴 하나 설명하지 않는 경우도 있어서, 아무튼! 명확하게 몇개다! 라고 나누지 않고 그냥 공부한 내용을 업로드 할 예정!)

  • 종류
    Voting : 동일한 훈련세트를 가지고 여러 모델을 훈련
    Bagging : 훈련세트에서 각 알고리즘 마다 별도의 훈련세트를 만들어 훈련 (RandomForest 포함)
    Boosting : 배깅과 유사한 진행, 분류하는 중 틀린 데이터에 가중치를 부여

Voting

voting은 말 그대로 투표를 통해 결정한다는 의미. Bagging과 비슷하지만 차이점이 있다.(Bagging은 밑에서 다시 다룰 예정!)
- Voting은 다른 알고리즘 model을 조합해서 사용
- Bagging은 같은 알고리즘 내에서 Sample을 조합하여 사용

즉, voting은 서로 다른 알고리즘이 도출해 낸 결과물에 대해 투표하는 방식!

voting은 두가지로 나눌 수 있는데,

  • Hard vote : 결과물에 대한 최종 값을 투표하여 결정
  • Soft vote : 결과물이 나올 확률값을 다 더해서 각각의 확률을 구한 뒤 최종값 도출

대개 Soft Vote의 방식이 더 합리적이라고 함!


Bagging부터는 설명이 많아질 것 같아서, 각 게시물로 올릴 예정이다!

post-custom-banner

0개의 댓글