logo

랜덤포레스트란? 📂머신러닝

랜덤포레스트란?

정의

랜덤포레스트random forest이란 의사결정나무배깅을 적용해서 성능을 향상시키는 머신러닝 기법을 말한다. 복원추출로 샘플링된 여러 데이서셋에서 의사결정나무를 학습 시키고, 다수결을 통해 최종 예측을 하는 모델을 결정한다.

설명

랜덤포레스트는 주로 분류문제에서 많이 쓰이는 고전적 머신러닝 기법으로써, 분류모델이 필요할 때 언제나 가장 먼저 고려해볼만한 방법이다. 약한 모델weak model로써의 의사결정나무는 오버피팅이 심하고 데이터가 주어지는 방식에 따라 성능이 일관되지 않아 불안한 점이 있는데, 배깅은 사실상 그 자체로 교차검증을 포함하면서 다수결을 통해 의사결정나무의 예민함을 완화시켜준다.

다만 랜덤포레스트는 앙상블이 되는 시점에서 의사결정나무가 가지는 해석가능성interpretability이 크게 저하되며, 근본적으로 새로운 모델이 아니기 때문에 그 너머의 성능향상을 기대하기 어렵다. 예컨대, 랜덤포레스트의 묶음을 여러개 만들어서 앙상블을 반복한다고 해서 성능이 더 좋아질 일 같은 건 딱히 기대하기 어렵다는 것이다.

왜 랜덤인가

배깅을 통해 부분데이터셋이 만들어질 때 복원추출이 랜덤성을 가지고 있고, 그로 인해 생겨나는 의사결정나무의 형태자체가 천차만별일 수밖에 없다.

왜 포레스트인가

나무 목이 여러개면 수풀 림이 되듯 원래 그래프 이론에서 트리 그래프가 여러개 있으면 그걸 포레스트forest라 부른다.

같이보기