[Metric] Precision/Recall Trade-off

2022. 9. 20. 17:01Machine Learning/General

728x90

Confusion Matrix

이진 분류 모델이 예측한 결과는 맞다(Positive), 아니다(Negatives) 두 가지 경우로 나타날 수 있습니다. 모델이 예측한 결과가 정답인 경우 True와 함께 판단 결과를 써주고, 모델이 예측한 결과가 정답이 아닌 경우 False와 함께 판단 결과를 써줍니다. 이 결과들을 종합하면 총 4가지 경우의 수가 나타날 수 있습니다. 4가지 경우의 수는 아래와 같습니다.

True Positive(맞다고 예측한 결과가 맞는 경우)

False Positive(맞다고 예측 하였는데, 아니다가 정답인 경우)

True Negative(아니다라고 예측한 결과가 맞는 경우)

False Negative(아니다라고 예측하였는데, 맞다가 정답인 경우)

Confusion Matrix 예시

Threshold

이진 분류의 모델은 특정 클래스가 나올 확률 값을 결과 값으로 도출하게 됩니다. 예시는 아래의 그림과 같습니다.

Softmax 예시

그렇기 때문에 이 결과 값을 Positive 혹은 Negative로 판단하기 위해서는 특정한 기준 값(Threshold)이 필요합니다. 만약 결과 값이 Threshold보다 크면 Positive로 판단하고, 결과 값이 Threshold보다 작으면 Negative로 판단하게 됩니다.


Precision & Recall

Precision은 맞다(Positive)라고 예측한 것이 얼마나 정답인지를 나타내는 지표입니다. 만약 대부분의 예측 값이 맞다라고 결과를 도출하는 경우, 정답을 맞추는 경우는 한정되어 있기 때문에 Precision의 분모의 값이 커져서 Precision의 값이 낮게 나올 것 입니다.

Recall은 실제 정답들 중에 예측한 것이 얼마나 정답인지를 나타내는 지표입니다. 만약 대부분의 예측 값을 맞다라고 결과를 도출하더라도, 정답만 많이 맞추면 Recall의 값은 높아지게 됩니다.

Average Precision

Threshold를 변경시켜가면서 Precision과 Recall의 값을 기록하면 아래와 같은 곡선을 얻을 수 있습니다. 아래와 같은 곡선을 P-R(Precision-Recall)Curve라고 합니다.

PR Curve

 

Area Of Curve PR Curve

Threshold에 따라 Precision과 Recall의 값이 달라지기 때문에 PR Curve를 이용하면 모델 간의 성능을 비교할 수 있습니다. 하지만 곡선 자체로 비교하는 것은 개인의 주관적인 판단이 들어갈 수 있기 때문에 이를 정량적으로 요약할 수 있는 수치가 필요합니다. 따라서 모델의 성능을 정량적으로 간단하게 비교하기 위해 PR Curve의 곡선 아래 면적(Area Of Curve)을 계산하게 되는데 이 수치를 Average Precision이라고 지칭합니다. 

Precision Recall Trade-Off

Threshold가 낮은 경우 Positive 값이 많이 생기기 때문에 Recall은 높아지는 경향이 있고, Precision은 낮아지는 경향이 있습니다. 이와 같이 Threshold를 변화시킴에따라 Recall은 높아지고 Precision이 낮아지거나, Recall은 낮아지고, Precision은 높아지는 현상이 발생하는데 이를 현상을 Precision Recall Trade-Off라고 지칭합니다.