본문 바로가기

카테고리 없음

머신러닝 스터디 - Bagging, Random forest

Bagging

Decision tree는 훈련 데이터셋과 다른 데이터셋에 대해서 예측 성능이 낮다.(Variance가 크다.) 이러한 단점을 극복하기 위하여 원본 데이터셋으로부터  Bootstrap을 이용하여 B개의 Training dataset을 생성한 후 B개의 Decision tree를 만들고 그 예측 결과들을 평균할 수 있다. 이러한 방법을 Bagging이라고 한다. 만약 분류 문제인 경우 평균 대신 투표(Voting)을 사용한다. 

장점

  • 단일 Decision tree에 비해 분산을 낮출 수 있다.
  • 각 변수별로 지니 계수 또는 엔트로피가 감소하는 양을 관측함으로써 변수의 중요도를 파악할 수 있다.

단점

  • 결과 모델을 해석하기 어렵다.

 

Random Forest

원본 데이터셋으로부터  Bootstrap을 이용하여 B개의 Training dataset을 생성하는 것은 Bagging과 동일하다. 그렇지만 트리들의 상관성을 제거하기 위해 설명변수에서도 랜덤으로 m개를 추출하여 트리를 생성한다. 전체 변수의 개수가 p라면 p^0.5를 m으로 사용하는 것이 일반적이다. 

특징

  • 변수 중 일부만 사용하기 때문에 변수간 상관성을 줄일 수 있다. 예를 들어 Data에 아주 강한 설명변수가 있다면, 모든 Tree가 이 변수를 첫번째 분할에 사용하게 되고 Tree간 상관성이 매우 높아지게 된다. 그렇지만 Random Forest에서는 적은 수의 변수만 사용하므로 이러한 현상을 막을 수 있다. 이 덕분에 Random forest는 낮은 분산(Variance)를 가질 수 있다.

단점

  • 결과가 도출된 과정을 설명하기 쉽지 않다.