F-score에서 β의 역할
Recall과 Precision의 조화평균인 F-score에서는 β 값을 통해, Recall과 Precision 중 어떤 값을 더 중요하게 관찰할 것인지를 결정한다.
조금 더 구체적으로,
β>1인 경우 Recall을 더 중요하게,
β<1인 경우 Precision을 더 중요하게 여기는 F-score가 된다는 것 또한 익히 알려져 있다.
그러나, 왜 β값에 따라, 위와 같은 로직으로 F-score가 작동하는지에 대한 친절한 설명은 찾기 어려워서 글을 쓰기 시작했다.
먼저, F-score의 근간이 되는 조화 평균의 개념을 간단히 살펴보고,
이를 F-score와 연결지어, β값에 따른 F-score의 변화를 이해할 것이다.
(아무런 이해 없이, 단순히 암기하면 까먹는다 무조건)
1. 조화 평균
F-score는 다들 알고 있는 것처럼 Recall과 Precision으로 구성된 조화 평균이다.
그러므로, 조화 평균의 개념을 먼저 파악하는 것이 중요할 듯 싶다.
정의: 주어진 수들의 역수의 산술평균의 역수
- 처음 들으면 조금 곤란한 워딩의 연속인데, 천천히 읽어보면 그리 어려운 개념은 아니다.
예시
주어진 n개의 수 a1,a2,...,an이 있다고 하자.
다시 돌아가서 조화 평균의 정의를 읽어보면, ‘주어진 수들의 역수의 산수평균의 역수’
- 우리는 여기서,
주어진 수들의 역수까지만 먼저 보자
- 주어진 수들의 역수: a11,a21,...,an1
- 그럼 이제 정의에 조금 더 가까워져 보자.
‘주어진 수들의 역수의 산수평균’
- 주어진 수들의 역수의 산수평균: (a11+a21+⋯+an1)/n
- 마지막이다.
‘주어진 수들의 역수의 산수평균의 역수’
- n/(a11+a21+⋯+an1)
사실 크게 봐야 와 닿는다.
조화 평균의 수식
H=a11+a21+⋯+an1n
2. F-score에 적용
이제 위에서 ai라고 칭했던 주어진 수가 Precision과 Recall로 바뀐 것 뿐이다.
F-score: 예시 1
주어진 수: Precision, Recall
H=Precision1+Recall12
여기서, 분모﹒분자에 Precision과 Recall을 곱하면 아래와 같아진다.
H=Precision+Recall2⋅Precision⋅Recall=F1-score
→ 우리가 알던 F1-score 식이다.
F-score: 예시 2 (확장)
방금의 예시에서는 ‘주어진 수’가 Precision, Recall 각각 1개였다.
이번 예시에서는 Precision이 1개, Recall이 β2개라고 해보자.(즉, Recall에 β2만큼의 가중치를 부여해보자)

여기서도, 분모﹒분자에 Precision과 Recall을 곱하면 아래와 같다.
H=(1+β2)⋅β2⋅Precision+RecallPrecision⋅Recall=Fβ-score
직관과 연결
Recall에 β2만큼의 가중치를 부여한 식이 위와 같을 때, β2의 값을 바꿔가며 생각해보자.
다시 한 번 말하자면, 우리는 Precision이 1개, Recall이 β2개에 대한 조화 평균을 구한 것이다.
CASE 1: β>1
e.g., β=2인 경우
- 즉, Precision이 1개, Recall이 22=4개인 경우다. Recall을 더 중점적으로 보는 조화 평균 값이라는 건 이제 너무나도 직관적으로 알 수 있다.
CASE 2: β<1
e.g., β=0.1인 경우
- 즉, Precision이 1개, Recall이 (0.1)2=0.01개인 경우다. 여기서는 Precision을 더 중점적으로 보는 조화 평균 값이라는 것 또한 너무나도 직관적.
CASE 3: β=1
e.g., β=1인 경우
- 즉, Precision이 1개, Recall도 1개인 경우다. 여기서는 Precision과 Recall을 동등하게 구한 조화 평균 값이라는 것 또한 너무나도 직관적.
끝.