Bias/Variance (C2W1L02)
편향(Bias)과 분산(Variance)에 대한 개념을 알고 훈련 세트와 개발 세트의 오차를 통해 편향과 분산이 어떤지를 알아보고 추후 연구에 적용시켜볼 수 있도록 할 수 있다.
먼저 고양이를 분류하는 경우를 가정하자.
고양이는 \( y = 1 \), 개는 \( y = 0 \)
높은 분산(high variance)
훈련 셋에서 에러률이 1%이고, 개발 셋에서는 11%라고 해보자.
따라서 이 같은 예제에서 훈련 셋에서는 매우 잘 분류됐지만 상대적으로 개발 셋에서는 잘 분류되지 못한 경우이다.
즉, 훈련 셋에 과대적합(Overfitting)이 되어서 개발 셋에서 일반화되지 못한 경우이다.
따라서 이런 경우의 예제는 높은 분산(high variance)을 갖는다고 말한다.
높은 편향(high bias)
다음은 훈련 셋에서 에러률이 15%이고, 개발 셋에서는 16%라고 해보자.
이 경우에 인간은 0% 에러률이니 이 알고리즘은 훈련 셋에 대해서도 잘 작동되지 않는 것처럼 보인다.
훈련 데이터에 대해서도 잘 맞지 않는다면 데이터에 과소적합(Underfitting)한 것이다.
반면에 이것은 합리적인 수준의 개발 셋에서 일반화되고 있다. 개발 셋의 성능이 훈련 셋보다 1% 밖에 나쁘지 않으니까
따라서 이 알고리즘은 높은 편향(high bias)을 갖는다.
높은 편향(high bias) & 높은 분산(high variance)
다음은 훈련 셋에서 에러률이 15%이고, 개발 셋에서는 30%라고 해보자.
훈련 셋의 에러률이 15%이니 높은 편향을 갖는다라고 할 수 있고, 개발 셋의 에러률이 더 나쁜 30%이므로 높은 분산도 갖는 최악의 경우이다.
낮은 편향(low bias) & 낮은 분산(low variance)
다음은 훈련 셋에서 에러률이 0.5%이고, 개발 셋에서는 1%라고 해보자.
오직 1%의 오차만 있기 때문에 고양이 분류기로 만족스러운 결과이다. 이 분류기의 편향과 분산이 낮기 떄문에 low bias, low variance이다.
이 분석은 인간 수준의 성능이 거의 0%라는 가정에 근거한다. 더 일반적으로는 최적의 오차, 가끔은 베이즈 오차라고 불리는 베이즈 최적 오차가 거의 0%라는 가정이다.
최적 오차 혹은 베이즈 오차가 더 높은 경우에 예를 들면 15%인 경우에 2번째 예시의 훈련 셋 오차가 15%인 것은 아주 합당하다. 그렇다면 높은 편향이라고 부르지 않고 낮은 분산이라고 말하게 된다.
마무리
어떤 분류기도 잘 작동하지 않을 경우 편향과 분산을 분석해야 한다.
예를 들어 이미지가 아주 흐릿해서 인간 혹은 그 어떤 시스템도 잘 분류하지 못하는 경우에는 베이즈 오차는 훨씬 커질 것이고 이 분석에 대한 세부 방식은 달라질 것이다.
그러나 이 세부 사항과는 별개로 중요한 것은 훈련 세트 오차를 확인함으로써 최소한 훈련 데이터에서 편향 문제가 있는지, 얼마나 알고리즘이 적합한지에 감을 잡을 수 있다는 것이다.
훈련 세트에서 개발 세트로 갈 때 오차가 얼마나 커지는지에 따라서 분산 문제가 얼마나 나쁜지에 대한 감을 잡을 수 있다.
훈련 세트에서 개발 세트로 일반화를 잘 하느냐에 따라 분산에 대한 감이 달라진다.
이 모든 것은 베이즈 오차가 꽤 작고 훈련 세트와 개발 세트가 같은 확률 분포에서 왔다는 가정하에 이루어진다.
References
https://www.youtube.com/watch?v=SjQyLhQIXSM&list=PLkDaE6sCZn6Hn0vK8co82zjQtt3T2Nkqc&index=2
[Andrew Ng] Course 2 of the Deep Learning Specialization 강의 - Part 1(1 - 8)
Andrew Ng 박사님의 딥러닝 강의 영상을 보며 공부하고 정리하며 작성한 요약 정리 글입니다.
velog.io