랜덤 포레스트

From CS Wiki
Random Forest
여러 개의 결정 트리들을 임의적으로 학습하는 방식의 앙상블 방법으로서, 여러가지 학습기들을 생성한 후 이를 선형 결합하여 최종 학습기를 만드는 방법

랜덤 포레스트.png

기반 기술[edit | edit source]

  • 의사결정 나무: 여러가지 요소를 기준으로 갈라지는 가지를 트리형태로 구성하여 분석하는 기법
  • 앙상블 학습: 주어진 데이터를 여러 모델로 학습하고 종합하여 정확도를 높이는 기법
  • 배깅(Bagging): 같은 알고리즘으로 여러 개의 분류기를 만들어서 결합하는 앙상블 학습 기법

의사결정트리의 한계[edit | edit source]

  • 학습 데이터에 따라 생성되는 결정 트리가 크게 달라져 일반화가 어려운 과적합 문제 발생
  • 계층적 접근방식으로, 중간에 에러 발생 시 하위 계층으로 에러 전파

랜덤 포레스트 특징[edit | edit source]

  • 임의성: 서로 조금씩 다른 특성의 트리들로 구성
  • 비상관화: 각 트리들의 예측이 서로 연관되지 않음
  • 견고성: 오류가 전파되지 않아 노이즈에 강함
  • 일반화: 임의화를 통한 과적합 문제 극복

랜덤 포레스트 주요 기법[edit | edit source]

배깅을 통한 포레스트 구성[edit | edit source]

랜덤 포레스트 시각화.png

  • 부트스트랩(bootstrap)을 통해 조금씩 다른 훈련 데이터에 대해 훈련된 기초 분류기(base learner)들을 결합(aggregating)시키는 방법

랜덤 노드 최적화[edit | edit source]

랜덤 포레스트 과정.gif

  • 분석에 사용되는 변수를 랜덤하게 추출
  • 훈련 단계에서 훈련의 목적 함수를 최대로 만드는 매개변수 최적값 도출