Evaluation Metric (MDR, FAR, MAE) 정리
본문 바로가기
AI 구현

Evaluation Metric (MDR, FAR, MAE) 정리

by NEWSUN* 2024. 8. 27.

딥러닝 모델의 성능을 볼때 자주 쓰이는 confusion matrix와 그와 관련된 여러 평가지표에 대해 알아봅시다. 그리고 논문 [1] 에서 등장하는 평가지표 Miss detection rate (MDR), False alarm rate (FAR), Mean absolute error (MAE)의 의미를 이해해봅시다.

 

Confusion Matrix

 

컴퓨터가 이진 분류 문제를 푼다고 했을 때, 두 개의 클래스를 얼마나 헷갈려하는지 나타낸 걸 confusion matrix라고 합니다. confusion matrix는 분류 모델의 정확도를 평가하기 위해 사용됩니다.

 

  • TP (True Positive) : 실제로 positive인 값을 positive라고 잘 예측함 
  • FP (False Positive) : 실제로 negative인 값을 positive하다고 잘못 예측함 → False alarm (오탐!)
  • TN (True Negative) : 실제로 negative인 값을 negative하다고 잘 예측함
  • FN (False Negative) : 실제로 positive한 값을 negative하다고 잘못 에측함

 

일반적인 딥러닝 모델에서의 Recall, Precision, Miss rate, False alarm rate 

  • $Precision=\frac{TP}{TP+FP}$
    • positive라고 예측한 것들 중에서 실제와 맞게 예측한 positive의 비율
  • $Recall=\frac{TP}{TP+FN}$
    • 실제로 positive인 것들 중에서 실제와 맞게 예측한 positive의 비율 (True Positive rate, 1 - Miss rate)
  • $Miss\,rate=\frac{FN}{TP+FN}$
    • 실제로 positive인 것들 중에서 negative라고 잘못 예측한 비율 (False Negative rate)
  • $False\,Alarm\,rate=\frac{FP}{TN+FP}$
    • 실제로 negative인 것들 중에서 positive라고 잘못 예측한 비율 (False Positive rate)

 

논문에서의 MDR, FAR, MAE

참고한 sound source localization 논문 [1] 에서는 source activity 감지 및 correctly localized 여부에 따른 프레임 비율로 평가지표를 정의하였습니다. 평가지표는 $tolerance$를 기준으로 정의되는데 여기서 $tolerance\,n$은 azimuth estimation error 값이 $n$도 보다 작을 때 잘 localized 됐다고 간주하는 걸 의미합니다.

 

  • Miss detection rate (MDR) : 'source가 active하지만 성공적으로 위치가 추정되지 않은 경우 + source가 active하지만 detection되지 않은 경우' 프레임 비율
  • False alarm rate (FAR) : source가 detection 됐지만 실제로 active 하지 않은 프레임의 비율
  • Mean absolute error (MAE) : 각도 추정 과정에서의 예측값과 실제값 간의 절댓값 차이를 모두 더해 평균낸 것으로,  위치가 성공적으로 추정된 여러 source와 time frame에 대해 계산됨

 

아래는 논문에서 평가지표 (ACC, MDR, FAR)를 구현한 일부 코드만을 가지고 온 것 입니다. (코드 상, FAR이 의미와는 다르게 구현돼 있어서 맞게 바꿔주었음) 딥러닝에서 쓰이는 일반적인 평가지표 개념을 바탕으로 논문의 정의를 이해해볼 수 있습니다. 

 

K_corr = corr_flag.sum(axis=1)
acc[b_idx, :] = K_corr.sum(axis=0) / K_gt.sum(axis=0)
mdr[b_idx, :] = (K_gt.sum(axis=0) - K_corr.sum(axis=0)) / K_gt.sum(axis=0)
far[b_idx, :] = (K_est.sum(axis=0) - K_corr.sum(axis=0)) / K_gt_0.sum(axis=0)

 

  • K_gt : active source가 있는 프레임 개수
  • K_gt_0 : active하지 않은  source가 있는 프레임 개수 
  • K_corr : source가 active하면서 성공적으로 위치 추정된 프레임 개수
  • K_est : active source가 있다고 추정된 프레임 개수

 

Reference

[1] Wang, Yabo, Bing Yang, and Xiaofei Li. "IPDnet: A Universal Direct-Path IPD Estimation Network for Sound Source Localization." arXiv preprint arXiv:2405.07021 (2024).

[2] Victor Lavrenko, “IAML8.16 Recall, precision, miss and false alarm,” YouTube, Sep. 10, 2015. https://www.youtube.com/watch?v=zURVGTiltdE (accessed Aug. 27, 2024).