↓폴밍끼 유튜브 채널 자세히보기

AI/Machine Learning

mAP를 알아보자(간단 명료 설명)

폴밍끼 2023. 9. 14. 13:13
728x90
  • Precision-Recall curve는 가로축이 Recall 세로축이 Precision일 때 Precision과 Recall의 값을 그린 그래프이다.
  • Precision과 Recall이 평가 시 하나만 존재하는데 여러 개로 Precision-Recall curve를 그릴 수 있는 이유는 각 confidence score 별 Precision과 Recall를 계산한 것이기 때문이다.
    • 보통 confidence score의 threshold를 0.5로 해서 그 이상이면 True(1), 이하면 False(0)로 분류하고 Precision과 Recall을 계산한다.
    • 이 때 threshold를 0~1까지로 변화를 주면 0과 1로 분류되는 개수가 달라지게 된다. 따라서 threshold가 0~1로 변화할 때 모든 Precision과 Recall를 계산하면 Precision-Recall curve를 그릴 수 있다.

출처 : https://hasty.ai/docs/mp-wiki/metrics/precision-recall-curve-and-auc-pr

  • Precision-Recall curve에 따라 그래프에 숫자가 표시될 수 있는데 이것은 각 confidence 별 F1 score를 말한다.

출처 : 딥러닝 호형 - 인프런 '최신 딥러닝 기술과 객체인식' 수업자료 中

  • Precision도 Recall도 모두 다 높은 것이 좋기 때문에 맨 오른쪽 상단을 향한 ㄱ자 형태의 Precision-Recall curve가 나올수록 좋다.
    • 또한 맨 오른쪽 상단과 가장 가까운 Precision-Recall curve의 점에 해당하는 confidence score의 threshold를 사용할 떄 가장 결과가 좋다는 것도 알 수 있다.
  • AP(Average Precision)는 Precision-Recall curve의 아랫면의 넓이이다. AP가 클수록 좋은 모델이다.

하늘색으로 칠해진 면적이 AP이다. (출처 : Precision-Recall Curve in Python Tutorial - https://www.datacamp.com/tutorial/precision-recall-curve-tutorial)

  • AP는 각 클래스별로 구하게 된다.(사람 클래스의 AP, 강아지 클래스의 AP, 고양이 클래스의 AP......)
  • mAP(mean Average Precision)는 각 클래스별 AP를 클래스의 개수로 평균을 낸 것이다.

출처 : https://www.waytoliah.com/1491

  • mAP50은 IoU를 50으로 할 때를 의미한다. 즉, mAP뒤에 붙는 숫자는 IoU의 thresold를 말한다.