코딩하는 눈송이

Bias & Variance 본문

확률론

Bias & Variance

monapanda 2023. 2. 18. 14:49

Bias와 Variance란?

bias와 variance에 앞서 $f(x), \hat{f}(x), E[\hat{f}(x)]$에 대해서 알아보자

$f(x), \hat{f}(x), E[ \hat{f}(x)]$에 대한 그림(출처 : Jinsol Kim 블로그)

  • $f(x)$ : 하나의 독립 변수 x에 대한 real value 값
  • $\hat{f}(x)$ : 모델에 입력된 input x에 대해서 출력하는 예측값
  • $E[\hat{f}(x)]$ : $\hat{f}(x)$들의 expected value로, estimated된 값들(예측값)의 평균

자 그러면 이를 바탕으로 Bias에 대해 설명해 보겠습니다.

  • Bias란? 모델을 통해 얻은 예측값과 실제 값의 차이의 expected value(평균값)

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

  • Variance란? 예측 값이 평균에서 얼마나 퍼져 있는지를 나타낸다(분산) -> 이는 모델이 얼마나 flexibility를 가지고 있을 수 있는지에 대한 의미도 가진다.

$$Variance[\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 Tradeoff (출저 : Jinsol Kim 블로그)

위의 네가지 경우를 살펴본다면

  1. Low Bias & Low Variance : 예측값들이 정답 근방에 분포되어 있고(bias가 낮음) 예측값들이 서로 몰려 있다. (variance가 낮음) - 최상의 결과
  2. Low Bias & High Variance : 예측값들이 정답 근방에 분포되어 있으나 (bias가 낮음) 예측값들이 서로 흩어져 있다. (variance가 높음)
  3. High Bias & Low Variance : 예측값들이 정답에서 떨어져 있고 (bias가 높음) 예측값들이 서로 몰려 있다. (variance가 낮음)
  4. High Bias & High Variance : 예측값들이 정답에서 떨어져 있고 (bias가 높음) 예측값들이 서로 흩어져 있다. (variance가 높음) - 최악의 결과

 

그러나 Bias가 낮은 동시에 Variance가 낮은 모델을 갖기는 어렵다. 

이를 위에 정리했던 Bias와 Variance의 식을 이용하여 살펴보자.

 

다시 한번, Bias와 Variance를 정리해보자

  • Bias : $E[\hat{f}(x) - f(x)] = E[\hat{f}(x)] - E[f(x)]$
  • Variance : $E[(\hat{f}(x) - E[\hat{f}(x)])^2]$

자, 여기서 예를 들어보자.

 

Variance을 0으로 만들기 위해 $\hat{f}(x) = E[\hat{f}(x)]$인, $\hat{f}(x)$가 일정한 값을 가지는 상태라고 생각해보자.

그렇다면 Variance는 0이겠지만 Bias는 $E[\hat{f}(x)] - E[f(x)]$이기 때문에 Bias가 커진다.

 

이런 식으로 Bias가 작아지면 Variance가 커지고, Variance를 줄인다면 Bias가 커지는 현상을 Bias & Variance Tradeoff라고 한다.

Bias, Variance Tradeoff를 설명하는 그림(출저 : lolhi 블로그)

다시 한번 Bias와 Variance에 대해 정리해본다면

  • Bias : 데이터 내에 있는 모든 정보를 고려하지 않음으로 인해, 지속적으로 잘못된 것들을 학습하는 경향을 말한다. underfitting 이라고도 한다.
  • Variance : 데이터 내에 있는 에러나 노이즈까지 잘 잡아내는 highly flexible models 에 데이터를 fitting시킴으로써, 실제 현상과 관계 없는 random한 것들까지 학습하는 알고리즘의 경향을 의미한다. 이는 overfitting과 관계되어 있다.

Bias & Variance가 실제 모델의 예측값과 어떤 관계를 가지는지에 대한 그래프(출저 : Jinsol Kim 블로그)

위의 그래프에서 볼 수 있듯이,

  1. 선형 모델(degree = 1) : 이 모델은 데이터 내의 모든 정보를 고려하지 못하고 있다 (high bias). 하지만, 새로운 데이터가 들어온다 하더라도 이 모델의 형태는 크게 변하지 않을 것이다 (low variance).
  2. 고차 다항함수 모델 : 이 곡선 모델은 주어진 데이터를 잘 설명하고 있다 (low bias)하지만, 이 함수는 새로운 데이터가 들어왔을 때 완전히 다른 형태로 변하게 되고, generality를 잃게 될 것이다 (high variance).

따라서, 이상적인 모델은

< 데이터의 규칙성을 잘 잡아내어 정확하면서도 다른 데이터가 들어왔을 때도 잘 일반화할 수 있는 모델 >

 

Regularization과 Bias, Variance에 대한 내용은 추후에 Regularization에 대해 설명할 때 다뤄보도록 하겠다.

 

 

Bias & Variance Tradeoff

Regression에서 estimated value(예측값) $\hat{f}(x)$와

실제 값(real value)인 $f(x) = \hat{f}(x) + \epsilon$ 사이에 Expected Prediction Error을 구해보자

 

  • Expected Prediction Error이란?
    • 모델의 예측이 실제 데이터와 얼마가 차이가 나는지를 알려주는 지표로, 모델의 예측 성능을 평가하고 모델 선택 또는 파라미터 조정에 사용될 수 있다.

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

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

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

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

 

(1) 식에 다음과 같은 수식을 적용시키자

 

  • $E[(X-E[X])^2] = E[X^2 - 2X\cdot E[X] + E[X]^2] = E[X^2] - 2E[X]E[X] + E[X]^2 = E[X^2] - 2E[X]^2 + E[X]^2 = E[X^2] - E[X]^2$
  • $E[\epsilon] = 0$이며, $E[f(x)] = E[\hat{f}(x) + \epsilon] = E[\hat{f}(x)]$

 

그러면 다음과 같은 식이 도출된다.

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

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

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

 

(2) 식의 각 항은 다음과 일치한다. 

 

  1. $E[(\hat{f}(x) - f(x))^2] = E[(r-f(x))^2] = E[\epsilon^2]$ : real value의 variance
  2. $E[(f(x) - E[f(x)])^2] = E[(f(x) - g(x))^2]$ : Mean Squared Error

 

따라서 expected prediction error $= variance^2 + Mean Squared Error$로 나타낼 수 있다.

 

이제 여기서 Mean Squared Error(MSE)를 구해보자.

 

$$E[(E[r|x] - g(x))^2|x] = (E[r|x] - E[g(x)])^2 + E[(g(x) - E[g(x)])^2]$$

위의 식에서

  1. $E[r|x] = E[g(x)]$ : bias로, real value의 평균과 predicted value의 평균의 차(예측값과의 차이)이다.
  2. $E[(g(x) - E[g(x)])^2]$ : variance로, expected value가 얼마나 퍼져 있는지를 나타낸 것이다.

따라서 Mean Squared Error(MSE) $= Bias^2 + Variance$로 표현 가능하다.

 

 

※ 출처

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

 

머신러닝에서의 Bias와 Variance

gaussian37's blog

gaussian37.github.io

https://velog.io/@lolhi/Bias-Variance-trade-off

 

Bias-Variance trade-off

원래는 Regularized Linear Regression의 개념과 관련 알고리즘들(릿지회귀, 라쏘회귀, 엘라스틱 넷)에 대해서 공부를 하려고 했는데 그 전에 Bias-Variance trade-off에 대해 먼저 정리를 하고 Regularized Linear Reg

velog.io

https://bywords.tistory.com/entry/%EB%B2%88%EC%97%AD-%EC%9C%A0%EC%B9%98%EC%9B%90%EC%83%9D%EB%8F%84-%EC%9D%B4%ED%95%B4%ED%95%A0-%EC%88%98-%EC%9E%88%EB%8A%94-biasvariance-tradeoff

 

쉽게 이해해보는 bias-variance tradeoff

데이터에 기반한 modelling을 할 때 자주 나오는 개념인 bias-variance tradeoff. 중요하지만 헷갈릴 수 있는 개념인데 쉽게 정리된 글을 Quora에서 발견하여 번역하여 공유한다. 원문: How would you explain the b

bywords.tistory.com

 

'확률론' 카테고리의 다른 글

Bayes' Estimator  (0) 2023.01.25
Maximum A Posterior(MAP)  (0) 2023.01.24
Maximum Likelihood Estimation(MLE)  (0) 2023.01.10
Comments