이상탐지 평가 지표: F1 score, AUC

minha·2022년 10월 3일
0

Anomaly Detection

목록 보기
1/1
post-thumbnail
  1. Imbalanced 데이터셋: Precision, Recall, F1 score 추천 (PR curve)

    • 일반적인 AD test 환경은 imbalanced
    • Precision = 옳게 예측된 양성 수/예측 양성 수 = TP/(TP+FP)
      \rightarrow 클수록, 1에 가까울수록 좋음!
      Recall = 옳게 예측된 양성 수/실제 양성 수 = TPR = TP/(TP+FN)
      \rightarrow 클수록, 1에 가까울수록 좋음!
      ★★★ Recall = TPR ★★★
      F1 score = 2PR/(P+R) = P와 R의 조화평균 ('조화평균을 이용하면 산술평균을 이용하는 것보다, 큰 비중이 끼치는 bias가 줄어든다고 볼 수 있음')

      \rightarrow 'P와 R 두 지표가 어느 한쪽도 치우치지 않는 수치를 나타낼 때 상대적으로 높은 값을 가진다'.
    • FβF_{\beta} score = (1+β2)×Precision×Recall/(β2×Precision)+Recall(1+{\beta}^2)\times Precision\times Recall/({\beta}^2\times Precision)+Recall
      F1 score이 P와 R에 동일한 가중치를 부여하는 데 반해, FβF_{\beta} score은 β\beta 값에 따라 P 또는 R에 더 많은 가중치를 부여할 수 있음.
      • β\beta < 1 : Precision에 더 많은 가중치
      • β\beta > 1 : Recall에 더 많은 가중치
  2. Balanced 데이터셋: AUC

    • AUC(a.k.a AUROC; Area under the ROC curve)
      • x축: FPR = 잘못 예측된 음성 수/실제 음성 수 = FP/(FP+TN)
        \rightarrow 작을수록, 0에 가까울수록 좋음!
      • y축: TPR = 옳게 예측된 양성 수/실제 양성 수 = Recall = TP/(TP+FN)
        \rightarrow 클수록, 1에 가까울수록 좋음!
        ★★★ TPR = Recall ★★★
      • ROC curve: 이진 분류 decision threshold에 따라 찍히는 (FPR,TPR) 점을 찍어가며 그린 그래프
        ROC curve의 왼쪽 아래 \rightarrow Threshold가 최대인 경우 (모두 음성으로 예측)
        ROC curve의 오른쪽 위 \rightarrow Threshold가 최소인 경우 (모두 양성으로 예측)
      • AUC에서 성능이 좋다는 것은?
        가운데야 어쨌건 threshold의 minimum으로 가면 (1,1)이 되고, threshold의 maximum으로 가면 (0,0)로 가게 된다. 우리는 이진 분류기가 작은 FPR과 큰 TPR을 갖길 원하므로, 이를 만족시키기 위해 그래프가 왼쪽 위로 치우친 형태이길 원한다. 다시 말해 'FPR의 값이 작아질 때 TPR이 천천히 작아진다면 좋은 성능을 가진 이진 분류기라고 볼 수 있다'.
        \rightarrow AUC가 클수록, 1에 가까울수록 좋음!
      • AUC의 기준

        \rightarrow AUC의 최솟값이자 baseline=0.5 : 모델의 클래스 분리 능력이 전혀 없음
    • 왜 Imbalanced 데이터에서 F1 score 보다 AUC가 더 나은 metric인가?
      • 문제 관점의 변경: Balanced (모델이 두 클래스를 얼마나 잘 구분하는가) \rightarrow Imbalanced (소수 클래스를 얼마나 탐지해낼 수 있는가)
      • ROC curve와 F1 score에서 Recall을 동일하게 사용하므로, 유일한 차이는 FPR을 사용하는가 or Precision을 사용하는가의 차이임. '식에서도 볼 수 있듯 FPR은 Total Negatives 가 분모로 존재하기 때문에 총 Negative Class의 수가 FPR값에 큰 영향을 미친다. 즉 Imblanaced Dataset에서는 Negative 클래스인 0 클래스 수가 1클래스 수에 비해 워낙 많은 상황이기 때문에 False Positive의 수가 개선되더라도 FPR 값이 줄기 쉽지 않다. 반면 Precision은 전체 negative class 수에 전혀 영향을 받지 않게 된다. 따라서 FPR을 활용하는 AUC스코어보다는 F1 Score를 활용하여 학습한 뒤 PR Curve를 통해 모델의 성능을 검증하는 것이 좋다'.
        • Precision: 클래스 1에 대해 정확하게 탐지할 수 있는 확률
        • FPR, TPR: 클래스를 분간하는 능력을 지표화

1개의 댓글

comment-user-thumbnail
2023년 11월 24일

위의 글에서는 Imbalanced 데이터 셋에서 f1 score를 추천한다고 적으신 것 같은데,

아래는 또 이렇게 나와 있네요.

'왜 Imbalanced 데이터에서 F1 score 보다 AUC가 더 나은 metric인가?'

답글 달기