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가지를 채택했습니다.
- Bagging(Boostrap Aggregating) → data sampling (모집단 자체를 바꾼다)
- 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
반응형
'AI Study > DeepLearning' 카테고리의 다른 글
Chapter.03 Classification-04. Model 3: Decision Tree (0) | 2023.04.19 |
---|---|
Chapter.03 Classification-03. Model 2: Logistic Regression (0) | 2023.04.19 |
Chapter.03 Classification-02. Model 1: Linear Classifier (0) | 2023.04.19 |
Chapter.03 Classification-01. 분류의 정의 (0) | 2023.04.14 |
Chapter.02 Machine Learning Workflow-02. ML Framework : Scikit-Learn (0) | 2023.04.14 |