정의
> 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 |
댓글