본문 바로가기
머신러닝

[분석 방법론] Ensemble Learning(2) - Bias-Variance Decomposition

by 하응 2022. 11. 29.

본 포스팅은 고려대학교 산업경영공학부 강필성 교수님의 [Korea University] Business Analytics (Graduate, IME654) 강의   04-2: Ensemble Learning - Bias-Variance Decomposition 영상을 보고 정리한 내용입니다.

 


1. 현실 세계의 데이터는 "additive error" model에서 생성된다고 가정 

- 정답 매커니즘과 더불어 사람이 어떻게 할 수 없는 노이즈가 포함되어 있는 모델로부터 데이터가 생성됨 

- \(F^*(x)\) : 우리가 찾으려고 하지만, 실제로 알 수는 없는 target function 

- \(\epsilon\) : 노이즈, 독립적이고 동일한 분포로부터 생성

additive error model

- \(\epsilon\)이 다르면 다른 데이터셋이 생성된다. 이때, \(F^*(x)\) 를 추정하게 되면, 데이터 셋마다 약간씩 다른 target function을 추정하게 된다. 

\(F^*(x)\)  추정 과정

 

추정한 target 함수들의 평균

 

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는 독립이 아니다. 

MSE decomposition을 통한 의미 도출
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. 

Bias-Variance 예시, 중앙은 \(F^*(x)\)를 의미하고, x 표시는 \(\hat{F(x)}\)를 의미함

 

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 : 측정지표를 사용해서 이전 모델과 달라지도록 유도

Implicit/Explicit 설명

- ensemble 구성 시 독립적으로 모델을 선택하는 경우가 있고, 모델의 가이드를 받아서 선택하는 경우가 있음

- 주로 bagging 계열이 독립적으로 모델을 만들어서 합치기 때문에 병렬 처리가 가능하며, boosting 계열에서는 모델 학습 결과물이 다음 데이터셋을 만들 때 영향을 미치기 때문에 순차 처리를 해야 함

 

6. Ensemble의 효과 

- \(y_m(x)\) : m번째 모델이 추정한 y값

\(f(x)\) : 실제 정답 함수

- \(\epsilon_m(x)\) : m번째 모델의 error 

전체 error의 기댓값

- M개의 개별적인 모델을 사용할 때의 average 에러와 ensemble 모델의 expected error 비교

   + 모델이 독립이 아니라는 가정 하에서도, ensemble 모델의 expected error가 개별적 모델의 avg error보다 작거나 같음

 


 

참고 자료 

- 고려대학교 산업경영공학부 강필성 교수님 강의 

 

 

반응형

댓글