[MLY 번역] 8. 팀의 효율을 위해 단일 평가 지수를 설계하라

정주안
MLY_KOREA
Published in
4 min readAug 30, 2018

[MLY 번역]

Andrew ng의 Machine Learning Yearning을 번역한 글입니다. 중간중간 실험가능한 내용이 있을 경우 c++ 혹은 tensorflow를 이용한 실험과 함께 업로드할 예정입니다. 일주일에 2회, 회당 5개씩 업로드될 예정입니다.

번역: 안현진,정주안

분류 정확도(classification accuracy)는 단일 평가 지수(single-number evaluation metric) 중 하나입니다: 여러분의 분류기를 이용해 디벨롭셋(혹은 테스트셋)을 분류하고, 올바르게 분류된 비율에 대한 단일 지수를 얻는 것이죠. 이 지수에 따르면, 어떤 분류기 A가 97%의 정확도를 가진다고 하고, 분류기 B는 90%의 정확도를 가진다고 하면 우리는 분류기 A를 더 훌륭하다고 평가합니다.

반대로, 정밀도와 재현율(Precision and Recall) 은 단일 평가 지수가 아닙니다: 이 지수들을 이용하면 분류기를 평가하기 위한 두가지 숫자가 주어집니다. 여러개의 지수를 이용해 알고리즘을 평가하는 것은 어려운 일이긴 합니다. 자, 여러분의 알고리즘이 다음과 같은 성능이라고 해봅시다.

정밀도는 디벨롭셋(혹은 테스트셋)에 대한 추측을 했을 때, 고양이 사진이라고 추측한 것들 대비 진짜 고양이 사진들의 비율입니다. 재현율은 전체 디벨롭셋중에 알맞게 고양이라고 추측한 것들의 비율입니다. 높은 정밀도와 높은 재현율을 동시에 이루기에는 트레이드 오프가 존재합니다.

이 자료를 보면 A와 B 둘중 어느 하나가 뛰어나다라고 결론짓기 애매한 부분이 있습니다.

개발하면서 여러분의 팀은 알고리즘 구조, 모델의 파라미터들, 기능(feature)의 선택등에서 아주 많은 아이디어를 시도해볼 것입니다. 정확도와 같은 단일 평가 지수를 이용하는 것으로, 수많은 아이디어를 평가하고 비교할 수 있습니다. 이는 곧 가장 좋은 방법을 빠르게 결정할 수 있도록 도와주죠.

여러분이 만약 정말로 정밀도와 재현율을 중요시한다면, 이 두 지수를 하나로 통합하는 표준 방식(standard way)을 이용해 단일 지수화하는 것을 추천합니다. 예를 들어, 어떤 분들은 정밀도와 재현율을 평균내서 단일 지수화할 수 있겠죠. 다른 방식으로는 ‘F1 score’라는 지수를 계산해낼 수 있습니다. 이는 평균내는 계산을 수정한 것으로, 단순히 평균 지수를 이용하는 것보다 더 효율적입니다.

F1 score에 대해 더 자세히 알고 싶다면 https://en.wikipedia.org/wiki/F1_score 를 참조하세요. 약간 설명하자면 정밀도와 재현율간의 조화평균(harmonic mean)으로, 2/((1/정밀도)+(1/재현율)) 로 계산됩니다.

수많은 분류기중 하나를 선택해야 할 때, 단일 평가 지수를 이용하는 것은 여러분이 결정을 빠르게 내리도록 도와줄 것입니다. 단일 평가 지수는 분류기들을 순위짓는 명백한 선호도를 의미할 수 있고, 그러므로 작업 진행의 명백한 방향을 지시해줄 수 있습니다.

마지막 예제로써, 네개의 고양이 앱 시장 — US, China, India and Others — 에 대해 각각 별개로 여러분의 고양이 사진 분류기를 적용해서 그 정확도를 추적한다고 가정해봅시다. 네개의 평가 지수가 나오겠죠. (US에서의 정확도, China에서의 정확도, … ) 이 네개의 숫자를 평균내거나 가중평균해서 나온 값으로 단일 평가 지수를 얻을 수 있습니다. 이렇게 평균법과 가중평균법은 가장 흔히 쓰이는 방식중 하나입니다.

--

--