티스토리 뷰

Study/AI

[MLY] Bias, Variance, Data mismatch 오류 확인하기

생각많은 소심남 2018. 10. 5. 09:57

 만약 고양이를 인식하는 작업에서 인간이 거의 완벽에 가까운 성능(0%대의 오류)를 보여줬고, 이상적인 오류율도 0%이다. 지금 상태에서 당신이 가지고 있는 지표가 다음과 같다고 가정해보자:

 - 학습 데이터 상에서의 1%의 오류

 - 학습 개발 데이터 상에서의 5%의 오류

 - 개발 데이터 상에서의 5%의 오류

 이 결과가 무엇을 의미할까? 여기서는 high variance를 가지고 있는 것을 알 것이다. 앞에서 소개한 variance를 제거하는 방법을 사용하면, 성능이 좋아질 것이다.

 이제 알고리즘이 다음의 지표를 가진다고 가정해보자:

 - 학습 데이터 상에서의 10%의 오류

 - 학습 개발 데이터 상에서의 11% 오류

 - 개발 데이터 상에서의 12% 오류

이건 학습 데이터 상에 높은 avoidable bias가 있는 것을 의미한다. 다시 말해, 알고리즘이 학습 데이터 상에서 잘 동작하지 않는 것이다. 이때는 bias를 제거하는 방법이 도움이 될 것이다.

 앞의 두가지 예제에서, 알고리즘은 높은 avoidable bias나 높은 variance에 의해서 성능 저하가 일어나고 있다. 높은 avoidable bias나 높은 variance, 데이터 불일치로 인해서 알고리즘의 성능이 저하되는 경우가 있다. 예를 들어:

 - 학습 데이터 상에서의 10% 오류

 - 학습 개발 데이터 상에서의 11% 오류

 - 개발 데이터 상에서의 20% 오류

위와 같은 경우, 알고리즘은 높은 avoidable bias와 data mismatch로 인해 성능 저하가 발생하고 있다. 그런데 이 경우는 학습 데이터 분포 상에서 높은 variance 영향은 받지 않고 있다.

 아래와 같이 서로 다른 오류가 서로 간에 어떤식으로 연관이 있는지를 테이블화 해놓으면 이해하기 쉬울 것이다.:

 

Distribution A:
인터넷 이미지 + 모바일 이미지 

Distribution B:
모바일 이미지만 

Error Type

Human Level 

"Human Level Error"
(0%) 

 

Avoidable Bias 

알고리즘에 의해
학습된 데이터 상에서
발생하는 오류 

"Training Error"
(10%) 

 

Avoidable Bias
+
Variance 

 알고리즘에 의해
학습되지 않은 데이터에서
발생하는 오류

"Training Dev Error"
(11%) 

"Dev-Test Error"
(20%) 

Variance 

 Error Type

Data Mismatch 

 

고양이 분별기 예제로 다시 돌아가 보면, 아마 x 축상으로 두개의 다른 분포(Distribution A, Distribution B)가 있는 것을 볼 수 있을 것이다. y축 상으로는 3가지 오류 타입이 있다: 인간한테 발생할 수 있는 오류, 학습된 데이터 데이터상에서의 오류, 그리고 학습 되지 않은 데이터 상에서 발생한 오류 등이 있다. 각 박스 별로 이전에 다뤘던 오류 종류를 기입할 수 있다.

 원한다면, 화면상에서 비어있는 공간에도 기입을 할 수 있다.  오른쪽 상단에 있는 공란(모바일 이미지 상에서 인간상의 오류)에다가는 모바일 고양이 이미지를 인간에게 보여줘서 그 오류를 측정함으로써 기입할 수 있다. 아래의 공란에서는 일단 모바일 데이터(B 분포를 띔)를 가져다가 학습 데이터의 일부를 분리해서 신경망에게 학습시킨다. 그 후에 학습 데이터에 대해서 학습 모델에 대한 오류를 측정할 수 있고, 이 값을 공란에 기입할 수 있다. 이렇게 두개의 공란을 채움으로써, 알고리즘이 서로 분포의 데이터(A 분포 데이터와 B 분포 데이터)상에서 어떻게 동작하는지에 대해서 알 수 있게 된다.

 가장 알고리즘의 성능을 저하시키는 오류의 종류를 이해함으로써, 우리가 bias를 제거해야 할지, variance를 제거해야 할지, 또는 data mismatch를 제거해야 할지를 결정할 수 있게 된다.

< 해당 포스트는 Andrew Ng의 Machine Learning Yearning 중 chapter 41. Identifying Bias, Variance, and Data Mismatch Errors를 번역한 내용입니다.>

댓글