UIUC CS410 — 텍스트 검색 시스템 평가하기 — F-Measure

Wonhee Jung
Sep 5, 2018 · 4 min read

CS410 3주차 내용 중 나옴.

검색 시스템 A와 B가 있다고 하자. 전체 문서는 100개가 있고, 이 두 시스템의 검색 성능을 평가하기 위해서 검색을 했는데, 전체 100개의 문서 중 실제로 해당 쿼리와 연관있는 문서는 10개가 있다고 해보자.

A는 3개의 결과를 리턴했는데 확인해 보니 그 중 2개가 실제로 연관있는 문서였고, B는 5개의 결과를 리턴했는데 확인해 보니까 3개가 실제로 연관있는 문서였다. 그럼 어느 시스템이 더 정확한 시스템인가? 결과 3개중 2개가 연관있는 문서였으니 정확도 2/3으로 A가 나은 시스템인가?

System A precision : 2 / 3
System B precision : 3 / 5

아니면 비록 3/5로 전체 리턴결과에 대한 정확성은 A보다 낮지만 전체 관련문서 10개 중 겨우 2개만 찾아낸 A보다 3개를 찾아낸 B가 정확한 시스템인가?

System A recall : 2 / 10
System B recall : 3 / 10

즉 여기서

라고 할 때

Precision = a / ( a + c )

, 그리고

Recall = a / ( a + b )

이다.

이상적인 시스템이라면 precision = recall = 1.0 이 최고. 즉 검색을 했더니 검색엔진이 실제로 존재하는 모든 관련 문서를 리턴하고, 리턴된 내용을 봤더니 실제로 이 문서들이 모든 관련된 문서인 경우.

아무튼 그래서 이 두개의 각각 다른 지표가 있는데, 둘 다 어느 한쪽으로는 맞고 어느 한쪽으로는 뭔가 좀 약한 것 같다. precision은 사용자에게 리턴된 검색결과 중 몇개의 문서가 정말 관련있는 문서였느냐 하는 것이고 recall은 실제로 검색엔진이 색인하고 있는 관련문서 중에 얼마나 많은 문서가 사용자의 검색결과로 리턴되었냐 하는 것이니깐. 그럼 이 두개의 지표를 합쳐서 표시해 주는 방법은 없을까?

그래서 나온게 F-measure. p = precision, r : recall, b : 파라메터(1로 세팅되는 경우가 많음 ) 라고 할 때

이런 식으로 되는데 보면 b를 그냥 1로 세팅해버리면

F1 = 2PR / (P + R)

이라는 식이 나온다. 이게 그냥 여기서만 나오는 거 같지만 아니다. 어엿하게 F1 score라고 해서 통계학에서 binary classification을 할때( 이쪽 아니면 저쪽, 흑백 나누기, 내편니편 나누기 등등 ) 과연 이 결과가 얼마나 정확한지를 측정하기 위한 방법으로 사용된다. (출처 : https://en.wikipedia.org/wiki/F1_score) 심지어는 머신러닝에서도 해당 알고리즘의 정확도를 측정하기 위해 쓰인다? (머신러닝에도 classification이라고 해서 있죠잉~) 역시 모든게 연결되는 게 수학의 장점이자 단점(모르는 걸 찾아보면 고구마 뿌리 나오든 계속 줄줄이 엮여 나오니깐… )

아무튼, 여기서 나올법한 지극히 당연한 질문

 왜 그냥 (P + R) / 2 로 해서 산술평균을 안내고 이렇게 복잡하게 해요?

이유는 바로 산술평균의 경우 numerator(분자)에 들어가는 factor 중 특정값의 크기가 큰 경우(여기서는 P또는 R) 다른 나머지 값은 결과에 아주 영향을 미치게 되어버리고 평균의 결과값이 factor중 큰 값에 의해 dominated되어버리기 때문이다.

하지만 이것도 항상 이 F-measure를 써야 한다 뭐 이런게 아니고 시스템을 평가하는 데 있어 F-measure가 더 말이 되면 이걸 쓰고 그게 아니라 산술평균이 더 말된다 싶으면 그쪽을 쓰는 거다. CS410들으면서 나오는 거의 모든 수식과 지표에서 듣는게 “it depends”.

이번엔 여기까지.

Written by

Daughter's daddy, husband, lifelong gamer and learner. Senior Software Engineer@Blizzard Entertainment and studies for master’s degree in CS@UIUC.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade