의사결정나무( Decision Tree )는 훌륭한 모델이지만, 오버피팅되는 경향이 있다. 가지치기( pruning ) 같은 방법으로 부작용을 최소하하는 전략이 있긴 하나 부족하다. 그래서, 의사결정나무( Decision Tree )의 약점인 오버피팅 한계를 극복하기 위한 모델이 랜덤 포레스트(Random Forest)이다. 이름에서 의미하는 것 처럼 나무가 많다. 랜덤포레스트는 같은 데이터들에 의사결정나무 여러 개를 동시에 적용해서 학습성능을 높이는 앙상블 기법입니다. 나무( tree )가 다수라고하여 숲( forest )라는 이름이 붙었다.

배깅( Bagging )
전체 학습 데이터 중 임의로 학습 데이터를 선택해서 의사결정 트리를 만드는 것이 배깅( bagging )이다. 그리고, 임의의 학습 데이터 선택 시 중복을 허용해야 한다. 즉, 임의의 데이터를 선택 시 기준 데이터는 항상 모든 데이터에서 선택한다는 것이다.
Bagging Features
데이터를 항상 전체를 기준으로 하지만 데이터의 속성값을 제안함으로 트리에 다양성을 줘야 한다. 즉, 각 분할에서 속성의 일부만 고려하여 트리를 작성하는 방식이다.
예를 들면 총 200개의 학습 데이터의 속성이 100개라고 하면, 그 중 10개의 속성만 선택 후 그 중 정보 획득량이 가장 높은 걸 기준으로 데이터를 분할, 그 다음 단계에서도 다시 임의로 10개만 선택... 속성의 선택은 전체 속성 개수의 제곱근만큼 선택하는 것이 경험적으로 가장 좋다고 한다. 전체 속석이 100개면 10개 선택... 이렇게 트리를 만들게 되면 ‘숲’이 된다.
'머신러닝(ML)' 카테고리의 다른 글
| 두 점 사이의 거리 공식 (0) | 2020.07.09 |
|---|---|
| 베이즈 정리( Bayes' Theorem )란... (0) | 2020.07.09 |
| 의사결정 나무(Decision Tree)란... (0) | 2020.07.09 |
| 서포트 벡터 머신( Support Vector Machine ) 이란... (0) | 2020.07.09 |
| 로지스틱회귀( Logistic Regression )란... (0) | 2020.07.09 |