본 포스팅은 고려대학교 산업경영공학부 강필성 교수님의 [Korea University] Business Analytics (Graduate, IME654) 강의 중 04-2: Ensemble Learning - Bias-Variance Decomposition 영상을 보고 정리한 내용입니다.
1. 현실 세계의 데이터는 "additive error" model에서 생성된다고 가정
- 정답 매커니즘과 더불어 사람이 어떻게 할 수 없는 노이즈가 포함되어 있는 모델로부터 데이터가 생성됨
- \(F^*(x)\) : 우리가 찾으려고 하지만, 실제로 알 수는 없는 target function
- \(\epsilon\) : 노이즈, 독립적이고 동일한 분포로부터 생성
- \(\epsilon\)이 다르면 다른 데이터셋이 생성된다. 이때, \(F^*(x)\) 를 추정하게 되면, 데이터 셋마다 약간씩 다른 target function을 추정하게 된다.
2. 특정 데이터 포인트에서의 MSE Decomposition과 Bias, Variance의 의미
- Bias : 노이즈를 변경해가며 반복적으로 모델링을 했을 때, 그 모델의 평균적인 결과가 정답과 얼마나 차이가 있는지
+ High bias implies a poor match
- Variance : 노이즈를 변경해가며 반복적으로 모델링을 했을 때, 개별적인 모델이 평균적인 결과와 얼마나 차이가 있는지
(=평균적인 모델에 비해 얼마나 펴져있는지)
+ High variance implies a weak match
- \(\sigma\) : original data에 존재하는 제거할 수 없는 error
- Bias와 variance는 독립이 아니다.
3. Bias-Variance와 알고리즘
- low bias & high variance : model complexity가 큰 경향 > Bagging 기법으로 variance를 줄이고자 함
+ DT, ANN, SVM, k-NN with small k, etc.
- high bias & low variance : model complexity가 작은 경향 > Boosting 기법으로 bias를 줄이고자 함
+ Logistic regression, LDA, k-NN with large k, etc.
4. Ensemble의 목적
- 여러가지의 모델(multiple learners)을 구성해서 "error"를 줄이고자 함, 어떤 error를 줄일 것인지?
+ Variance를 줄임 : Bagging (Random Forests...)
+ Bias를 줄임 : Boosting (AdaBoost, LigntGBM, CatBoost...)
+ 모두 줄임 : Mixture of experts
- ensemble construction의 key questions!
+ How to generate individual components of the ensemble systems (base models) to achieve sufficient degree of diversity ? 어떻게 하면 충분한 수준의 다양성을 확보할 수 있을까?
+ How to combine the outputs of individual models? 어떻게 잘 결합할 것인가?
5. Ensemble Diversity
- 동일한 모델을 결합하는 것은 의미가 없음
- 모델의 다양성을 확보하되, 여전히 각 모델이 좋은 성능을 가져아 함
- Implicit Diversity와 Explicit Diversity로 구분할 수 있음
+ Implicit : 다른 데이터 셋을 제공해서 이전 모델과 달라지도록 유도
+ Explicit : 측정지표를 사용해서 이전 모델과 달라지도록 유도
- ensemble 구성 시 독립적으로 모델을 선택하는 경우가 있고, 모델의 가이드를 받아서 선택하는 경우가 있음
- 주로 bagging 계열이 독립적으로 모델을 만들어서 합치기 때문에 병렬 처리가 가능하며, boosting 계열에서는 모델 학습 결과물이 다음 데이터셋을 만들 때 영향을 미치기 때문에 순차 처리를 해야 함
6. Ensemble의 효과
- \(y_m(x)\) : m번째 모델이 추정한 y값
- \(f(x)\) : 실제 정답 함수
- \(\epsilon_m(x)\) : m번째 모델의 error
- M개의 개별적인 모델을 사용할 때의 average 에러와 ensemble 모델의 expected error 비교
+ 모델이 독립이 아니라는 가정 하에서도, ensemble 모델의 expected error가 개별적 모델의 avg error보다 작거나 같음
참고 자료
'머신러닝' 카테고리의 다른 글
[분석 방법론] Ensemble Learning(4) - Random Forests (0) | 2022.12.12 |
---|---|
[분석 방법론] Ensemble Learning(3) - Bagging (0) | 2022.11.29 |
[분석 방법론] Ensemble Learning(1) - Overview (0) | 2022.11.23 |
[분석 방법론] Anomaly Detection - Isolation Forest (0) | 2022.11.23 |
[머신러닝] GMM(Gaussian Mixture Model) 군집화 (3) | 2021.08.19 |
댓글