728x90
반응형
💡
Random Forest : Decision Tree가 모여서 더 좋은 결과를 내는 모델.
  • Random Forest는 CART모델이 가지는 단점을 극복하기 위해서 제시된 모델입니다.
  • Random Forest는 DT하나가 training data에 너무 쉽게 overfit되고 training data의 변화에 민감하다면 DT를 여러개 사용해서 다수결을 하는 방식으로 보완하자는 아이디어를 제시합니다.
  • 별거 아닌 것 같았는데, practical하게 굉장히 좋은 성능을 보여줍니다.
  • 이렇게 단일 모델을 여러개 모아서 더 좋은 판단을 하는 방법론을 Model Ensemble이라고 합니다.

 

Not Decision Forest but Random Forest!

  • Decision Tree를 그냥 모으기만 하면 더 좋은 결과를 낼 수가 없습니다.
    • 같은 데이터에 대해서 만들어진 Decision Tree는 같은 결과를 출력합니다.
    • 왜냐면, 다 같은 best split point가 매번 뽑히기 때문에 그렇습니다.
    • 조금 더 다양성이 필요합니다!
  • 다양성 확보를 위한 전략으로 2가지를 채택했습니다.
    1. Bagging(Boostrap Aggregating) → data sampling (모집단 자체를 바꾼다)
    1. Random Subspace Method → feature sampling (DT가 뽑는 feature를 바꾼다)
  • data sampling + feature sampling을 통해서 만들어진 각 DT에 다양성을 제공합니다.
  • 각 DT를 학습할 때마다, Bootstraping과 Random Subspace method를 적용합니다.
  • 몇 개의 DT를 모을지는 hyper-parameter입니다.
  • 이렇게 만들어진 DT들의 결론을 다수결로 평가하는 것으로 “집단 지성”을 구현할 수 있습니다.
  • Random Forest는 그냥 DT들을 모으는게 아닌, randomness를 적당히 포함하는 것으로 DT의 약점을 잘 보완한 모델입니다.
  • 정형 데이터를 머신러닝으로 수행할 때 굉장히 좋은 baseline model이 됩니다. (만만하게 잘 되는 모델)
  • Random Forest는 DT들의 모임이기 때문에 어느정도 explainability를 가지고 있습니다.
728x90
반응형

+ Recent posts