본문 바로가기

Deeplearning

Bias(편향) & Variance(분산)

728x90
반응형

Variance

추정값 분산 : 모델의 예측값 & 예측 평균의 차이

variance(분산)란 입력값이 들어갔을 때 출력 값이 얼마나 일관적으로 나오는가에 대한 개념으로 볼 수 있다. 즉, 분산이 낮을 경우(low variacne) 비슷한 입력값에 대해 비슷한 출력을 뱉는다. 선형 회귀식과 같은 간단한 모델을 생각할 수 있다. 반면 분산이 높을 경우(high variance), 비슷한 입력값을 받음에도 불구하고 출력 값의 차이가 큰 경우이다. 이는 개개의 데이터에 과하게 적합된 overfitting 문제와도 연관이 있다. 

$Var [h(x)] = E[(h(x) - E[h(x)])^2]$

Bias

추정값 편향 : 모델의 예측값 & 이상적인 모델의 예측값의 차이

bias(편향)란 모델의 예측값과 실제값의 차이(에러)의 평균을 뜻한다. Low bias의 경우 에러의 평균이 낮음을 뜻하고 high bias는 에러의 평균이 큰 경우, 즉 예측한 값이 실제값과 차이가 많이 나는 경우를 뜻한다. 

$Bias [h(x)] = E[h(x)] - f(x)$ (여기서 f(x)는 이상적인 예측 함수)

Noise

실제값과 이상적 모델간의 차이(줄일 수 없는 에러)

$Noise [h(x)] = E[(y - f(x))^2] $

 

이상적으로는 low bias(예측값과 실제값의 차이가 적고), low variance(예측값이 몰려있는)가 가장 좋은 모델일 것이다. 하지만 bias와 variance는 동시에 낮추기 어려운 trade-off 관계가 있다고 알려져 있다. 

노이즈가 있는 학습 데이터로 loss를 minimize(최소화)하는 경우를 볼 때 minimize해야 하는 에러는 크게 세 파트로 나눌 수 있다. 각 부분은 각각 줄어들지 않고 하나가 작아지면 하나는 커지는 관계, 즉 trade-off 관계이다. bias를 낮추기 위해(underfitting 문제 해결을 위해) 모델의 복잡도를 높이면 variance가 커지고, variance를 낮추기 위해(overfitting 문제 해결을 위해) 모델의 복잡도를 낮추게 되면 bias가 커지게 된다. 

즉, 좋은 모델이란 적절한 수준의 bias와 variance의 균형을 맞추는 것이다. 

 


Reference

https://gaussian37.github.io/machine-learning-concept-bias_and_variance/ 

728x90
반응형