정의
> ensemble 은 조화라는 의미를 가진다.
> 여러가지의 base model, base learner, single learner 들로 이루어져 있다.
> 이는 대수의 법칙 (큰 모집단에서 무작위로 뽑은 평균이 전체 모집단의 평균과 가까울 가능성이 높다는 통계와 확률분야의 기본 개념) 에 의해 많은 시행 (여러개의 learner)의 결과가 수학적으로 합리적인 결과를 가져온다.
> 대수의 법칙에 의해 overfitting 된 다양한 learner 들을 만들면 전체의 모델의 성능이 증가할 수 있다.
Model & 목표


Ensemble Learning의 기본적인 model은 성능이 좋지 않은 여러 개의 learner들을 붙여서 성능을 끌어올리는 것을 목표로 한다.
조건 - 1 (p는 0.5 이상)

Ensemble 은 L개의 learner들이 각각 classifier 라고 생각하면 된다. 이 learner들은 "오른다 or 떨어진다" "맞다 or 아니다" 를 판별하는 이진분류이기에, 이들의 ensemble model은 이항분포이다. 이 때 ensemble의 기댓값은 np 이므로, p가 올라갈수록 전체 model의 기댓값 또한 올라간다. 이 때 p는 0.5를 넘겨야 효과적이다.
조건 - 2 (overfitting이 잘 되는 model을 base learner로!)
- Test Data 에 대해 다양한 의견(예측값)을 수렴하기 위해 overfitting이 잘 되는 model을 기본적으로 사용한다. overfitting이 잘 된다는 의미는 디양하고 극적인 예측값을 수렴하기 때문이다. 따라서 오류를 최대한으로 줄일 수 있다.
- 주로 쓰는 model 들은 Decision Tree, ANN (인공신경망) -> Deep Learning
- Ensemble 개념은 여러 모델의 조합이기 때문에, base learner를 꼭 Tree나 인공신경망으로 안해도 된다.
예시 - 1

각각의 learner들이 예상하지 못하는 부분을 다른 learner들이 보완함으로써 다수결로 조합, 여러 분류기를 종합하여 한 분류기의 오류를 상쇄하고 더 나은 결론을 이끌어낸다.
종류
Linear Regression, Decision Tree는 똑같은 data가 들어가면 똑같은 result를 내기 때문에 이를 방지하고자 다음과 같은 Ensemble Learning에서 input data를 나누는 방법에 대해 표로 정리하였다.
| Tree 기반의 단일 모델 (패키지 함수) | Bagging |
|
| Tree 기반의 단일 모델 (패키지 함수) | RandomForest |
|
| Tree 기반의 단일 모델 (패키지 함수) | Boosting |
|
| Ensemble의 한 개념 (사용자 정의 함수) | Stacking |
|
'AI' 카테고리의 다른 글
| Statisics : Bias vs Variance (0) | 2020.02.20 |
|---|---|
| ML : Ensemble Learning : Bagging (0) | 2020.02.20 |
| ML : Model : LDA vs SVM (4) | 2020.02.13 |
| ML : Model : SVM 이란? / LDA vs SVM / SVM 정의 (0) | 2020.02.12 |
| ML : 라그랑주 승수법 (Lagrange Multiplier) (0) | 2020.02.12 |
댓글