출퇴근길에 공부하는 머신러닝
Random Forest는 Bell Labs의 Tin Kam Ho 박사가 1995년에 개발한 Random Decision Forests를 기반으로, 2001년 UC Berkeley의 Leo Beriman 교수가 Bagging 기법을 추가하여 개발한 앙상블 학습 방법이다. 이 방법은 여러 개의 Decision Tree를 랜덤 하게 학습하여 조절함으로써, 단일 Decision Tree의 단점을 극복하려는 목적으로 개발되었다.
Random Forest는 Bagging과 랜덤으로 선택한 예측 변수를 사용하여 앙상블의 다양성을 증가시킨다. 이렇게 함으로써, 각 트리의 상관관계를 줄이고, 트리들의 평균을 통해 Noise에 대해 강인한 모델을 구성할 수 있다.
하나의 트리는 작은 Bias와 큰 Variance를 가지며, 깊은 트리는 훈련 데이터에 Overfitting 될 수 있다. Random Forest는 여러 트리들의 예측을 평균 내어 Bias는 유지하면서 Variance를 줄인다.
Random Forest에서는 Bootstrap 샘플링을 사용하며, 이때 선택되지 않은 데이터, 즉 OOB 데이터는 모델의 성능을 평가하는 데 사용된다. 이를 통해, 별도의 Validation Set을 설정할 필요가 없다. OOB 데이터는 약 36.8% 정도 되며, 이 데이터를 활용하여 Model Validation이 가능하다.
Random Forest는 Feature Importance Score를 계산하여, 각 변수의 중요도를 평가할 수 있다. 이 점수는 OOB Error를 활용하여, 원래 데이터셋과 변수가 변경된 데이터셋에서의 오차를 비교함으로써 계산된다. 중요도는 모든 트리에 걸쳐 평균과 표준편차를 기반으로 계산된다.
Random Forest는 여러 Decision Tree의 앙상블을 통해, 각각의 트리가 가지는 단점을 극복하며, 높은 예측성을 발휘한다. 다양한 변수와 데이터 상황에서의 유연성, 그리고 변수의 중요도를 쉽게 평가할 수 있는 장점 등으로 많은 분야에서 활용되고 있다.