본문 바로가기
Machine Learning

주요 ML / DL 성능 지표 (미완성)

by 아르카눔 2024. 4. 28.

머신러닝과 딥러닝에서 자주 쓰이는 성능 지표를 모아 보았다.

여러 도메인이 있지만 모든 범위를 다루기 보다는 아래의 부문으로 범위를 줄여서 정리하고자 한다.

 

일반적인 정확도들, accuracy와 confusion matrix에 나오는 precision, recall 등등과

Computer Vision의 Image Classification, Object Detection, Segmentation에서 쓰이는 지표들,

NLP의 Classification, 기계번역에서 쓰이는 지표들과,

Information Retrieval과 Recommender Systems에서 쓰는 지표들을 모았다.

 

General

Figure 1. Confusion Matrix

 

 

TP = True Positive = Hit = 실제로도 P(True)고, 예측값으로도 P(True) = PP다.

FP = False Positive = False Alaram = 실제로는 N(False)고, 예측값은 P(True) = PP다.

FN = False Negative = Miss = 실제로도 P(True)이나, 예측값으로는 N(False) = PN다.

TN = True Negative = Correct Reject = 실제로도 N(False)이고, 예측값으로도 N(False) = PN다.

 

Total Population = P + N

P = TP + FN

N = FP + TN

PP = TP + FP

PN = FN + TN

 

Accuracy ( = ACC)

 

전체 경우에서, 참을 참이라고 하고 거짓을 거짓으로 제대로 판명하는 비율

 

Acc = $ \frac{TP + TN}{P + N} $

 

 

Precision = PPV (Positive Predictive Value)

 

Precision은 예측한 값들 중에서 몇개나 맞췄는지를 나타내는 값이다.

 

precision = $ \frac{TP}{PP} $

 

 

Recall = True Positive Rate (TPR)

 

Recall은 실제 정답 중에서 몇개나 맞췄는지를 나타내는 값이다.

 

recall = $ \frac{TP}{P} $

 

 

F1 Score

 

precision과 recall의 harmonic mean이다.

두 지표를 균형있게, 어느 한쪽이 과대대표되지 않도록 조화 평균을 취한 지표다.

 

F1 = $ \frac{2}{\frac{1}{precision} + \frac{1}{recall} } = 2 \cdot \frac{precision \cdot recall}{precision + recall}$

 

F1 score는 macro와 micro의 두 가지 세부 갈래도 있다.

 

Macro F1

sklearn의 f1 score를 보면 "Calculate metrics for each label, and find their unweighted mean. This does not take label imbalance into account." 라고 나온다.

 

여러개의 라벨 (클래스)가 있다고 가정하자.

가령 고양이 강아지 토끼를 분류할 때라고 할 때,

고양이에 대한 분류 F1 score, 강아지에 대한 F1 score, 토끼에 대한 F1 score를 각각 계산한 다음 평균을 낸다.

모델이 특정 라벨에 대해서 잘 작동 못 하는 경우를 확인할 때 쓰기 좋은 지표다.

 

 

Micro F1

sklearn의 f1 score를 보면 "Calculate metrics globally by counting the total true positives, false negatives and false positives."라 나온다. 

 

위와 같이 고양이, 강아지, 토끼 분류 문제일때, 라벨별로 계산하지 않고

전체를 대상으로 하여 precision과 recall을 구한 후 F1 score를 계산한다.

 

 

 

Receiver operating characteristic (ROC) curve

 

TPR과 FPR 을 모두 보는 지표다.

FPR = $ \frac{FP}{N} $

 

 

Figure 2. ROC Curve

 

 

FPR이 x축, TPR이 y축인 그래프. ROC 위의 점은 data 상의 threshold를 의미한다. 

Threshold가 커질수록 x축 상으로 오른쪽, y축 상의 위쪽으로 움직인다. 

TP와 FP의 trade-off 관계를 측정하는데 쓰인다.

 

 

AUC(Area Under the Curve)

 

Figure 3. AUC

 

FPR, TPR, Threshold가 만드는 2차원 상의 곡선의 면적을 의미한다.

면적이 클수록 좋으며 max는 1이며 min은 y = x의 직선인 0.5이다.

min 값을 가진다는 것은 모델이 P/N을 유의미하게 분류하지 못하고 동전 던지기 처럼 1/2만을 리턴함을 의미한다.

클수록 좋다.

 

 

 

Computer Vision

 

Image Classification

Accuracy

F1-score

 

Object Detection

IoU (Intersection over Union)

IoU는 object detection이세 예측한 prediction box가 원래의 detection box와 얼마나 겹치는지를 표시한다.

둘이 많이 겹칠수록 정확하게 object를 제대로 탐지하는 직관적인 지표다.

 

 

 

Figure 4. IoU

 

 

 

mAP (mean Average Precision)

우선 AP (Average Precision)을 이해해야 한다.

 

AP는 Precision과 Recall의 관계를 나타내는 곡선의 평균값이다.

Object 탐지를 수행하는 bounding box (bbox)를 만들 때 confidence score의 임계값(threshold)에 따라서,

threshold 값이 낮으면 더 많은 bbox를 만들고, 높으면 bbox를 적게 만든다.

Bbox를 더 많이 만들면 recall의 값을 커지지만 틀린 bbox도 많아지기 때문에 precision은 내려간다.

이런 precision-recall trade-off를 Precision-Recall Curve로 나타내며 이를 평균 낸 값이 AP다.

보다 자세한 내용은 아래 mAP 레퍼런스를 찾아보길 바란다.

 

AP는 개별 카테고리, 고양이 강아지 토끼 탐지 케이스를 가정하면 3개의 라벨에 대해서 각각 계산하게 된다.

mAP는 이런 AP를 mean으로 계산한 값이다. 

 

 

 

Segmentation

Instance Segmentation

IoU

mAP

 

Semantic Segmentation

mIoU = mean IoU

 

Image Regression, Image-to-Image Translation

RMSE (Root Mean Squared Error)

 

Image Quality Assessment, Image Comparison

SSIM (Structural Similarity Index)

 

Image Compression and Image Denoising

Peak Signal-to-Noise Ratior (PSNR)

 

 

NLP

Sentiment Analysis, Named Entity Recognition (NER), Question and Answering (QA)

Accuracy

Precision

Recall

F1-Score

 

 

Sentence / Document / Etc Classification

Accuracy

Precision

Recall

F1-Score

 

Language Modeling (LM)

Perplexity (PPL)

 

Machine Translation

Bilingual Evaluation Understudy (BLEU)

 

Text Summarization

Recall-Oriented Understudy for Gisting Evaluation (ROGUE)

ROGUE N-gram

ROGUE-S

ROGUE-SU

ROGUE-L

ROGUE-W

 

Speech Recognition

Word Error Rate (WER)

 

 

 

Information Retrieval

Precision

Recall

F1-score

Fall-out

 

CTR (Click-Through Rate)

광고 등에서 많이 쓰이는 지표로, 100번 사용자에게 노출되었을 때 몇번 클릭되는지를 나타내는 지표다.

Impressions가 100이고, click 회수가 5일 때 CTR은 5/100 = 0.05다.

 

MRR (Mean Reciprocal Rank)

 

 

NDCG (Normalized Discounted Cumulative Gain)

 

 

Recommender Systems

Precision

Recall

MRR

NDCG

 

Coverage

Confidence and Trust

Novelity

Serendipity

Diversity

Robustness and Stability

Scalability

 

 

 

 

 

 

 

 

 

 

 

 

References:

https://en.wikipedia.org/wiki/Confusion_matrix

https://en.wikipedia.org/wiki/Receiver_operating_characteristic

https://medium.com/@nikitamalviya/different-evaluation-metrics-for-computer-vision-tasks-83feb9a1041b

https://medium.com/@sujathamudadla1213/nlp-model-metrics-b3fa32373269

https://medium.com/@mikeusru/common-metrics-for-evaluating-natural-language-processing-nlp-models-e84190063b5f

https://towardsdatascience.com/metrics-of-recommender-systems-cde64042127a

https://sumniya.tistory.com/41

https://developers.google.com/machine-learning/crash-course/classification/roc-and-auc?hl=ko

https://support.google.com/google-ads/answer/2615875?hl=en

F1 score

https://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html

https://data-minggeul.tistory.com/11

IoU

https://www.researchgate.net/figure/Intersection-over-Union-IOU-calculation-diagram_fig2_335876570

https://medium.com/analytics-vidhya/iou-intersection-over-union-705a39e7acef

mAP CV

https://herbwood.tistory.com/2

https://towardsdatascience.com/breaking-down-mean-average-precision-map-ae462f623a52

MAP@K RS

https://danthetech.netlify.app/DataScience/evaluation-metrics-for-recommendation-system

Evalations Metrics in RS

Recommender Systems: The Textbook, Charu C. Aggarwal.

 

 

 

'Machine Learning' 카테고리의 다른 글

AI/ML/DL 주요 컨퍼런스  (0) 2024.02.21
AI & Machine Learning 개요  (0) 2024.02.21