9. 최적화 지표와 만족 지표
9장에서는 여러 평가 지표를 결합하는 다른 방법을 소개합니다.
분류 정확성과 실행 시간이 알고리즘 성능 평가의 핵심 지표라고 가정해 보겠습니다. 다음 세 개 분류기 중에서 어떤 분류기가 가장 좋은 분류기일까요?
분류기 | 정확도(Accuracy) | 실행 시간(Running Time) |
---|---|---|
A | 90% | 80ms |
B | 92% | 95ms |
C | 95% | 1,500ms |
정확성과 실행 시간으로 다음과 같은 수식을 만들고 단일 평가 지표를 만드는 것은 조금 부자연스러운 것 같습니다.
$$ Accuracy - 0.5*RunningTime $$
평가 지표가 여러 개인 경우에 다음과 같이 방식을 사용할 수도 있습니다. 먼저 “허용 가능” 실행 시간을 정의합니다. 즉 100ms에서 실행되면 허용한다고 정의합니다. 그다음 실행 시간 기준을 만족한 분류기를 대상으로 정확도가 가장 큰 것을 선택합니다. 여기서 실행 시간은 “만족 지표(Satisficing metric)“입니다. 만족 지표에 실행 시간은 최대 100ms를 넘지 말아야 한다는 기준을 설정할 수 있습니다. 분류기는 이 지표를 만족해야 합니다. 정확성은 “최적화 지표”입니다.
만약에 모델의 바이너리 파일 크기(모바일 앱에서는 중요한 요소, 사용자는 크기가 큰 앱을 원치 않음), 실행 시간, 정확도와 같이 N개의 여러 기준을 다뤄야 한다면, N-1개 지표를 만족 지표로 설정하는 것이 좋습니다. 모델을 평가할 때, 모델은 충족 지표가 설정한 기준을 모두 만족해야 합니다. 그리고 마지막 남은 지표를 “최적화 지표”로 정의합니다. 예를 들어서 바이너리 파일 크기 및 실행 시간에 허용되는 임곗값을 설정하고, 이러한 제한 조건을 만족하는 모델중에서 정확도가 가장 높은 모델을 선택할 수 있습니다.
마지막으로 예로 음성인식 디비이스의 평가 지표를 만들어 보겠습니다. 마이크를 사용하여 특정 “웨이크워드(wakeword)”1를 말하는 사용자의 말을 듣고 시스템이 활성화되도록 하드웨어 장치를 구축한다고 가정합니다. 예를 들어 Amazon Echo가 “Alexa”라는 음성을 인식합니다. Apple Siri는 “Hey Siri”를 듣습니다. 안드로이드가 “Okay Google”을 인식하고, Baidu 애플리케이션은 “Hello Baidu”를 듣습니다. 이런 디바이스의 웨이크워드 엔진의 평가 지표를 만들 때, 거짓 양성비(false positive rate)와 거짓 음성비(false negative rate)를 고려해야 합니다. 여기서 거짓 양성비(false positive rate2)란 아무도 웨이크워드를 말하지 않았지만 시스템이 활성화되는 빈도를 의미하고, 거짓 음성비(false negative rate)는 웨이크워드를 말해도 시스템이 활성화되지 않는 빈도를 의미합니다. 이 시스템 성능에 대한 하나의 합리적인 목표는 24시간 작동 기준으로 1개 이상의 거짓 양성(만족 지표)이 발생하지 않는 것을 전제 조건으로 거짓 음성비(최적화 지표)를 최소화하는 것입니다.
이렇게 모델 최적화를 위한 명확한 평가 지표가 여러 충족 지표와 한개의 단일 숫자 평가 지표로 명확하게 정의되다면, 모델 개선 프로세스는 더 빨라 질 것입니다.
이 문서는 Andrew NG 교수님께서 집필 중인 Machine Learning Yearning의 9장 번역입니다. 원제는 “9. Optimizing and Satisficing metrics” 입니다. 원문 Ebook은 http://www.mlyearning.org [↗NW] 에서 내려받을 수 있습니다.
- <옮긴이> 웨이크워드는 휴면 장치를 활성화하기 위해서 사람이 말하는 단어 또는 문장을 의미합니다. 출처: https://en.wiktionary.org/wiki/wake_word [return]
- <옮긴이> 거짓 양성비(false positive rate)는 뒤는 모델의 출력(Positive)이고 앞은 모델의 출력의 맞고 틀림 여부입니다. 즉 거짓 양성비는 모델의 양성 판정중에 틀린 빈도를 의미합니다. 위 예제에서는 잘못된 시스템 활성화를 의미합니다. 거짓 양성비는 일종을 “오탐” 이라고도 합니다. 거짓 음성비(false negative rate)는 모델이 음성으로 출력한 것 증에 틀린 빈도를 의미합니다. 위 예제에서 웨이크워드를 인식하지 못해서 활성화 되지 않는 상태입니다. [return]