본문 바로가기
딥러닝공부

Ensemble Learning and Random Forests

by 부자독개 2020. 4. 16.
반응형

- Voting Classifiers

 퀴즈대회에 나갈때 전교 1등 혼자 나가는 거랑 전교 5,6,7등이 한팀으로 나가는 거랑 어느쪽이 더 좋은 성적을 거둘까?

voting classifiers 파트에서는 가장 좋은 모델 하나를 가지고 예측을 진행하는것 보다 조금 성능이 떨어지는 여러모델들을 통해 예측을 하고 그 중 가장 많이 예측된 결과를 최종결과로 정하는 방법이 더 좋은 성능을 이끌어낸다고 한다. 

 

이와 함께 동전 던지기에 대한 예시가 나온다.

 

51%의 확률로 숫자가 나오고 49%의 확률로 그림이 나오는 동전이 있다. 어떤 동전이던지 던지는 횟수를 늘릴수록 결국 수학적 확률인 51%에 근접하는 결과를 보일 것이다. 최소 1000번이상을 던질때 숫자가 더 많이 나왔을 확률이 75%라고 한다. 많이던질수록 그림보다 숫자의 누적이 많을 확률은 97%를 넘어설 것이다. 이와 마찬가지로 51%의 정답률을 가지는 1000개의 독립된 예측기가 있다고 생각해보자. 우리가 만약 1000개의 예측기로 예측을 진행했을때 기대할수 있는 예측의 정확도는 75% 이상이 될 것이다.

 

여기서 중요한 조건이 하나 있다. 1000개의 예측기는 서로 완전히 다른 예측기여야 한다. 그래야 서로 다른 종류의 오류를 범하게 되고 서로의 오류 가능성을 보완해줄 수 있기 때문이다.

 

참고로 보팅에는 하드 보팅과 소프트 보팅이 있다. 

 

하드 보팅은 확률을 보지않고 예측결과를 이용하여 보팅하는 방식이다.

소프트 보팅은 각각의 예측기가 내놓은 확률값을 평균냈을때 가장높은 확률값을 결과물로 내놓는 방식이다.

 

이제부터는 어떻게 하면 독립적인 예측기를 설계할 수 있는지에 대해서 이야기 해본다.

 

- Bagging

 각기 다른 예측기를 얻기위한 하나의 방법으로 트레이닝 셋을 random sampling하여 각각의 예측기를 트레이닝 시키는 방법이 있다. 

 

 트레이닝 셋을 나눌때 중복을 허용하면 bagging, 허용하지 않는것을 pasting이라고 명칭한다.

 

- Random Forests

  디시전 트리에서 발전한 알고리즘. bagging methon를 통해 학습이 진행됨. 기존 디시전트리는 모든 피처중에 최고의 피처를 찾는 방식이었다. random forests는 랜덤하게 뽑힌 피처들 중에서 가장 좋은 피처를 찾는 방식이다. 

 

 extra trees 의 경우에는 피처를 랜덤하게 뽑는것에서 더 나아가 threshold 또한 랜덤으로 설정하는 방식이다.

 

- Stacking

 예측기들의 결과를 종합하는데 있어서 종합하는 과정마저도 모델에 맞기는 것이다.

반응형

댓글