Processing math: 100%
본문 바로가기
머신러닝

[분석 방법론] Ensemble Learning(4) - Random Forests

by 하응 2022. 12. 12.

본 포스팅은 고려대학교 산업경영공학부 강필성 교수님의 [Korea University] Business Analytics (Graduate, IME654) 강의   04-4: Ensemble Learning - Random Forests 영상을 보고 정리한 내용입니다.


1. Random Forests 개요 

- bagging 기법의 특수한 형태

- base learner는 decision tree

- ensemble의 diversity를 확보하기 위해 bagging 기법을 사용하고, predictor variables(예측 변수)를 랜덤하게 선택함 

* base learner가 decision tree인 단순 bagging과 차이가 있음

 

2. Random Forests 알고리즘

- 총 B개의 decision tree

- 각 decision tree마다 bootstrap sample을 생성하고 총 p개의 변수 중 m개의 변수를 랜덤으로 선택 

- dauther node(child node)로 split 할 때마다 변수를 새로 선택

- 변수를 제약함으로써, learner들의 평균 성능은 단순 bagging보다 떨어질 수 있지만, 단순 bagging보다 더 다양하게 학습되었기 때문에, 전체 성능은 더 좋아질 수 있음 

Random Forests Pseudo code

 

split마다 변수를 랜덤으로 선택

 

3. Generalization Error 

- 각각의 tree는 pruning을 하지 않아서, 데이터셋에 대하여 over-fit되는 경향이 있음 

- tree 개수가 충분히 많다는 가정 하에서, random forest의 generalization error를 계산할 수 있음 

- ˉρ : 개별 tree간 correlation coeffiecients 값의 평균 

   + 2개의 tree, 동일한 label에 대해 산출한 확률로 correlation coeffiecients를 계산하면 됨

- s2 : 개별 tree에서 margin function (정답과 오답에 대하여 산출된 확률의 차이 평균)

- 모델이 다양할수록 ˉρ 값은 작아지고, 개별 모델이 정확할수록 s2 값은 커져서, generalization error가 작아진다.

Random Forests Generalization Error
Generalization Error 계산 예시

 

4. Variable Importance 

- Random Forests 알고리즘으로 변수의 중요도까지 산출할 수 있기 때문에, 현실 세계에서 자주 사용됨 

- 중요도 산출 단계 

1) OOB 데이터 생성 

2) 학습된 tree를 OOB 데이터로 error 계산 (ei)

3) OOB 데이터의 xi변수의 데이터를 뒤죽박죽 섞어서(Random permutation) error 계산 (pi)

4) 모든 tree에 대한 piei의 평균과 표준편차를 계산하여 variable importance 도출  

- 데이터를 섞었을 때, error가 크게 나온다면 해당 변수가 학습에 사용되었다는 의미이며, 만약 사용되지 않았다면 아무런 영향도 받지 않아서 piei 값이 동일할 것

 

m번째 tree에서 변수 i에 대한 error 차이
전체 tree에서 변수 i에 대한 OOB error 차이 평균 및 분산
변수 i 의 중요도

 

 

 


 

 

 

참고 자료 

- 고려대학교 산업경영공학부 강필성 교수님 강의 

 

 

 

반응형

댓글