랜덤 포레스트(Random Forest)는 「수많은 결정 트리를 조금씩 다르게 학습시킨 뒤, 그 트리들의 의견을 다수결(분류) 또는 평균(회귀)으로 합치는」 모델입니다.
한 명의 전문가에게 맡기는 대신 「여러 명의 전문가에게 따로 묻고 그들의 의견을 모으는」 방식과 같습니다.
각 트리를 다르게 만드는 두 가지 비결이 있습니다.
첫째, 부트스트랩 샘플링 — 학습 데이터에서 무작위로 중복을 허용해 일부만 뽑아 각 트리에 줍니다.
둘째, 무작위 변수 선택 — 트리가 한 번 가지를 칠 때마다 전체 변수 중 일부만 후보로 삼습니다.
이 두 가지 「다양성」 덕분에 트리들의 실수가 서로 상쇄됩니다.
비유하자면 「한 명의 의사 진단보다 다섯 명의 의사가 각자 따로 본 뒤 다수결로 결정하는 것이 더 신뢰할 만하다」는 원리입니다.
각자의 편향과 실수가 다르므로 평균이 더 정확해집니다.
이 방식을 일반화한 개념이 「앙상블(ensemble) 학습」입니다.
랜덤 포레스트의 가장 큰 매력은 「설정이 단순하고도 매우 강력하다」는 점입니다.
깊은 신경망처럼 까다로운 튜닝 없이도 좋은 성능을 내며, 변수의 중요도를 자동으로 알려 주어 해석에도 도움이 됩니다.
단점은 트리가 수백 개로 늘면 모델이 무거워져 추론이 느려진다는 점, 그리고 너무 깊은 비선형 패턴이나 매우 큰 이미지·자연어 데이터에서는 신경망에 밀린다는 점입니다.
그래도 정형 데이터(표) 분야에서는 여전히 「먼저 시도해 볼 가치가 있는」 강력한 기본 도구입니다.
한 줄 요약
랜덤 포레스트는 다양성을 가진 결정 트리 여러 개를 학습시켜 다수결·평균으로 합치는 앙상블 모델로, 정형 데이터에서 매우 강력한 기본 도구입니다.
더 알아볼 것
- 배깅(bagging) vs 부스팅(boosting)
- XGBoost·LightGBM — 부스팅 계열 강자
- 변수 중요도(feature importance) 해석