CVAD
성능 지표(Metrics)이란? - Confusion Matrix 본문
학습된 모델이 정말로 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 값을 그래프로 표현한 것이다.
위 그래프에서 RP curve가 그리는 그래프 아래의 면적을 Average Precision(AP)이라고 한다. Multi class 분류 모델에서는 각 class의 AP를 계산하고 평균한 mean AP(mAP)를 계산할 수 있는데, object detection에서 많이 쓰이는 metric이다.
'AI 개념정리' 카테고리의 다른 글
전이학습(Transfer learning)이란 - 1 (0) | 2024.03.18 |
---|---|
과적합 방지를 위한 규제화 기법 (2) | 2024.03.05 |
FeedFoward & Backpropagation (0) | 2024.02.23 |
오차 함수의 종류와 특징 (1) | 2024.02.22 |
활성화 함수(Activation function)란? (0) | 2024.01.24 |