[Machine learning] Evaluating metric 의 역할 및 설정하는 방법
머신러닝의 프로세스에는 1) 아이디어를 설정하고, 2) 특정 아이디어를 시도해보고, 3) 그 아이디어가 목적에 맞는 것이었는지 확인하는 단계가 있다. 아이디어를 구체화 할 수 있는 알고리즘 모델이 문제를 푸는 데 있어서 적절한 것인지, 성능을 평가하기 위해서 평가 지표(Evaluating metric)를 사용한다. 어떤 알고리즘이 우수한지 가늠하기 위해서 보통은 하나의 평가 지표를 사용하고자 하며, 머신러닝 영역에서는 정밀도(Precision)와 재현율(Recall)의 조화 평균인 F1 score을 사용한다. 그러나, 하나의 평가 지표만으로 하나의 알고리즘을 선택하기가 어려울 수 있다. 모델을 만들거나 모델을 실제 응용 분야에서 활용하는데 있어서 영향을 미치는 외적 조건들을 최소한으로 만족시켜야 하는 경우다. 이런 제약 조건을 만족지표(satisficing metrics)이라고 한다. 모델을 학습시키거나, 모델이 한 번 아웃풋을 산출하는데 걸리는 러닝 타임이나 모델이 차지하는 메모리 사이즈가 이에 해당하는 예시라고 할 수 있다. 연구자는 정확도(Accuracy)나 F1 score의 평가 지표에 해당하는 최적화 지표(Optimizing metirc)뿐만이 아니라 만족 지표(satisficing metrics)를 반영하는 알고리즘 랭킹식을 만든다. "정확도(Accuracy) - 0.5*(learning time)"와 같은 식이 이에 해당하는 평가 지표라고 할 수 있다.
평가 매트릭은 문제 상황에 따라서 설정해야 한다. 예를 들어서, 스마트 스피커를 특정 명령어로 활성화 시키는 경우, 즉, '시리야' 혹은 '헤이 구글'로서 스피커와 대화를 시작해야 한다. 스마트 스피커를 제작하는 입장에서, '시리'에만 반응하도록 스피커를 설계하는 것이 중요한다면, False positive가 적어지도록 해야 한다. 이 경우, 다음의 메트릭이 최적의 알고리즘을 선택하는데 있어서 사용될 수 있다. 여러 가지의 알고리즘 중에서 하나를 선택하기 위해서 최소한의 만족지표로서 24시간 내에 1개의 False positive만 허용하도록 설정한 후, 정확도가 높은 알고리즘을 선택하는 것이다.
만약, 가장 중요한 문제점을 평가 매트릭이 포괄하지 못한다면, 그 평가 매트릭은 다른 것으로 수정되어야 한다. 특정 유저에게 고양이 사진을 추천해줘야 한다는 상황이라고 가정하자. A모델은 dev dataset에서 고양이 사진을 오분류율이 3%이고, B모델에서는 오분류율이 5%이다. 하지만, A 모델이 분류하는 사진 중에는 간혹 포르노 사진을 포함한다. 유저 입장에서는 고양이 사진이 아닌 강아지 사진, 건물 사진, 인물 사진을 추천 받아도 느낄 불쾌감이 크지 않을 수 있지만, 포르노 사진의 경우에는 다르다. 특정 서비스를 사용하지 않게 되는 결정적인 요인일 수 있기에, 단순히 오분류율로 특정 모델을 선정할 수 없다. 이 경우, 특별하게 포르노 사진을 오분류 하는 경우 비용함수의 값이 커지도록 하거나,혹은 오분류하는 값이 커지도록 해야 한다.
출처 ;
Andrew Ng의 Satisficing and Optimizing metric 강의 내용