본문 바로가기
새우의 테크/랜덤

[ML] Bias - Variance Decomposition 유도

by 오새우 2022. 10. 13.

ML 모델의 관점에서 generalization error는 보통 다음과 같이 정의됩니다.

y 는 ground truth 값을, x는 input, 그리고 h( ) 는 우리 모델의 hypothesis를 나타냅니다.

헌데 대부분의 경우 x의 true distribution을 전체 다 사용해서 모델을 학습하기는 어렵습니다. 

그렇기 때문에 어떤 데이터를 사용해서 학습하냐에 따라 h( ) 함수의 bias 와 variance가 나타나게 됩니다. 

 

1) Bias

Bias 는 다음과 같이 정의됩니다.

h_bar( ) 함수는 다양한 x의 distribution을 통해 학습시킨 h( ) 함수의 mean 값입니다.

결국 h( ) 함수가 평균적으로 true function 인 f( )와 얼마나 떨어져있는지 계산합니다. 

y 와 f( ) 가 헷갈릴 수 있는데, 여기서의 가정은  y = f(x) + e 입니다. Ground Truth 인 y 가 f( )로만 설명되지 않고, 

noise 인 e가 존재한다는 것이지요. 관측 오차라고 생각하면 편할 것 같습니다.

 

2) Variance

Variance 는 다음과 같이 정의됩니다.

이번에는 우리가 다양한 x의 partial distribution 를 가지고 h( )를 학습시켰을 때, h( )가 얼마나 큰 차이를 보이는지를 측정합니다. 

 

마지막으로 Noise는 다음과 같이 정의됩니다.

 

3) Noise

아까 언급한 것처럼, y는 true function f( ) 로 온전히 설명되지 않고, 그 설명되지 않는 정도를 나타냅니다.

 

4) Bias - Variance Decomposition

모델의 Generalization Error는 다음과 같이 소개됩니다.

임의의 x distribution 을 사용해서 학습했을 때, 얼마나 잘 y 에 대하여 generalize 하는지 확인합니다.

이 generalization을 수식으로 풀어쓰면,

즉 결국, generalization error는 variance, bias**2, 그리고 noise로 설명됨을 알 수 있습니다. 

generalization error를 고정했을 때, 모델의 variance 가 높다면 필연적으로 bias 가 낮고, 

모델의 bias가 높다면 variance가 작아짐을 보일 수 있습니다. 

 

예를 들어 regression 문제를 풀 때, polynomial degree가 높다면 bias가 낮은 대신 variance가 높은 모델이 되죠.

반대로 polynomial degree 가 낮다면 bias가 높은 대신 variance가 낮은 모델이 됩니다. 

댓글