0. 등장배경
Random Forest를 아주 간단하게 설명하자면, Decision Tree가 모여서 더 좋은 결과를 내는 모델이다.
자세하게 말하자면 Random Forest는 CART모델의 단점을 극복하기 위해 제시된 모델로서, Decision Tree 하나로는 training data에 너무 쉽게 overfitting 되고, 이에 여러 개의 Decision Tree를 사용하여 다수결을 사용하는 방식으로 보완하고자 하였다. 이렇게 단일 모델 여러 개를 모아서 더 좋은 판단을 하는 방법론은 `Model Ensemble`이라고 한다.
이때 단순 DT를 모은 것이 아니다. 왜냐면 같은 데이터에 대해서 만들어진 DT는 같은 결과를 출력하게 된다. 이에 다양성을 추가해 주기 위하여 2가지 기법을 사용하였다.
1. Bagging
Bagging: Bootstrap Aggregating이라고 부르며 데이터를 샘플링하는 기법이다.
말 그대로 Booststrap을 한 후 aggregate하는 것인데, 여기서 Bootstrap이란 복원추출을 말한다. 즉 전체 데이터에서 복원 추출을 이용하여 데이터의 모집단을 선정하는 것이다.
이렇게 복원추출을 이용하여 뽑게되면 원본 데이터의 분포와 유사한 데이터 샘플을 추출할 수 있으며, 이렇게 추출한 데이터를 이용해서 DT를 구성하고 최종 결과를 합치는 방식이다.
2. Random Subspace Method
Randomg Subspace Method는 DT가 뽑는 feature을 샘플링하 기법이다. 한마디로 배깅을 이용하여 데이터를 뽑은 다음 DT를 구성할 때 랜덤으로 피쳐를 골라서 뽑는다. 전체 피쳐를 통해서 bset split point를 뽑지 않고 일부만을 이용하기 때문에 subspace라는 말이 붙었다. (이때 처음에 피쳐를 n개를 뽑은 다음 그 n개로만 분리하는 것이 아니라, 각 분기마다 랜덤 한 n개의 feature을 통해서 분기한다는 의미이다.)
정리하자면 `Random Forest`는 그냥 `Decision Tree`들을 모으는 것이 아닌, randomness를 적당히 포함하여 DT의 약점을 보완한 모델이며, 정형 데이터를 머신러닝으로 다룰 때 굉장히 좋은 baseline 모델이다. 또한 DT들을 모았기 때문에 설명력 또한 가지고 있다.
3. 장점과 단점
3-1. 장점
- Ensemble 기법을 이용하기 때문에 과적합이 잘 일어나지 않는다.
- Ensemble 기법을 이용하기 때문에 결측치나 이상치에 강건하다.
- DT에 기반한 기법으로, scaling이 필요없다.
- 회귀와 분류 문제 모두에서 쓰일 수 있다.
3-2. 단점
- 여러 tree를 구성하기 때문에 학습 시간과 계산 연산량이 높다.
- training data를 추가해도 급격한 성능의 향상이 일어나지 않는다.
'ML & DL > 개념정리' 카테고리의 다른 글
딥러닝 발전 (0) | 2023.12.28 |
---|---|
Linear, Lasso, Ridge Regression (0) | 2023.12.27 |
PyTorch- 텐서 조작 (0) | 2023.12.26 |
Data Augmentataion: 데이터 증강 (0) | 2023.12.26 |
최적화 알고리즘 (0) | 2023.12.26 |