AI

랜덤 포레스트 (Random Forest)

땅콩새싹 2021. 8. 2. 13:07

 


 

앙상블 학습 랜덤 포레스트 (ensemble learning random forest)

Decision Tree의 overfitting되는 약점을 보완해 줄 Random Forest 알고리즘은 여러개의 decision tree를 만들고 각 트리에 데이터를 통과시켜 나온 결과를 종합해 최종 분류하는 알고리즘입니다. 여러개의 트리 중 일부는 overfitting 될 수 있지만 많은 수의 트리를 생성함으로 overfitting이 예측하는데 있어 큰 영향을 끼치지 않게 합니다.

 

  • 배깅 (Bagging)

배깅은 트리를 만들 때 training set에서 일부 데이터를 활용해 트리를 만드는 것을 말합니다. 예를 들어 training set에 1000개의 데이터가 있다면 100개의 데이터만 임의로 선정해 트리를 만드는 것입니다. 이 때 데이터의 중복을 허용하는데 100개를 선정했다고 해서 다음 트리를 만들 때 앞서 선정된 100개의 데이터를 제외하는 것이 아니라 100개를 다시 포함시킨 데이터셋에서 다시 선정하는 방식입니다.

  • Bagging Features

Decision Tree에서는 모든 feature들을 사용해 정보 획득량이 가장 많은 feature로 데이터를 분할했습니다. 그러나 Random Forest에서는 각 분할에서 일부 feature들만 사용해 각 트리를 만듭니다. 예를 들면 feature가 10개인 데이터셋이 있다고 할 때 그 중 각각 3개씩 임의로 골라 여러가지 트리를 구성하고 분류된 결과를 종합하는 것 입니다. 이렇게 했을 때 어느 한 feature에 편향된 결과를 줄일 수 있고 여러가지 방향에서 최적의 값을 찾을 수 있습니다.

 

 

'AI' 카테고리의 다른 글

Clustering (K-Means, DBSCAN)  (0) 2021.08.03
랜덤 포레스트 vs 엑스트라 트리  (0) 2021.08.02
AutoML(Grid Search, Random Search)  (1) 2021.07.29
교차 검증(cross validation)  (0) 2021.07.27
결정 트리 (Decision Tree) 실습  (0) 2021.07.23