Random Forest 모델

ljinLab
3 min readNov 26, 2023
Picture by Matthew Montrone

데이터 사이언스의 집합지라고 볼 수 있는 캐글의 Hello World인 타이타닉 프로젝트를 진행하다 보면 Random Forest Regressor라는 모델을 접하게된다. 이전에 공부를 해본적은 있지만 이 내용을 확실히 이해하고 기록하고자 한다.

먼저, 왜 이름이 Random Forest인지를 생각해보자. Random Forest는 여러 Random Tree Regressor들을 한 번에 돌려 기존 Decision Tree의 단점을 보완하고자 만들어진 모델이다. 그러므로 이 모델을 확실하게 이해하기 위해서 Decision Tree가 무엇인지 부터 알아보자.

결정 트리(Decision Tree)

트리는 자료구조 및 알고리즘을 공부해본 사람이라면 익숙할 것이다. 하지만 결정 트리란 머신 러닝에서 단순한 답을 내리기 위해 활용된다. 어느 은행의 고객이 제 때에 맞춰 대출을 상환 할 수 있을지, 또는 오늘 저녁에 비가 내릴지 등을 판별할 수 있다. 결정 트리가 위와 같은 결정을 내리는 방법은 간단하다. 각 노드에서 주어진 입력값을 나누는 질문을 하고, 가장 결과값을 잘 예측할 수 있는 트리를 만드는 것이다. 최종적으로 생성되는 트리는 회귀 분석(Classification and Regression Tree Algorithm; CART 알고리즘)을 통해 더욱 세밀하게 입력값을 나누기 위한 값을 도출하고, 마지막으로 결정된 트리에 따라 입력값을 나누므로 값을 예측한다.

생성된 트리는 분류오차(Gini Impurity), 정보이득(Information Gain), 평균제곱오차(Mean Squared Error) 등의 성능 지표를 통해 평가할 수 있다.

앙상블(Ensemble)이란?

위에서 설명한 결정트리는 매우 단순하지만 강력한 모델이다. 그럼에도 불구하고 단순하기 때문에 취약한 부분이 있다. 모델이 단순하기 때문에 데이터에 편향(bias)이 생길 수 있고, 주어진 입력값에 과하게 학습될 우려(Overfitting)도 존재한다. 이와 같은 문제를 해결하기 위해 고안된 방법이 바로 앙상블이다. 이 방법에서는 데이터가 복원추출되므로 하나의 데이터가 여러번 선택 될 수 있다. 학습될 데이터가 만들어진다면, 추가로 복원추출된 샘플은 따로 학습되어 앙상블 자체의 데이터 편향성을 줄일 수 있다. 이런 방법은 주로 노이즈가 많은 데이터를 다루기 위해서 사용된다.

다시, Random Forest

Random Forest란 위에서 설명한 바와 같이 여러 개의 트리를 앙상블로 사용하여 특정 데이터를 학습시키는 방법이다. 트리를 한 번에 여러개 활용하게 된다면 편향성을 줄일 수 있고, 조금 더 정확한 결과를 기대할 수 있다. 일반 결정 트리와 Random Forest의 중요한 차이점은, 결정 트리는 피처의 모든 분할을 고려해서 결과를 도출하지만(overfitting 가능성이 여기서 나온다), Random Forest는 주어진 피처의 부분 집합만 고려한다는 것이다.

--

--

ljinLab

Programmer, GIS Enthusiast, Entrepreneur, Life long student. (personal website under construction)