본문 바로가기
AI Research/Artificial Intelligence

[인공지능 기초] 랜덤 포레스트(Random Forest)

by ga.0_0.ga 2023. 2. 26.
728x90
반응형

이전 포스팅에서 분류에 많이 사용되는 결정 트리(Decision Tree)에 대해 설명했습니다. 그러나 결정 트리는 학습 데이터에 오버피팅이 잘 일어나는 경향이 있습니다. 이번 포스팅에서는 결정트리의 오버피팅 문제를 극복하는 방법인 랜덤 포레스트(Random Forest)에 대해 설명하겠습니다.

▶ 랜덤 포레스트(Random Forest)란?

랜덤 포레스트는 앙상블 모델 중 하나입니다. 여러 개의 결정 트리를 형성하고 새로운 데이터를 각 트리에 통과시켜, 각 트리가 분류한 결과를 가지고 투표해 가장 많이 득표한 결과를 최종 분류 결과로 선택하는 방식입니다. 이렇게 하면 랜덤 포레스트가 생성한 일부 트리는 과적합 되었을 수 있지만, 이외에도 많은 트리가 있기 때문에 일부의 트리에서 과적합이 되었다 해도 큰 영향을 미치지 못하게 됩니다.

랜덤 포레스트 트리를 형성할 때는 가장 먼저 배깅(bagging)이라는 과정을 거칩니다. bagging은 트리를 만들 때 training set의 부분 집합을 활용하여 형성하는 것을 말합니다. training set에 100개의 데이터가 존재한다면, 각 트리를 생성할 때 10개의 데이터만 임의로 선택하여 트리를 만드는데 활용할 수 있는 것입니다.

이렇게 데이터를 임의로 선택할 때 가장 중요한 것은 중복을 허용하는 것입니다. 중복을 허용함으로써 100개의 데이터 중에서 10개만 뽑기보다는 10개씩 매번 뽑아도 독특한 데이터셋을 형성할 수 있게되고, 이에 따라 다양한 트리가 생성될 수 있게 됩니다. 이렇게 생성된 데이터들은 각 결정트리로 들어갑니다. 결정 트리 분류 과정은 이전 게시물에 설명해둔 과정과 동일합니다.

랜덤 포레스트는 트리를 형성할 때 데이터 셋에만 변화를 주는 것이 아닌 feature를 선택하는데도 변화를 줍니다. feature를 선택할 때도 기존에 존재하는 feature의 부분집합을 활용합니다. 일반적으로 N개의 feature가 존재함다면, 임의로 선택하는 feature의 수는 root(N)을 활용합니다. root(N)개의 feature들 중에서 가장 information gain이 높은 feature를 선택해 데이터를 분류합니다.

▶ 랜덤 포레스트의 장단점

- 장점 : 모델이 단순하며, 과적합이 잘 일어나지 않습니다. 또한 새로운 데이터에 잘 일반화됩니다.

- 단점 : 여러개의 결정트리를 사용하기 때문에 메모리 사용량이 많고, 고차원 데이터나 희소한 데이터에는 잘 작동하지 않습니다.

728x90
반응형

댓글