본문 바로가기
AI

Macro-average, Micro-average

by Ladun 2022. 2. 3.

Macro와 Micro Average는 평균을 구하는 방법입니다. 먼저 각 방법에 대해서 간략하게 설명해보면 다음과 같습니다.

  • Macro: 평균의 평균을 구하는 방법입니다. 
  • Micro: 전체의 평균을 구하는 방법입니다.

이를 좀 더 수식적으로 풀어 Precision, Recall, F1 스코어에 대입해서 보겠습니다. 먼저 N개의 카테고리가 있고 이를 Model $M$이 분류하는 Task를 풀고 있다고 가정을 해보겠습니다. 이때 Model $M$이 분류한 결과의 True Positive, False Positive, True Negative, False Negative를 $TP_i, FP_i, TN_i, FN_i,\ \  i=1, 2, ..., N$라 하겠습니다. 추가적으로 각 i번째 카테고리에 해당하는 Precision과 Recall을 $Precision_i, Recall_i$라 하겠습니다. 이렇게 가정하였을 때 Macro-Average와 Micro-Average는 다음과 같습니다.

Macro-Average

$$ Macro-Precision = \cfrac{Precision_1 + Precsion_2 + ... + Precsion_N}{N}= \cfrac{\sum_{i=1}^N Precision_i }{N}$$

$$ Macro-Recall = \cfrac{Recall_1 + Recall_2 + ... + Recall_N}{N}= \cfrac{\sum_{i=1}^N Recall_i}{N}$$

$$ Macro-F1\_Score = 2\cfrac{Macro-Precsion * Macro-Recall}{Macro-Precsion + Macro-Recall}$$

Micro-Average

$$ Micro-Precision = \cfrac{TP_1 + TP_2 + .. + TP_N}{TP_1 + FP_1 + TP_2 + FP_2 + ... + TP_N + FP_N} = \cfrac{\sum_{i=1}^N TP_i}{\sum_{i=1}^N TP_i + FP_i}$$

$$ Micro-Recall = \cfrac{TP_1 + TP_2 + .. + TP_N}{TP_1 + FN_1 + TP_2 + FN_2 + ... + TP_N + FN_N}= \cfrac{\sum_{i=1}^N TP_i}{\sum_{i=1}^N TP_i + FN_i}$$

$$ Micro-F1\_Score = 2\cfrac{Micro-Precsion * Micro-Recall}{Micro-Precsion + Micro-Recall} $$

 

 

Reference

'AI' 카테고리의 다른 글

Batch size에 대해  (0) 2022.02.07
Model의 Bias-Variance  (0) 2022.02.03
CutMix  (0) 2022.01.27
Cross Entropy를 사용하는 이유  (0) 2021.11.12
Backpropagation  (0) 2021.11.03