티스토리 뷰

Study/AI

[MLY] Bias와 Variance의 예시들

생각많은 소심남 2018. 9. 10. 22:10

 이전에 다뤘던 고양이 분류기를 보자. (인간과 같은) "이상적인" 분류기는 거의 완벽하게 고양이를 분류할 수 있어야 한다. 

 만약 개발한 알고리즘이 다음과 같이 동작한다고 보자:

 - 학습 오류 = 1%
 - 개발 오류 = 11%

 여기엔 어떤 문제가 있을까? 이전 포스트에서 다룬 정의를 적용해보면, bias는 1% 이고, variance는 10%(11% - 1%) 라는 것을 알 수 있다. 결국 이건 high variance 특성을 띈다. 이 분류기는 매우 낮은 학습 오류를 가지지만 개발 데이터를 일반화시키기 어렵다. 이를 보통 overfitting이라고 부른다.

 이제 다음과 같은 결과를 보자:

 - 학습 오류 = 15%
 - 개발 오류 = 16%

이때 bias는 15%, variance는 1%로 계산할 수 있다. 해당 분류기는 학습 데이터에 대해서는 15%의 오류를 가지는, 별로 안 좋은 성능을 보인다. 그런데 개발 데이터에 대한 오류는 학습 오류에 비해서 그렇게 많이 높지 않다. 이 분류기는 high bias를 가지지만, low variance를 가진다. 이런 경우를 알고리즘이 underfitting되었다고 표현한다.

 다음 결과를 살펴보자:

 - 학습 오류 = 15%
 - 개발 오류 = 30%

이 때 bias는 15%, variance는 15%이다. 이 분류기는 high bias와 high variance를 가지는데, 학습 데이터에 대해서는 잘 동작하지 않으므로 high bias를 가진다고 볼 수 있다. 그리고 개발 데이터에서의 성능은 더 안좋기 때문에 이때는 high variance라고 할 수 있다. 이 분류기가 급격하게 overfitting될 수도 있고, underfitting될 수도 있기 때문에 앞에서 다뤘던 overfitting/underfitting 정의를 적용하기 어렵다.

 마지막 결과를 살펴보면:

 - 학습 오류 = 0.5%
 - 개발 오류 = 1%

이때는 분류기가 잘 동작한 것이고, 낮은 bias와 낮은 variance를 가진다. 이렇게 좋은 성능을 얻은 것을 축하해줘라

< 해당 포스트는 Andrew Ng의 Machine Learning Yearning 중 chapter 21. Examples of Bias and Variance을 번역한 내용입니다.>

댓글