머신러닝과 딥러닝에서 자주 쓰이는 성능 지표를 모아 보았다.
여러 도메인이 있지만 모든 범위를 다루기 보다는 아래의 부문으로 범위를 줄여서 정리하고자 한다.
일반적인 정확도들, accuracy와 confusion matrix에 나오는 precision, recall 등등과
Computer Vision의 Image Classification, Object Detection, Segmentation에서 쓰이는 지표들,
NLP의 Classification, 기계번역에서 쓰이는 지표들과,
Information Retrieval과 Recommender Systems에서 쓰는 지표들을 모았다.
General
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} $
FPR이 x축, TPR이 y축인 그래프. ROC 위의 점은 data 상의 threshold를 의미한다.
Threshold가 커질수록 x축 상으로 오른쪽, y축 상의 위쪽으로 움직인다.
TP와 FP의 trade-off 관계를 측정하는데 쓰인다.
AUC(Area Under the Curve)
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를 제대로 탐지하는 직관적인 지표다.
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/@sujathamudadla1213/nlp-model-metrics-b3fa32373269
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 |