본문 바로가기
ML (Hands-On Machine Learning)/Ensemble Learning and Random Forests

Chapter 7. Ensemble Learning and Random Forests

by xangmin 2020. 4. 14.
반응형

  수천 명의 임의의 사람들에게 복잡한 질문을 한 다음 답변을 집계한다고 가정해보자. 많은 경우 이 집계된 답변이 전문가의 답변보다 낫다는 것을 알게 될 것이다. 이것을 군중의 지혜라고합니다. 마찬가지로, classifier 또는 regression과 같은 예측 변수 그룹의 예측을 집계하면 최상의 개별 예측 변수보다 더 나은 예측을 얻을 수 있다. 예측 변수 그룹을 앙상블이라고합니다. 따라서이 기술을 Ensemble Learning이라고하며 Ensemble Learning 알고리즘을 Ensemble method라고 한다.

 

Voting Classifiers

< Training diverse classifiers >

 Voting Classifers는 '다수결 분류'를 의미한다. 즉, 여러가지 Diverse predictor를 사용하여 결과를 집계하여 클래스를 예측하는 것이다. 

 

<  Hard voting classifier predictions >

 여기서 중요한 것은 같은 데이터 세트에서 서로 다른 모델인 여러 개의 분류기의 예측을 집계하고 가장 많은 표를 얻는 클래스를 예측하는 것을 Hard voiting classifier라고 한다. 각각 classifier의 independency가 강할수록 voting classifiers의 성능은 좋아진다. (독립적일 때, 가장 효과적이다.)

 결론적으로 voting classifier는 높은 정확도를 갖는다. 각 classifier가 weak learner를 의미하더라도 충분한 수의 weak learner가 존재하는 경우 앙상블은 강력한 learner가 될 수 있다.

 

 그렇다면 이것이 어떻게 가능할 것인가? (weak learner가 strong learner가 될 수 있는 이유)

< The law of large numbers >

 Coin에 비유하여 설명하고자 한다. Coin은 앞면이 나올 확률 51%, 뒷면이 나올 확률이 49%라고 가정하자. 그리고 51% 의 앞면일 확률과 49%의 뒷면일 확률을 갖는 11개의 coin, 즉 모델이 다른 classifier를 의미한다. 각각의 coin을 던지다보면 처음의 경우 51%의 앞면이라는 확률에 근접하지 못한다. 하지만 coin을 던지는 횟수를 증가시키면 대부분의 coin들의 확률이 51%에 가까이 수렴하게 된다. 결국 모든 코인의 확률은 지속적으로 50%이상을 유지할 수 있게 된다.

(weak learner라도 여러 개가 50% 이상을 유지하므로 strong learner가 된다.)

 

Bagging and Pasting

<  Bagging and pasting involves training several predictors on different random samples of the training set >

 앞에서 모델이 다른 classifier를 사용하는 ensemble method에 이야기했다. 다른 방법으로는 모든 예측 변수에 대해 동일한 training algorithm을 사용하고 training data set의 서로 다음 임의의 하위 집합에 대해 training하는 것이다. (앞서 말한 것과 반대로 classifier는 동일하고, training data set에서 sampling을 통해 학습하는 것) bagging과 pasting은 병렬(parallel)로 처리된다는 것이 특징이다.

 

*bagging - random sampling, without replacement

*pasting - random sampling, with replacement

 

< A single Decision Tree (left) versus a bagging ensemble of 500 trees (right) >

 single decision tree와 decision trees with bagging을 비교한 것이다. 육안으로 확인했을 때, decision trees with bagging이 훨씬 더 일반화되어있는 모습을 볼 수 있다. 

 

Out-of-Bag Evaluation

 bagging을 사용하면 특정 intstance에 대해 일부 instance가 여러 번 sampling 될 수 있지만 다른 instance는 전혀 sampling되지 않을 수 있다. sampling 되지 않는 train instance를 oob(Out-of-Bag) instance라고 한다. oob는 training에 참여하지 않았기 때문에 validation set(evaluation)으로 사용된다. 그렇게 각 예측 변수의 oob를 evaluation하여 앙상블 자체를 평가한다.

 

Random Patches and Random Subspaces

...

 

Random Forests

 Random Forests는 일반적으로 bagging method(sometimes pasting)을 통해 훈련되는 dicision tree의 Ensemble이다. 

 

반응형

댓글