랜덤 포레스트란?
랜덤 포레스트 알고리즘과 이 알고리즘이 어떻게 비즈니스 목표 달성을 위해 더 나은 의사 결정을 내리는 데 도움을 줄 수 있는지 알아봅니다.
검은색과 파란색 배경
랜덤 포레스트란?

랜덤 포레스트(random forest)는 Leo Breiman 및 Adele Cutler에 의해 상표가 등록된 흔히 사용되는 머신 러닝 알고리즘으로, 하나의 결과에 도달하기 위해 여러 의사결정 트리의 출력을 결합합니다. 이 알고리즘은 분류와 회귀 문제를 모두 다루며 사용 편의성과 유연성이 뛰어나 도입이 가속화되었습니다.

의사결정 트리

랜덤 포레스트 모델은 여러 의사결정 트리로 구성되므로 의사결정 트리 알고리즘을 먼저 간략하게 살펴보면 도움이 될 것입니다. 의사결정 트리는 "서핑을 해야 할까?"와 같은 기본적인 질문으로 시작됩니다. 여기서부터 "너울의 주기가 긴가?" 또는 "바람이 바다쪽으로 부는가?"와 같은 일련의 질문에 답할 수 있습니다. 이러한 질문들은 트리의 의사결정 노드를 구성하며 데이터를 분할하는 수단 역할을 수행합니다. 각 질문은 개인이 최종 의사결정에 도달하도록 도움을 줍니다. 이 최종 의사결정은 잎새 노드(leaf node)로 표시됩니다. 기준을 충족하는 관측은 "예" 가지를 따라가고 그렇지 않은 관측은 다른 경로를 따라갑니다.  의사결정 트리는 데이터의 하위 집합을 만들기 위해 최적의 분할 지점을 찾고자 하며, 일반적으로 분류 및 회귀 트리(Classification and Regression Tree, CART) 알고리즘을 통해 훈련됩니다. 지니 불순도(Gini impurity), 정보 이득(information gain) 또는 평균제곱오차(mean square error, MSE)와 같은 지표를 사용하여 분할의 질을 평가할 수 있습니다.  

이 의사결정 트리는 분류 문제의 예입니다. 여기서 클래스 레이블은 "서핑함"과 "서핑하지 않음"입니다.

의사결정 트리는 일반적인 지도형 학습 알고리즘이지만, 편향 및 과대적합과 같은 문제가 발생할 수도 있습니다. 그러나 여러 의사결정 트리가 랜덤 포레스트 알고리즘에서 앙상블을 형성하면, 더 정확한 결과를 예측합니다. 특히, 개별 트리가 서로 상관관계가 없는 경우 그러합니다.

앙상블 방법

앙상블 학습 방식은 의사결정 트리와 같은 분류자의 모음으로 구성됩니다. 그 예측을 집계하여 가장 인기 있는 결과를 찾아냅니다. 가장 잘 알려진 앙상블 방법은 배깅(bagging)입니다. 배깅은 부트스트랩 집계 또는 부스팅(boosting)으로도 알려져 있습니다. 1996년, Leo Breiman(ibm.com 외부 링크)(PDF, 810KB)은 배깅 방법을 소개했습니다. 이 방법은 훈련 세트에서 무작위로 데이터를 복원 추출하여 랜덤 샘플을 만드는 것입니다. 이는 개별 데이터 포인트가 한 번 이상 선택될 수 있음을 의미합니다. 여러 데이터 샘플이 생성된 후, 이러한 모델들은 독립적으로 훈련되며, 회귀 또는 분류와 같은 작업 유형에 따라 예측의 평균 또는 과반수가 더 정확한 추정치를 제공합니다. 이 접근법은 노이즈가 있는 데이터 세트 내에서 분산을 줄이는 데 자주 사용됩니다.

랜덤 포레스트 알고리즘

랜덤 포레스트 알고리즘은 배깅 방법의 확장으로, 배깅과 특성 무작위성을 모두 활용하여 상관관계가 없는 의사결정 트리의 포레스트를 만드는 것입니다. 특성 배깅 또는 “랜덤 서브스페이스 메소드”(ibm.com 외부 링크)(PDF, 121KB)로도 알려진 특성 무작위성은 무작위로 특성의 하위 집합을 생성하여 의사결정 트리 간에 낮은 상관관계가 존재하도록 합니다. 이것이 의사결정 트리와 랜덤 포레스트의 주된 차이점입니다. 의사결정 트리는 가능한 모든 특성 분할을 고려하는 반면, 랜덤 포레스트는 이러한 특성의 하위 집합만을 선택합니다.

"서핑을 해야 할까?"라는 예로 돌아가면, 예측을 결정하기 위해 물을 수 있는 질문이 다른 사람의 질문들만큼 포괄적이지 않을 수 있습니다. 데이터의 잠재적인 가변성을 모두 고려하면 과대적합, 편향, 전체 분산의 리스크를 낮추어 더 정확한 예측을 수행할 수 있습니다.

주요 제품

SPSS Modeler

운영 방법

랜덤 포레스트 알고리즘에는 세 개의 주요 하이퍼파라미터가 있습니다. 훈련 전에 이러한 하이퍼파라미터를 설정해야 합니다. 여기에는 노드 크기, 트리의 수, 샘플링된 특성의 수가 포함됩니다. 여기에서부터 랜덤 포레스트 분류자를 사용하여 회귀 또는 분류 문제를 해결할 수 있습니다.

랜덤 포레스트 알고리즘은 다수의 의사결정 트리로 구성되며 앙상블의 각 트리는 복원 추출 방식으로 훈련 세트에서 추출된 데이터 샘플(이를 부트스트랩 샘플이라고 부름)로 구성됩니다. 이 훈련 샘플 중에서 1/3은 테스트 데이터로 떼어 놓습니다. 이러한 데이터를 아웃오브백(out-of-bag, oob) 샘플이라고 하며, 이에 관해서는 나중에 살펴보겠습니다. 그 다음, 무작위성의 또 다른 인스턴스는 특성 배깅을 통해 주입됩니다. 이를 통해 데이터 세트에 다양성을 추가하고 의사결정 트리 간의 상관관계를 줄입니다. 문제의 유형에 따라 예측에 대한 결정이 달라집니다. 회귀 작업의 경우 개별 의사결정 트리는 평균을 구하며, 분류 작업의 경우 다수결 보트(majority vote), 즉 가장 빈번한 범주적 변수에 따라 예측된 클래스를 내놓습니다. 마지막으로, oob 샘플이 교차 검증을 위해 사용되고 예측이 완료됩니다.

랜덤 포레스트의 장점과 문제

분류 또는 회귀 문제에 랜덤 포레스트 알고리즘이 사용될 경우 발생하는 여러 가지 주요 장점과 문제가 있습니다. 일부를 소개하면 다음과 같습니다.

주요 장점

  • 과대적합 리스크 감소: 의사결정 트리는 훈련 데이터 내의 모든 샘플에 꼭 맞게 적합되는 경향이 있으므로 과대 적합의 리스크가 있습니다. 그러나 랜덤 포레스트의 의사 결정 트리 수가 충분한 경우 상관관계가 없는 트리의 평균을 내어 전체 분산과 예측 오류를 낮추므로 분류자가 모델 과대적합을 유발하지 않습니다.
  • 유연성 제공: 랜덤 포레스트는 높은 정확도로 회귀 및 분류 작업을 모두 처리할 수 있으므로 데이터 과학자들 사이에서 인기가 많은 방법입니다. 또한 특성 배깅 때문에 랜덤 포레스트 분류자는 누락된 값을 추산하기 위한 효과적인 툴이 됩니다. 데이터의 일부가 누락된 경우에도 정확성을 유지하기 때문입니다.
  • 특성의 중요성을 쉽게 결정: 랜덤 포레스트로 모델에 대한 변수의 중요성 또는 기여도를 쉽게 평가할 수 있습니다. 특성 중요도를 평가하는 방법은 몇 가지가 있습니다. 주어진 변수가 제외되면 모델의 정확성이 얼마나 감소하는지를 측정하는 데 지니 중요도(Gini importance)와 평균 불순도 감소(mean decrease in impurity, MDI)가 일반적으로 사용됩니다. 그러나, 평균 정확도 감소(mean decrease accuracy, MDA)로도 알려진 순열 중요도(permutation importance)도 또 다른 중요한 측정 기준입니다. MDA는 oob 샘플의 특성 값을 무작위로 순서를 바꾸어 평균 정확도 감소 정도를 확인합니다.

주요 문제

  • 시간이 많이 소요되는 프로세스: 랜덤 포레스트 알고리즘은 대규모의 데이터 세트를 처리할 수 있으므로 더 정확한 예측을 수행할 수 있습니다. 그러나, 각 개별 의사결정 트리에 대해 데이터를 계산하므로 처리 속도가 느릴 수 있습니다.
  • 더 많은 리소스가 필요: 랜덤 포레스트는 대규모 데이터 세트를 처리하므로 데이터를 저장하기 위해 더 많은 리소스가 필요합니다.
  • 더 복잡함: 의사결정 트리의 포레스트에 대한 예측을 해석하는 것보다 하나의 의사결정 트리에 대한 예측을 해석하는 것이 더 쉽습니다.
랜덤 포레스트 응용 분야

랜덤 포레스트 알고리즘은 더 나은 의사결정을 지원하며 다양한 산업에서 적용되어 왔습니다. 일부 적용사례는 다음과 같습니다.

  • 금융: 데이터 관리 및 전처리 작업에 소요되는 시간이 줄어들기 때문에 랜덤 포레스트 알고리즘은 다른 알고리즘보다 선호됩니다. 이 알고리즘은 높은 신용 리스크가 있는 고객을 평가하고, 사기를 탐지하고, 옵션 가격 문제를 해결하는 데 사용할 수 있습니다.
  • 의료: 랜덤 포레스트 알고리즘은 전산생물학(ibm.com 외부 링크)(PDF, 737KB)에서 응용되며, 이를 활용하여 의사들은 유전자 발현 분류, 생체표지자 발굴, 배열 주석화(sequence annotation)와 같은 문제를 다룹니다. 이를 통해 의사들은 특정 약물에 대한 약물 반응을 추산할 수 있습니다.
  • 전자상거래: 랜덤 포레스트 알고리즘은 교차 판매 목적으로 추천 엔진에 사용될 수 있습니다.
관련 솔루션
SPSS® Modeler

IBM SPSS® Modeler는 데이터 패턴을 찾고, 예측의 정확성을 확보하고, 의사결정을 개선하도록 지원하는 예측 분석을 제공합니다.

SPSS Modeler 살펴보기
리소스 IBM SPSS® Modeler 드래그 앤 드롭 데이터 사이언스 툴

전 세계의 조직들이 데이터 자산으로 수익을 창출하기 위해 데이터 준비 및 발굴, 예측 분석, 모델 관리 및 배포 그리고 ML에 SPSS® Modeler를 어떻게 활용하는지 알아봅니다.

랜덤 포레스트에서 영감을 받은 신경망

랜덤 포레스트 구조로 신중하게 설계된 신경망이 어떻게 더 나은 일반화 능력을 가질 수 있는지 알아보세요.

다음 단계

IBM SPSS® Modeler는 데이터 마이닝 툴 세트입니다. 이 툴을 사용하여 예측 모델을 개발하고 해당 모델을 비즈니스 운영에 활용할 수 있습니다. 업계 표준 CRISP-DM 모델에 따라 설계된 IBM SPSS® Modeler는 데이터 처리부터 비즈니스 결과 개선까지 데이터 마이닝 프로세스 전체를 지원합니다.

지금 IBM SPSS® Modeler 사용해 보기