티스토리 뷰

Study/AI

[MLY] 학습 데이터 상에서의 오류 평가

생각많은 소심남 2018. 9. 14. 08:40

 개발/테스트 데이터 상에서 잘 동작하기를 기대하기 전에 먼저 학습 데이터 상에서 알고리즘이 잘 동작해야 한다.

 이전에 다뤘던 high bias 문제를 해결하는 방법에 덧붙여서, 나는 때때로 eyeball dev set에서 수행하는 오류 평가와 비슷한 형태를 가진 오류 평가를 학습 데이터 상에서도 수행해본다. 만약 지금 사용하고 있는 학습 데이터가 high bias를 가진다면 이런 방법은 유용하게 쓰일 것이다. 예를 들어 만든 알고리즘이 학습 데이터에 맞지 않은 경우 말이다.

 예를 들어, 지금 음성 인식 시스템을 만들고 있고, 지원자로부터 학습 데이터로 쓰일 음성 데이터를 모았다고 가정해보자. 만약 지금 만든 시스템이 학습 데이터 상에서 잘 동작하지 않고 있다면, 학습 데이터 상에서 주로 발생하는 오류의 카테고리를 이해하기 위해서 100개 정도의 샘플을 들어볼 필요가 있다. 개발 데이터에서 취하는 오류 평가와 유사하게, 각각의 카테고리 별로 오류의 횟수를 측정해볼 수 있다.

Audio Clip 

 배경 소음이 큰 경우 

빠르게 이야기 하는 경우 

마이크로부터 멀리 떨어져서 녹음된 경우 

기타 

 1

 

 

차 소음 

 

식당 소음 

 

거실에서 누군가가 소리를 지르고 있음 

 

 

커피샵 

비율 

75% 

25% 

50% 

 

 위의 예제에서 보면 수많은 배경 소음으로 인해서 알고리즘이 학습 데이터 상에서 잘 동작하지 않는다는 것을 알 수 있다. 이런 경우 배경 소음이 있는 학습 데이터 상에서 잘 동작하는 방법에 대해서 초점을 맞춰볼 필요가 있다.

 학습 데이터를 알고리즘에 넣어보는 것과 동일한 방식으로 사람에게도 해당 데이터를 줘서 정확히 판단이 가능한지 여부를 여러번 확인해봐야 한다. 만약 배경 소음이 너무 많아서 어느 누구도 해당 데이터에 대해서 판단할 수 없는 경우라면, 방언과 같은 말을 정확히 인식하는 알고리즘을 기대하기 어렵다. 추후에 인간과 알고리즘을 비교하면서 얻을 수 있는 이점에 대해서 논의해보고자 한다.

< 해당 포스트는 Andrew Ng의 Machine Learning Yearning 중 chapter 26. Error analysis on the training set을 번역한 내용입니다.>

댓글