欲速不達

일을 급히 하고자 서두르면 도리어 이루지 못한다.

Fantastic AI, Fantastic World

DS | Data Science/ML | Machine Learning

[ML basic] Bias & Variance

_껀이_ 2024. 1. 23. 22:03
728x90
반응형

1. 정의

일반적으로,

 bias는 모델을 통해 얻은 예측값과 실제 정답과의 차이의 평균을 나타낸다. 즉, 예측값이 실제 정답값과 얼만큼 떨어져 있는지를 나타낸다. 만약 bias가 높다고 하면 그만큼 예측값과 정답값 간의 차이가 크다고 말할 수 있다.

$$Bias[\hat{f}(x)]=E[\hat{f}(x)-f(x)]$$

 

 variance다양한 데이터 셋에 대하여 예측값이 얼만큼 변화할 수 있는지에 대한 양(Quantity)의 개념이다. 이는 모델이 얼만큼 flexibility를 가지는 지에 대한 의미로도 사용되며, 분산의 본래 의미와 같이 얼만큼 예측값이 퍼져서 다양하게 출력될 수 있는 정도로 해석할 수 있다.

$$Var[\hat{f}(x)]=E[(\hat{f}(x)-E[\hat{f}(x)]^{2})]=E[\hat{f}(x)^{2}]-E[\hat{f}(x)]^{2}$$

 

 

 위의 그림은 bias와 variance를 직관적으로 표현했을때의 그림이다.

- bias가 낮을수록 예측값들은 정답 근방에 분포하고, 높을수록 정답과 멀리 떨어진 곳에 분포하게 된다.

- variance가 낮을수록 예측값들의 분산이 적고, 높을수록 분산이 크게 되어있다.

 

 bias와 variance가 동시에 낮게 되는 방향으로 구성 되어야 실제 정답과 근접하게 되므로 error를 최소화하는 optimal solution이 될 수 있다.

 

 이러한 bias와 variance를 수식으로 표현하면 다음과 같다.

$$Error(x)=(E[\hat{f}(x)]-f(x))^{2}+E[\hat{f}(x)-E[\hat{f}(x)]]^{2}+\sigma _{e}^{2}$$

 

 첫번째 항은 bias를 나타낸다. bias 항은 실제값과 예측값이 얼마나 다른지를 표현하기 위함이다. error를 최소화하기 위해 양수로 표현하는 것이기도 하다.

 두번째 항은 variance를 나타낸다. 예측값의 평균과 각 예측값들의 차이가 클수록 error는 커진다. 이 또한 제곱을 통해 양수로 표현한다.

 마지막 항은 irreducible error로 근본적으로 줄일 수 없는 error를 의미한다. 이 error가 존재하는 이유는 bias와 variance가 0이 된다고 하더라도 모델이 가지고 있는 근본적인 error를 표현하기 위함이다.

 

2. 예제

2-1) Regression

 

회귀문제의 예시이다.

  1. 첫번째 그래프는 회귀선과 실제 정답 간의 차이가 매우 상이하기 때문에 bias가 낮고, 회귀선에 있는 예측값들의 차이(편차)가 적기 때문에 variance가 낮다.
    • high bias, low variance
  2. 두번째 그래프는 첫번째 그래프에 비해 회귀선과 정답값 차이가 낮지만, 세번째 그래프보다는 크기때문에 medium bias를 가지며, 첫번째 세번째 그래프에 비해 회귀선의 예측값들의 편차가 중간정도이기 때문에 variance도 medium이다.
    • medium bias, medium variance
  3. 세번째 그래프는 회귀선의 예측값이 정답과 매우 유사하기 때문에 bias가 높지만, 회귀선이 구불구불하게 되어 두번째 그래프보다 variance가 높다.
    • low bias, high variance

 위의 세 그래프 중에서는 두번째 그래프가 일반성능이 높은 모델이 되며, 첫번째 그래프는 underfitting, 세번째 그래프는 overfitting된 경우가 된다.

 

2-2) Classification

 분류문제의 예시이다.

 회귀문제와 동일한 성격으로 해석할 수 있다. 첫번째 그래프는 high bias / low varianceunderfitting된 경우로 볼 수 있다. 즉, high bias의 경우, 모델의 성능이 정답을 잘 예측하지 못한다.

 세번째 그래프는 반대로, low bias / high variance로 overfitting된 경우로 볼 수 있다. 이는 모델이 지나치게 복잡하게 되어, 예측값 간의 편차가 크게 발생한 경우이다.

 즉, bias와 variance는 모델의 복잡도와 관련이 있다. 또한 서로 trade off 관계로 적정한 수준의 bias와 variance를 만들기 위해 적절한 수준에서 학습을 종료시켜야 일반성능을 확보할 수 있다. (early stop, overfitting 방지, underfitting 방지)

 

 

2-3) Bias/Variance Trade-Off

 

 bias/variance의 trad-off 관계는 training error와 validation error를 통해 모델의 복잡도와 함께 설명할 수 있다.

 모델이 단순할수록, 모델은 데이터의 분포에 대한 표현을 제대로 학습할 수 없기 때문에 high bias를 가진다. 한편, 모델이 복잡할수록, 데이터의 분포에 대한 표현력이 높기 때문에 정답에 대한 예측값의 차이가 줄어들어 training error는 줄어든다. 하지만 모델이 과도하게 복잡하게 구성될수록, 과한 표현력을 가지므로 그만큼 variance는 증가하게 된다.

 validation error는 모델이 복잡할수록 감소하다가 다시 증가하게 된다. 표현력이 좋아질수록 validation error 역시 감소할 수있지만, 그만큼 training error에 과하게 맞춰 학습이 되기 때문에 어느 지점을 지나서는 오히려 일반화 성능이 감소하여 validation error가 증가하게 되는 것이다.

 즉, 이 두 가지 error를 동시에 고려해야 high bias로 인한 underfitting과 high variance로 인한 overfitting 문제를 최소화하는 optimal point를 찾을 수 있는 것이다.

 

다시 정리해보면, 

 

 bias와 variance 증감 추이가 교차되는 지점이 optimal point가 되며, 이때 training error와 validation error의 합인generalization error가 최소가 된다. 또, 이 optimal point를 넘어서기 전까지는 high bias이므로, underfitting이 발생하고, 넘어선 후에는 high variance가 되므로 overfitting 문제가 발생한다.

 

 이러한 bias/variance의 문제를 진단하려면, trade-off 관계를 해석해봐야 한다. 즉, error간의 관계를 보면 된다.

  • training error가 높을 때, validation error $\approx $ training error $\rightarrow $ bias problem( underfitting )
  • training error가 낮을 때, validation error $ \gg $ training error $\rightarrow $ variance problem( overfitting ) 

 


참고 1)

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

 

머신러닝에서의 Bias와 Variance

gaussian37's blog

gaussian37.github.io

 

참고 2)

Andrew Ng의 Machine Learning 강의

728x90
반응형