티스토리 뷰

Study/AI

[MLY] 학습 곡선 분석 : high bias

생각많은 소심남 2018. 9. 23. 12:51

 개발 데이터 오류 곡선이 아래와 같이 생겼다고 해보자:

이전에도 언급했었지만, 만약 개발데이터에 대한 오류 곡선이 위와 같이 안정화되어 있다면, 데이터를 추가해도 원하는 성능을 얻어내기 힘들 것이다.

 하지만 빨간색의 개발 데이터 오류 곡선이 최종적으로 어떻게 형성될 지에 대해서는 정확히 알기 어렵다. 만약 개발 데이터가 작다면, 학습 곡선에 대해서 오차가 존재하기 때문에 뭔가 확실성을 갖기 어려울 것이다.

 이 그래프에다가 학습데이터 오류 곡선을 추가해보면 아래와 같다.

 이제는 데이터를 추가하는 것만으로는 충분하지 않다는 것을 확실히 알 수 있을 것이다. 왜 그럴까? 두가지 시사점에 대해서 기억해보자:

 - 우리가 학습 데이터를 더 추가해도 학습 오류는 더 심해질 수 있다. 그렇기에 파란색의 학습 오류 곡선은 현상태를 유지하거나 더 커질 것이고, 우리가 추구하고자 하는 (초록색의) 성능에서 더 멀어질 것이다.

 - 빨간 개발 데이터 오류 곡선은 일반적으로 파란 학습 오류 곡선보다 크다. 그렇기 때문에 학습 오류가 우리가 원하는 성능보다 높은 경우에는 데이터를 더 추가해도 빨간색 개발 데이터 오류 곡선이 원하는 오류 이하의 성능을 얻는 방법이 거의 없다.

 이렇게 개발 데이터 오류 곡선과 학습 오류 곡선을 한 그래프상에서 함께 확인하는 것은 개발 데이터 오류 곡선의 발산 정도를 조금더 확실하게 분석할 수 있다.

 만약 원하는 목표치가 이상적 오류율 추정이라고 가정해보자. 그러면 위에 나와 있는 그림은 일반적인 책에 나오는 high avoidance bias를 가지고 있는 학습 곡선의 예라고 볼 수 있다. 많은 학습 데이터를 가지고 있는 상태에서 학습 오류와 원하는 목표치와는 어느 정도 갭이 발생하는데, 이건 큰 avoidance bias를 나타낸다. 게다가 학습 곡선과 개발 곡선간의 차이가 작을 경우에는 variance가 작다는 것을 나타낸다.

 이전에 언급하기론 가능한한 많은 학습 데이터를 사용한 상태에서 그림을 통해서는 학습 데이터 오류와 개발 데이터 오류만 잴 수 있다고 했었다. 그런데 위와 같이 학습 곡선과 관련한 모든 것을 출력해보면 학습 데이터 크기에 따라서 알고리즘의 성능을 비교하는데 조금더 용이할 수 있다.

< 해당 포스트는 Andrew Ng의 Machine Learning Yearning 중 chapter 30. Interpreting learning curves: High bias을 번역한 내용입니다.>

댓글