머신러닝

랜덤 포레스트 Random forest

haong_ 2022. 6. 14. 21:17

결정트리의 과적합 한계를 극복하기 위해 나온 앙상블 모델.
 > 앙상블이란? 여러개의 weak model을 결합시켜서 학습하는 방법으로 배깅, 부스팅이 있다. 
랜덤포레스트는 배깅을 이용한 모델이다. 다수의 트리를 사용하기 때문에 과적합이 나타나는 트리의 영향력을 줄일 수 있다

배깅 Bagging

Bagging 이란 Bootstrap Aggregation의 약자로 중복허용하여 샘플링을 한 여러개의 약한 트리를 각각 학습 시킨다음, 학습한 모델에 테스트 데이터를 입력하고 나온 결과들을 투표를 통해 분류한다. 분류일 경우 최다 득표 값, 회귀일 경우 평균값을 사용한다. 

bagging features

사용될 속성제한으로 각 트리에 다양성을 줄 수 있다. 
전체 속성 개수의 제곱근만큼 선택(ex. 총 속성이 25개면 5개)

Out of bag(oob)

배깅에서 선택되지 않을 확률로 평균 63% 정도만 샘플링된다. 선택되지 않은 훈련 샘플 나머지 37%가 oob 샘플이다. 
선택되지 않았기 때문에 검증에 사용 할 수 있다. 앙상블의 평가는 각 트리의 oob 평가를 평균하여 얻는다. 

특징

모델의 분산을 줄이고 과적합을 피할 수 있게 해준다. 
데이터의 중복을 허용하기 때문에 특정 샘플은 여러번 사용되지만 또 다른 샘플은 사용되지 않아서 편향될 가능성이 있다. 
데이터가 독립적인 경우를 가정하기 때문에 데이터 의존성이 있는 경우 사용이 불가하다.