MLY:08. 최적화에 사용되는 단일 숫자 평가 지표



분류 정확도는 단일 평가 지표(single-number evaluation metric)의 예입니다. 개발 세트(또는 테스트 세트)에서 분류기를 실행하고 정확하게 분류한 데이터 비율을 한 개 숫자로 반환합니다. 이 측정 기준에 따라 분류기 A가 97%의 정확도를 얻고, 분류기 B가 90%의 정확도를 얻었다면, 분류기 A가 더 우수하다고 판단할 수 있습니다.

이와는 대조적으로 정밀도(Precision)와 재현율(Recall)1은 단일 숫자 평가 지표가 아닙니다. 분류기를 평가하기 위해서 숫자 두 개가 필요합니다. 여러 평가 지표를 사용하면, 알고리즘을 비교하는 것이 더 어려워집니다. 알고리즘이 다음과 같이 수행된다고 가정해 보겠습니다.

Classifier 정밀도(Precision) 재현률(Recall)
A 95% 90%
B 98% 85%

여기서 두 분류기 모두 명확하게 우세하다고 말하기 어렵습니다. 따라서, 바로 하나를 선정하지 못했습니다.

Classifier Precision Recall F1 score
A 95% 90% 92.4%

개발 단계에서, 개발팀은 알고리즘 아키텍처, 모델 파라미터, 피처 선택 등 많은 아이디어를 적용해 볼 것입니다. 정확도(Accuracy) 같은 단일 숫자 평가 지표(single-number evaluation metric)를 사용하면, 이 지표의 성능에 따라 모든 모델을 정렬할 수 있습니다. 이 결과로부터 어떤 것이 가장 잘 작동하는지 신속하게 결정할 수 있습니다.

정밀도와 재현율에 대해 정말로 고민한다면, 이 두 지표를 하나로 결합하는 표준화 기법을 사용할 것을 추천합니다. 예를 들어서 정밀도와 재현율의 평균을 구해서 단일 숫자 평가 지표로 만들 수 있습니다. 또는 평균을 계산하는 수정 된 방법인 “F1 점수”2를 계산할 수 있으며 단순히 평균을 취하는 방법보다 이 방식이 더 효과적입니다.

Classifier Precision Recall F1 score
A 95% 90% 92.4%
A 98% 85% 91.0%

단일 숫자 평가 지표를 사용하면 많은 분류기 중에서 선택해야 할 때 결정을 내리는 속도가 빨라집니다. 단일 숫자 평가 지표는 여러 분류기 사이에 명확한 선호 순위를 부여합니다. 따라서, 성능 개선에 대한 명확한 방향을 제시합니다.

마지막 예를 들어, (i) 미국, (ii) 중국, (iii) 인도 및 (iv) 기타의 네 가지 주요 시장에서 고양이 분류기의 정확도를 개별적으로 추적한다고 가정합니다. 이 방식은 네 개의 지표를 제공합니다. 이 네 가지 숫자의 평균 또는 가중 평균을 취하면 단일 숫자 평가 지표로 변환할 수 있습니다. 평균 또는 가중 평균을 취하는 것은 여러 지표를 하나로 결합하는 가장 일반적인 방법 중 하나입니다.

이 문서는 Andrew NG 교수님께서 집필 중인 Machine Learning Yearning의 8장 번역입니다. 원제는 “8. Establish a single-number evaluation metric for your team to optimize” 입니다. 원문 Ebook은 http://www.mlyearning.org 에서 구독할 수 있습니다.


  1. 고양이 분류기의 정밀도(Precision)는 개발(또는 테스트) 세트에서 고양이로 분류한 것 중에서 실제로 고양이인 이미지 백분율입니다. 재현율(Recall)이란 개발(또는 테스트) 세트에 모든 고양이 이미지 중에서 정확하게 고양이로 분류된 백분율입니다. 높은 정밀도와 높은 리콜 사이에는 종종 상충 관계가 있습니다. [return]
  2. F1 점수에 대해 더 자세히 알고 싶으면 https://en.wikipedia.org/wiki/F1_score를 참조하십시오. 정밀도(Precision)와 재현율(Recall) 사이의 조화평균(harmonic mean)이며 $\frac{2}{\frac{1}{Precision} + \frac{1}{Recall}}$로 계산됩니다. [return]
김태완 avatar
작성자: 김태완
1999년 부터 Java, Framework, Middleware, SOA, DB Replication, Cache, CEP, NoSQL, Big Data, Cloud를 키워드로 살아왔습니다. 현재는 빅데이터와 Machine Learning을 중점에 두고 있습니다.
E-mail: taewanme@gmail.com