딥러닝 논문이나 프로그램 설명을 보면, 성능 지표로 AP, mAP 등을 쓰는데, 뭔지 잘 모르겠다.
이제부터 무엇인지 알아보자.
AP, mAP를 이해하기 위해선 우선 Precision(정확도), Recall(재현율, 검출률) 에 대해 알아야 한다.
그리고 그 전에 다음 표에 대해 알고 있어야 한다.
confusion matrix는 실제 상황과 예측 결과의 매칭을 통해 모델을 평가하는 간단한 표이다.

1) TP (true positive): 검출되어야 할 것이 올바르게 검출됨
2) FP (false positive): 검출되지 말아야 할 것이 검출됨
3) FN (false negative): 검출되어야 할 것이 검출되지 않음
4) TN (true negative): 검출되지 말아야 할 것이 올바르게 검출되지 않음
Accuracy(정확도): 전체 샘플 중 TP, TN의 비율
가장 단순한 지표이지만, 불균형한 클래스를 가진 데이터셋의 경우 Accuracy만으로 평가가 어려움
Precision(정밀도): 예측 결과가 Positive인 것 중 실제로 Positive인 비율
Positive로 검출된 결과가 얼마나 정확한지 나타냄
Recall(재현율): 실제로 Positive인 것 중 예측 결과가 Positive인 비율
분류 모델이 실제 Positive 클래스를 얼마나 잘 검출하는지 나타냄
F1 score는 Precision과 Recall의 조화 평균으로 정의된다.
데이터의 클래스 분포가 불균형인 상황에서 Accuracy 대신 사용된다.
(둘 중 어느 하나가 낮으면 F1 score 도 낮아진다. 따라서 Precision과 Recall 둘 다 중요할 때 사용된다.)
0~1 의 값을 가지고 있으며, 1에 가까울수록 성능이 좋다.
Precision과 Recall은 서로 trade-off 관계에 있어서, Precision이 올라가면 Recall이 떨어지고, Recall이 올라가면 Precision이 떨어짐
PR Curve는 이러한 Precision과 Recall의 변화를, threshold를 변화시켜 가며 관찰하여 그린 곡선 그래프라고 할 수 있다.
threshold에 따라 예측 결과가 달라지고, 예측 결과가 달라지면 TP, FN 등의 matrix에도 변화가 생김
- threshold가 0.5일 때 , 0.5보다 크면 Positive, 0.5보다 작으면 Negative
- Threshold를 높이면 Precision이 증가하지만 Recall은 감소
Threshold를 낮추면 Recall이 증가하지만 Precision은 감소
PR Curve는 알고리즘의 성능을 전반적으로 파악하기에는 좋으나, 서로 다른 두 알고리즘의 성능을 정량적으로 분석하긴 어렵다. 그래서 사용하는 것이 AP.
AP는 간단하게 PR Curve 아래의 면적이다. AP가 1에 가까울수록 모델의 성능이 우수하다는 뜻이다.
컴퓨터 비전 분야에서 알고리즘의 성능은 대부분 AP로 평가된다.
물체의 클래스가 여러 개인 경우, 각 클래스 당 AP를 구한 다음 모든 AP의 합 / 물체 클래스 개수 로 나눠줌으로써 알고리즘의 성능을 평가하는데, 이렇게 여러 클래스에 대한 AP의 평균을 mAP라고 한다.