본문 바로가기
Computer Science/Algorithms

[알고리즘] Machine Learning Algorithm: Random Forest

by Henry Cho 2022. 6. 9.
728x90

Machine Learning Algorithm: Random Forest


포스트 난이도: HOO_Middle

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


Fig01.Photo by HOOAI

# Random Forest Algorithm

랜덤 포레스트 알고리즘(Random forest algorithm)은 기계 학습(Machine learning)에서 사용되는 분류와 회귀 분석을 위한 알고리즘 종류 중 하나이다.

Machine learning을 통해 수많은 데이터를 분류한다는 것은 중요한 기능 중에 하나이다.

Random forest는 대표적인 ML(Machine learning) 알고리즘 중 한 종류에 해당한다.

머신러닝을 통해 분류하는 알고리즘을 사용되는 SVM이나 Logistic regression, Navie bayes classifier 등과 같이 사용되는 알고리즘이 랜덤 포레스트(Random Forest)이다.

랜덤 포레스트 알고리즘의 가장 큰 특징은 다수의 결정 트리를 가지고 학습을 한다는 것이다.


# 다수의 결정 트리(Multiple Decision Trees)

결정 트리(Decision Tree)는 트리 구조(Tree structure)를 사용하여 조건에 따른 각기 다른 결과를 산출하는 것을 의미한다.

한마디로 트리 구조를 가지고 있으며 조건에 따라 결과를 달리 산출되는 알고리즘을 결정 트리 또는 Decision tree라고 부른다.

Fig02. Decision tree example

 

위의 예제는 결정 트리를 이해하기 쉽도록 보여주는 것이며, 실제로는 binary number를 통하거나 특정 Hashing을 통해서 구분하여 결과를 분류 산출이 된다.

Anyway, Random forest에서 큰 특징으로 보이는 다수 결정 트리는 이러한 결정 트리들을 여러 개 사용하여 일반화를 통한 Machine learning이 이루어진다.

 

Fig03. Multiple decision trees example

 

위에는 4개의 결정 트리만이 존재하지만 실제로는 수많은 결정 트리를 토대로 데이터를 분류하는 작업을 수행한다.

이것을 ensemble opeartion 또는 ensemble learning이라고 부르며, 한국말로는 앙상블 학습이라고 한다.

Random forest에서 ensemble operation은 각기 다른 결정 트리들의 작업을 최종적으로 종합하여 학습하는 것을 의미한다.


# Random Forest의 장점

Randome forest가 가지는 다른 분류 학습 알고리즘과 다른 점은 비 상관관계의 요소들을 조합하여 예측하기 어려운 부분에 대한 종합 결과를 산출해낼 수 있다는 것이다.

다수의 결정 트리를 individual하게 사용하지만 결과적으로 종합된 결과를 보여주는 것이 바로 Random forest이다.

여기서 중요한 점은 각각의 요소들은 각각의 트리들의 조건에 따라 결과를 산출하기 때문에 비 상관관계의 요소들을 학습을 통해 결과 산출을 할 수 있다는 점이다.

또한 각각의 결정 트리가 존재하기 때문에 특정 요소에 의한 에러 문제에 대해서 대처하기가 쉽다는 것이다.

예를 들어, 수많은 결정 트리 가운데 에러가 발생할 경우 특정 트리 구조의 문제를 파악하면 되지만 하나로 연결되어 있는 경우에는 특정 문제를 파악하기가 어렵다.

Random forest는 비 상관 관계의 결과에 대한 예측이 가능하다는 점과 다른 분류 알고리즘에 비해 에러 문제를 쉽게 다룰 수 있다는 점에서 많은 Data scientists들에게 인기 있는 분류 알고리즘 중 하나이다.

 


 

728x90

댓글