Note

[딥러닝] Bias, Variance 그리고 Bias-Variance Tradeoff

* 이 내용은 Cousera에서 수강중인 Andrew Ng 교수님의 강의 중, Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization 강좌를 보고 일부 정리 + 공부해 본 것입니다. 

* 예시와 그래프는 강의내용에서 발췌한 것으로, 그래프는 다시 그려보았습니다. 그래서 그래프의 형태가 정확하지 않을 수 있습니다. 


 

Bias & Variance  

 

  • Bias(편향)는 예측값과 정답의 차이를 의미한다. 즉 모델이 얼마나 잘 배웠는지, 얼마나 잘 맞추는지, 라고 할 수 있다.
  • Variance(분산)는 예측값들 사이의 차이를 의미한다. 예측값들이 일관되게 도출되는지, 혹은 반대로 얼마나 흩어져 있는지라고 볼 수 있을 것 같다.
  • 개인적으로는 Reliability랑 Validity와도 유사한 개념 같다.
  • 예를 들어 단순회귀를 통해 그릴 수 있는 선형회귀선처럼, 예측값들이 완전히 선형이라면 Variance는 (설령 Bias는 높을지라도) 낮은 것이다.
  • 과적합된 상태는 Variance는 높고, Bias는 낮다고 판단된다. 
  • 반대로 과소적합일 때는 Bias가 높다. 예측을 못하는 상태는 결국 예측값과 정답의 차이가 크다는 것이므로.  

 

[Example] Classification 문제의 결과가 다음과 같을 때, 각 결과에 대한 Bias/Variance를 판단해볼 수 있다. (base error가 0%에 가깝다고 가정)

  Case 1 Case 2 Case 3 Case 4
Train Set error 1% 15% 15% 0.5%
Dev Set error 11% 16% 80% 1%
Status High Variance
(Over Fitting)
High Bias
(Under fitting)
High Variance
High Bias
Low Variance
Low Bias 

 


 

Bias-Variance Tradeoff

 

이상적인 것은, Bias와 Variance가 둘다 낮은 최적의 상태를 찾아내는 것이겠지만, 실제 데이터에서는 굉장히 어렵기 마련이다. Bias가 떨어질 수록 Variance는 증가하고 Variance를 낮추려면 Bias가 높아지니 어느 정도는 타협하게 될 것이다. Validation Error도, Training Error도 너무 높지 않은 어딘가, 어느 정도 학습은 되었으나 과적합되지는 않은 적정선 어딘가까지 모델을 학습시켜야 한다.  

 

참고로 응 교수님의 말씀에 따르면, 기존에는 Bias-Variance Tradeoff가 중요한 문제였으나, 빅데이터의 시대가 본격적으로 도래하면서부터는 상대적으로 해결되었다고 볼 수 있다고 한다. 더 큰 규모의 네트워크로 Bias를 낮출 수 있고, 더 많은 데이터로 Variance를 낮출 수 있기 때문이다. 

 

 

 


 

'Note' 카테고리의 다른 글

Mac OS 영구 환경변수 설정  (0) 2022.09.14