본문 바로가기

Data Science/Machine Learning

랜덤 포레스트 (Random Forest) 모델이란?

728x90

1.       포레스트 배경 (앙상블)

  • 랜덤 포레스트는 앙상블 기법의 하나의 예
  • 앙상블 기법 : 여러 base 모델들의 예측을 다수결 법칙 또는 평균을 이용해 예측 정확성을 향상시키는 방법
  • 앙상블 모델이 우수하기 위한 조건

       base 모델들이 서로 독립적

       base 모델들이 무작위 예측을 수행하는 모델(성능이 0.5일때)보다 성능이 좋은 경우 (base 모델의 성능이 좋지 않은 경우, 앙상블 모델의 오류율은 base 모델의 오류율보다 훨씬 커지는 경향성이 있음, 반면 base 모델의 오류율이 무작위 예측 모델보다 적은 경우엔, 앙상블 모델의 오류율은 적어지는 효과를 받는다)

 

  • 랜덤 포레스트는 앙상블 모델의 base모델로 의사결정나무 모델을 사용함

       low computational complexity (복잡한 계산이 필요없음) : 데이터의 크기가 방대한 경우에도 모델을 빨리 구축할 있음

       non-parametric : 데이터 분포에 대한 전제가 필요하지 않음

 

 

2.       랜덤 포레스트 개요

  • 다수의 의사결정나무모델에 의한 예측을 종합하는 앙상블 방법
  • 일반적으로 하나의 의사결정나무모델보다 높은 예측 정확성을 보여줌
  • 관측치 수에 비해 변수의 수가 많은 고차원 데이터에서 중요 변수 선택 기법으로 널리 활용됨

       original training data bootstrap 기법을 이용하여 다수의 training data 생성

       생성된 training data decision tree 모델을 구축(무작위 변수를 사용하여)

       예측을 종합

 

 

3.       핵심 아이디어 (Diversity, Random 확보)

       Bagging : 여러 개의 training data 생성하여 데이터마다 개별 의사결정나무모델을 구축함

       Random subspace : 개별 의사결정나무모델 구축 변수 무작위로 선택

 

 

 

4.       Bagging (Bootstrap Aggregating)

  • 각각의 bootstrap 샘플로부터 생성된 모델을 합침

1)       Bootstrapping

  • 각 데이터셋을 1) 복원 추출(sampling with replacement, 추출을 하고 다시 해당 값을 원본으로 돌려놓는 방법)을 통해 2) 원래 데이터의 수만큼의 크기를 갖도록 샘플링할 때, bootstrap했다고 말함
  • 개별 데이터셋을 bootstrap set이라 함
  • bootstrap은 복원 추출을 하기 때문에 같은 value값이 자주 등장할 수 있다
  • 이론적으로 한 개체가 하나의 bootstrap에 한번도 선택되지 않을 확률 (0.368, 꽤 큼)

 2)       Aggregating (합친다)

  • 라벨(0 or 1)과 training accuracy를 곱한 것을 전체 training acurracy로 나눠준 것을 결과값으로 출력
  • 의사결정나무의 분기점(tree가 나뉘는 변수)을 탐색할 때, 원래 변수의 수보다 적은 수의 변수를 임의로(랜덤하게) 선택하여 해당 변수들만을 고려 대상으로 함

 

5.       랜덤포레스트의 특성

  • 각각의 개별 tree는 과적합 될 수 있음
  • radom forest는 tree수가 충분히 많을 때 strong law of large numbers에 의해 과적합 되지 않고 그 에러는 limiting value에 수렴됨
  • Bagging 과 random subspace 기법은 각 모델들의 독립성, 일반화, 무작위성을 최대화 시켜 모델 간의 상관관계 p를 감소시킴
  • 개별 tree의 정확도, 독립성이 높을수록 random forest의 성능이 높아짐
  • 랜덤 포레스트는 선형 회귀모델/로지스틱 회귀모델과는 달리 개별 변수가 통계적으로 얼마나 유의한지에 대한 정보를 제공하지 않음
  • 대신 랜덤 포레스트는 다음과 같은 간접적인 방식으로 변수의 중요도를 결정
  • Out of bad(OOB)의 사용
    • 배깅을 사용할 경우 bootstrap 포함되지 않는 데이터(OOB) 검증집합으로 사용함

 

6.       하이퍼 파라미터

1)       Decision tree

  • strong law of large numbers을 만족시키기 위해 최소 2000개 이상의 decision tree가 필요

 

2)       Decision tree에서 노드 분할 무작위로 선택되는 변수의

  • 일반적으로 변수의 수에 따라 다음과 같이 추천됨

 

 

Reference

 

반응형