CVAD

성능 지표(Metrics)이란? - Confusion Matrix 본문

AI 개념정리

성능 지표(Metrics)이란? - Confusion Matrix

_DK_Kim 2024. 2. 25. 19:09

학습된 모델이 정말로 task를 잘 수행하는지 어떻게 확인할 수 있을까? Loss가 0에 수렴하는지, test 데이터로 결과 보기 등 여러가지 방법이 있겠지만, 수치적으로 표시할 수 있다면 훨씬 편할 것이다. 

 

오늘은 학습된 모델이 얼마나 잘 학습되었는지를 나타내는 방법인 성능 지표(Metric)을 알아보겠다.


1. Confusion Matrix

 

Confusion Matrix를 분류 문제에서 모델의 성능을 시각적으로 표현하는 행렬이다. 질병의 유무를 판별하는 모델을 학습시켰다고 가정해보고, 아래의 예시를 살펴보자.

 

  예측 질병 O 예측 질병 X
실제 질병 O 100 (TP) 30 (FN)
실제 질병 X 70 (FP) 800 (TN)

 

위의 표의 각 숫자는 각 경우에 해당하는 사람의 수다. 위의 예시처럼 Confusion Matrix는 4개의 case로 나눌 수 있다.

 

   - True Positive(TP) : 실제 양성이며, 모델의 예측도 양성인 경우

   - False Negative(FN) : 실제 양성이지만, 모델의 예측은 음성인 경우

   - False Positvie(FP) : 실제 음성이지만, 모델의 예측은 양성인 경우

   - True Negative(TN) :  실제 음성이고, 모델의 예측도 음성인 경우

 

 

1.1 Accuracy / Precision / Recall / F1-score

 

Confusion Matrix의 4가지 case를 사용하여 모델의 성능을 다음과 같이 나타낼 수 있다.

 

- Accuracy : 말 그대로 정확도이다. 전체 데이터셋 중 정확하게 분류된 경우의 비율을 나타낸다. 수식은 다음과 같다.

$$ \dfrac{TP+TN}{TP+FP+TN+FN} $$

 

- Precision : 양성으로 예측된 데이터 중 실제로 양성인 샘플의 비율이다. 수식은 다음과 같다.

$$ \dfrac{TP}{TP+FP} $$

 

- Recall : 실제 양성 데이터 중 모델이 양성으로 올바르게 예측된 비율이다. 수식은 다음과 같다.

$$ \dfrac{TP}{TP+FN} $$

 

- F1-score : Recall과 Precision의 조화 평균으로 두 메트릭의 균형을 나타냄.

$$ \dfrac{2\times Precision \times Recall}{Precision + Recall} $$

 

1.2 Recall과 Precision의 trade-off

 

Precision과 Recall은 서로 trade-off 관계에 있다. 한쪽의 metric 성능을 높이면 다른 한쪽이 감소할 수 있는데, 위의 예시로

보자면 모델을 조정하여 양성 데이터를 더 많이 찾으려 한다면. 즉, FP를 줄이면서 TP를 늘리고자 한다면, 실제 양성인

데이터 중 일부를 놓칠 위험이 있어서 Recall이 감소할 수 있기 때문이다.

 

때문에, 두 metric의 목적성을 염두하여 모델을 조절하는 것이 중요하다.

 

   - Recall : 암 환자를 진단하는 경우를 생각해보자. 위의 예시를 참고하여 표현하자면 가장 피해야하는 경우가 무엇일까?
                   바로 "실제 암에 걸린 환자를 걸리지 않았다고 판별하는 경우"일 것이다. 즉, FN의 case를 줄이는 것이다.

                   즉, TP를 더 많이 검출해야한다. 이러한 관점에서 판별하는 것이 중요한 경우 Recall을 선택하는 것이 좋다.

 

   - Precision : 스팸 메일을 판별하는 모델을 생각해보자. 이 경우, 가장 피해야하는 경우는 "스팸메일이 아닌 경우를 스팸
                       메일으로 분류하는 경우"일 것이다. 즉, FP를 줄이는 것이 중요하다. 이러한 비슷한 경우에는 Precision을
                       선택하는 것이 좋다.

 

이 개념을 잘 사용하여, metric의 결과를 잘 분석해서 모델을 조절하는 것이 매우 중요하다.

 

1.3 PR curve

 

학습된 분류 모델은 일정한 threshold를 기반으로 입력값이 positivie인지 negative인지 결정한다. 이 때, 이 threshold값을 decision threshold라고 정의하며 이 값은 0과 1 사이의 값을 갖는다.

 

이 decision threshold 값에 따라 Recall과 Precision의 비율이 달라지는데, PR curve는 특정 threshold에 해당하는 Precision과 Recall 값을 그래프로 표현한 것이다.

 

ref : https://github.com/ultralytics/yolov5/issues/1708

 

위 그래프에서 RP curve가 그리는 그래프 아래의 면적을 Average Precision(AP)이라고 한다. Multi class 분류 모델에서는 각 class의  AP를 계산하고 평균한 mean AP(mAP)를 계산할 수 있는데, object detection에서 많이 쓰이는 metric이다.

728x90