랜덤 포레스트

1 개요[ | ]

random forest, random forests, random decision forests
랜덤 포레스트, 랜덤 결정 포레스트
  • 다수의 결정 트리들을 학습하는 앙상블 방법
  • 배깅의 원리 + input에 무작위성을 추가한 것
  • 배깅된 트리들(bagged trees)을 decorrelating하는 것
  • 분류, 회귀 분석 등에 사용되는 앙상블 학습 방법의 일종
  • 결정트리를 여러 개 만들고 통합하여 예측 성능을 향상시키는 것

440px

2 특징[ | ]

  • 샘플도 랜덤 추출하고, 변수도 랜덤 추출한다.
  • 분류에 활용되는 경우가 많지만, 회귀에도 활용 가능하다.
  • 랜덤성(randomness)에 의해 트리들이 서로 조금씩 다른 특성을 갖는다.
  • 훈련 과정에서 구성한 다수의 결정 트리로부터 분류 또는 평균 예측치(회귀 분석)를 출력함으로써 작동한다.
멀티코어 환경에서 여러 결정트리를 병렬로 처리하여 빠른 처리가 가능하다.
  • 랜덤화(randomization)는 포레스트가 노이즈가 포함된 데이터에 대해서도 강인하게 만들어 준다.
  • 이 특성은 각 트리들의 예측(prediction)들이 비상관화(decorrelation)되게 하여, 결과적으로 일반화(generalization) 성능을 향상시킨다.
  • 랜덤화는 각 트리들의 훈련 과정에서 진행되며, 랜덤 학습 데이터 추출 방법을 이용한 앙상블 학습법인 배깅(bagging)과 랜덤 노드 최적화(randomized node optimization)가 자주 사용된다.
  • 이 두 가지 방법은 서로 동시에 사용되어 랜덤화 특성을 더욱 증진시킬 수 있다.

3 주요 파라미터[ | ]

  • 포레스트의 크기(트리의 개수)
  • 최대 허용 깊이
  • 임의성의 정도와 종류
  • 노드 분할 함수 선택
  • 훈련 목적 함수 정의
  • 실제 적용에서의 특성 벡터 선택

4 k-NN과의 관계[ | ]

5 같이 보기[ | ]

6 참고[ | ]