* 이 내용은 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 |
---|