본문 바로가기
AI

[Metric] Recall과 Precision

by Ladun 2021. 10. 3.

딥러닝뿐만 아니라 머신러닝을 배우다 보면 모델의 성능을 평가하는 지표가 자주 나옵니다. 이 글에서는 모델을 평가하는 지표 중에서 가장 대표적이라고 할 수 있는 지표들에 대해서 살펴봅니다.

Confusion Matrix

모델에 대한 평가는 일반적으로 실제 정답과 모델이 내놓은 정답간의 관계를 통해서 구할 수 있습니다. 정답이 True, False로 나누어져 있고, 모델이 True, False로 답을 내놓을 때 이에 대한 관계를 2x2 matrix로 표현하면 아래와 같은 표로 표현할 수 있습니다.

Confusion Matrix

matrix의 간 칵에 있는 것을 살펴보면 다음과 같이 볼 수 있습니다.

  • True Positive(TP): 실제 True이고 모델이 True라고 분류한 경우 ( 정답 )
  • False Positive(FP): 실제 True이지만 모델이 False라고 분류한 경우 ( 오답 )
  • False Negative(FN): 실제 False이지만 모델이 True라고 분류한 경우 ( 정답 )
  • True Negative(TN): 실제 False이고 모델이 False라고 분류한 경우 ( 정답 )

즉, True가 앞에 붙어 있는 것은 정답이라고 보면 됩니다. True xxx라는 말 자체가 xxx가 맞다라고 생각하면 편합니다.

 

Precision(정밀도)

Precision이란 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율입니다. Positive 정답률, PPV(Positive Predictive Value)라고도 불립니다. 식으로 표현하면 아래와 같습니다.

$$\text{Precision} = \cfrac{TP}{TP + FP}$$

예를 들어, 강아지-고양이 분류 모델이 고양이로 예측했는데, 실제로 고양이인지를 보는 지표입니다.

이를 위 표에서 보면 아래 파란색으로 동그라미 친 부분이 됩니다.

Recall(재현율)

Recall이란 실제 True인 것 중에서 모델이 True라고 예측한 것의 비율입니다. 통계학에서는 sensitivity라고 부르고, 다른 분야에서는 hit rate라는 용어로도 사용합니다. 이를 식으로 나타내면 아래와 같습니다.

$$ \text{Recall} = \cfrac{TP}{TP + FN}$$

예를 들면, 실제 고양이인 것 중에서 모델이 고양이라고 판별한 것을 살펴보는 지표입니다.

이를 위 표에서 보면 아래 주황색으로 동그라미 친 부분이 됩니다.

Precision - Recall

Precision과 Recall은 True Positive를 서로 다른 관점에서 바라보는 지표입니다. 두 지표 모두 실제 True와 모델의 True가 잘 예측되었나를 보는 지표이나, 관점만 다른 것입니다. 일반적으로 Precision과 Recall은 반비례 관계를 가집니다. 만약에 30일 동안의 날씨를 예측하는 테스크를 진행할 때, 실제로 맑은 날은 5일, 흐린 날은 25일이라고 가정해보겠습니다. 이 때 우리의 모델이 30일 모두 맑다고 예측했을 때, Precision은 5 / 30 = 16.7%가 나오는데 반면에 Recall은 5 / 5 = 100%가 나오게 됩니다.

Reference 

'AI' 카테고리의 다른 글

CutMix  (0) 2022.01.27
Cross Entropy를 사용하는 이유  (0) 2021.11.12
Backpropagation  (0) 2021.11.03
[Metric] BLEU (Bilingual Evaluation Understudy)  (0) 2021.10.02
[Metric] ROUGE (Recall-Oriented Understudy for Gisting Evaluation)  (0) 2021.10.02