Hey Tech

Multi-label Classification 평가지표: Example-based vs Label-based Evaluation 본문

AI & 빅데이터/머신러닝·딥러닝

Multi-label Classification 평가지표: Example-based vs Label-based Evaluation

Tony Park (토니) 2022. 7. 16. 13:06
728x90
반응형

📚 목차

1.  Example-based Evaluation
    1.1. Exact-Match Ratio(EMR)
    1.2. Accuracy
    1.3. Precision
    1.4. Recall
    1.5. F1 Score
    1.6. Hamming Loss
2.  Label-based Evaluation
    2.1. Macro average
    2.2. Mico average
    2.3. Weighted average

👨‍💻 들어가며

Multi-label Classification 모델 평가지표를 라벨(lael)을 기준으로 계산하는지 혹은 test example을 기준으로 계산하는지에 따라 평가 방법은 크게 2가지로 나뉩니다.

  • 1) Example-based Evaluation
  • 2) Label-based Evaluation

각각에 대해 알아봅니다.

1.  Example-based Evaluation

Example-based Evaluation은 test example마다 정답 label과 예측 label 간의 차이를 구하고 평균을 취하는 평가 방법입니다.

1.1.  Exact-Match Ratio(EMR)

  • 'Subset accuracy'라고도 부름
  • 평가지표의 이름처럼 엄격하게 얼마나 모델이 test example마다 모든 label을 잘 분류했는지 측정하는 평가지표
  • 일부 label만 정답을 맞히는 경우는 무시하고 오직 모든 label에 대해 정답을 맞힌 경우만 평가
  • EMR 값이 클수록 모델 성능이 우수하다고 평가

1.2.  Accuracy

  • Exact-Match와 다르게 전체 test example별 label의 정답을 맞힌 비율의 평균
  • Accuracy 값이 클수록 모델 성능이 우수하다고 평가

1.3.  Precision

  • 모델이 Positive로 예측한 label의 개수 대비 실제 정답 label이 Positive인 개수 비율
  • Precision 값이 클수록 모델 성능이 우수하다고 평가
  • Recall과 Trade-off 관계

1.4.  Recall

  • 실제 정답 label이 Positive인 개수 대비 모델이 Positive로 예측한 label의 개수 비율
  • Recall 값이 클수록 모델 성능이 우수하다고 평가
  • Precision과 Trade-off 관계

1.5.  F1 Score

  • Precision과 Recall의 조화 평균
  • F1 값이 클수록 모델 성능이 우수하다고 평가
  • 조화 평균 사용이유: 산술평균과 비교했을 때 Class imbalance의 bias 작음

1.6.  Hamming Loss

  • test example마다 전체 라벨 중 몇 개의 라벨을 틀렸는지 계산하여 평균을 취한 값
  • Hamming Loss 값이 작을수록 모델 성능이 우수하다고 평가

2.  Label-based Evaluation

  • label마다 예측값과 실젯값의 차이를 계산한 후 전체 label에 대해 평균을 취하는 평가 방식
  • label마다 평가 지표를 계산하기 때문에 label마다 binary classification 문제이므로 기본적인 binary classification 평가 지표인 Precision, Recall, F1, ROC 등 사용 가능
  • 평균을 구하는 방법에 따라 3가지 방법 존재
    • 1) Macro-average
    • 2) Micro-average
    • 3) Weighted-average

2.1.  Macro-average

그림 1. Confusion Matrix

  • label마다 각각 평가 지표 계산 후 전체 test examle 개수로 평균을 계산하는 방식(i.e., unweighted average)
  • label마다 support하는 개수는 고려하지 않고 label마다 얼마나 잘 분류했는지 확인 가능
  • 모든 label의 중요도가 비슷하고, label마다 데이터 개수가 imbalance한 경우, macro-average를 사용하는 것이 효과적
  • 라벨 A, B, C별 Confusion Matrix가 주어질 때 Macro-averaged Precision 계산 방법은 아래와 같음

1) 라벨 A

Actual Label \ Predicted class Positive Negative
Positive 35 15
Negative 1 10

Macro-averaged Precision (A) = \(\frac{35}{35+1} = 0.972\)

2) 라벨 B

Actual Label \ Predicted class Positive Negative
Positive 45 3
Negative 11 2

Macro-averaged Precision (B) = \(\frac{45}{45+11} = 0.804\)

3) 라벨 C

Actual Label \ Predicted class Positive Negative
Positive 27 3
Negative 4 27

Macro-averaged Precision (C) = \(\frac{27}{27+4} = 0.871\)

전체 라벨 고려

Macro-averaged Precision = \(\frac{label별 Precision 값의 합}{전체 라벨 개수}\) = \(\frac{0.972+0.804+0.871}{3} = 0.882\)

2.2.  Micro-average

  • 모든 Label의 TP, TN, FP, FN을 한 번에 고려하여 평가 지표 계산 후 전체 test examle에 대해 평균 취하는 방식
  • label마다 데이터 개수가 균형적이고(balanced) label마다 평가지표를 고려할 필요가 없을 때 효과적
  • 위의 라벨 A, B, C별 Confusion Matrix 기반 Micro-averaged Precision 계산 방법은 아래와 같음

모든 label 고려

Actual Label \ Predicted class Positive Negative
Positive 107 21
Negative 16 39

Micro-averaged Precision = \(\frac{107}{107+16} = 0.870\)

2.3.  Weighted-average

  • label마다 support하는 개수를 고려하여 평균을 구하는 방법
  • support는 label마다 실젯값의 개수(TP + FN)
  • Label마다 데이터가 imbalanced일 때 Label마다 support 하는 개수를 고려하고 싶은 경우 효과적
  • 아래는 위의 A, B, C label별 Confusion Matrix를 고려한 Weighted average precision 구하는 예시
Label Precision Support Support Proportion Weighted Average
A 0.972 50 0.391 (0.391*50) + (48*0.375) + (30*0.234) = 0.885
B 0.804 48 0.375
C 0.871 30 0.234
Total - 128 1.0

🗂 참고문헌

[1] Sorower, M. S. (2010). A literature survey on algorithms for multi-label learning. Oregon State University, Corvallis, 18(1), 25. [🔗PDF]

📚 참고할 만한 포스팅

1.  딥러닝 모델 평가 지표: Confusion Matrix, Accuracy, Precision, Recall, F1 Score, Average Precision
2.  딥러닝 모델 평가 지표: ROC Curve, AUC Score
3.  Multi-label Classification 평가지표: Example-based vs Label-based Evaluation

오늘은 Multi-label Classification 모델 평가지표와 종류에 대해 알아봤습니다.

포스팅 내용에 오류가 있다면 아래에 댓글 남겨주세요😊

그럼 오늘도 즐거운 하루 보내시길 바랍니다.

고맙습니다 :)

728x90
반응형