랜덤 포레스트 (Random Forest)
쉽게 풀면
한 명의 전문가에게만 진단을 맡기면 그 사람의 실수나 편견이 그대로 결과에 반영될 수 있습니다. 그런데 100명의 서로 다른 전문가에게 조금씩 다른 자료를 보여주고 각자 독립적으로 의견을 내게 한 뒤, 다수결로 최종 결론을 내리면 훨씬 안정적인 판단이 나옵니다. 랜덤 포레스트가 바로 이 방식입니다. 원본 데이터에서 무작위로 일부를 뽑고(중복 허용), 사용할 변수도 무작위로 일부만 골라서 수백 개의 결정 트리를 각각 다르게 학습시킵니다. 그런 다음 분류 문제라면 트리들의 다수결 투표로, 회귀 문제라면 평균값으로 최종 예측을 만듭니다. "숲(forest)"이라는 이름처럼 여러 그루의 "나무(tree)"가 모여 하나의 강력한 예측 모델을 이룹니다.
왜 중요한가
랜덤 포레스트는 비교적 적은 튜닝만으로도 안정적이고 높은 예측 성능을 내며, 변수 중요도라는 부산물을 함께 제공해 어떤 요인이 결과에 크게 기여하는지 탐색할 수 있습니다. 이런 특성 덕분에 의료 진단 예측, 유전체 데이터 분석, 부도 예측, 생태 서식지 모델링 등 변수 수는 많고 관계는 복잡한 다양한 분야의 논문에서 예측 모델이나 변수 선별 도구로 널리 채택됩니다. 딥러닝만큼 계산 자원이 크게 필요하지 않으면서도 실무에서 강력한 성능을 내는 기준 모델(baseline)로도 자주 언급됩니다.
논문에서는 이렇게 쓰입니다
이 문장은 연구자가 여러 설명 변수 중 어떤 것이 결과 예측에 크게 기여하는지를 확인하기 위해, 단일 모델이 아닌 500개의 결정 트리를 결합한 랜덤 포레스트를 사용했다는 뜻입니다. 각 트리가 서로 다른 데이터·변수 조합으로 학습되기 때문에 특정 변수 하나의 우연한 영향력에 결과가 좌우될 위험이 줄어듭니다.
원격탐사 분야에서 위성 이미지의 여러 파장 정보를 입력으로 삼아 각 지점이 숲인지 농경지인지 등을 자동으로 분류하는 데 랜덤 포레스트를 활용했다는 뜻입니다.
조금 더 깊게 보면
랜덤 포레스트가 변수 중요도를 계산하는 방식에는 각 변수가 트리 분할에서 불순도를 얼마나 줄이는지를 보는 방법과, 특정 변수 값을 무작위로 섞었을 때 예측 정확도가 얼마나 떨어지는지를 보는 순열 중요도(permutation importance) 방법이 흔히 쓰입니다. 또한 각 트리가 학습에 쓰지 않은 나머지 데이터(OOB, out-of-bag)를 이용해 별도의 검증 데이터 없이도 모델 성능을 추정할 수 있다는 점도 자주 활용되는 특징입니다. 트리 개수, 각 분할에서 고려하는 변수 개수 같은 하이퍼파라미터는 논문에서 보통 함께 보고됩니다.
주의할 점
랜덤 포레스트는 단일 결정 트리보다 과적합에 훨씬 강하지만, 완전히 자유롭지는 않습니다. 또한 여러 트리를 결합하는 구조 특성상 왜 그런 예측이 나왔는지 사람이 직관적으로 해석하기 어려운 "블랙박스" 모델이 된다는 한계가 있으므로, 변수 중요도 결과를 인과관계로 곧바로 해석하지 않도록 주의해야 합니다.