AI&ML/Machine Learning

[ML] 03. Evaluation

hyunjin 2024. 1. 12. 16:17

목차

    1. 성능평가척도

    0) Confusion Matrix

    1) 정확도 Accuracy 

    → 올바르게 예측한 케이스의 비율

    $$Accuracy=\frac{TN+TP}{\textbf{ALL}}$$

    2) 정밀도 Precision

    → 양성 예측 중 실제 양성 비율

    $$Precision= \frac{TP}{TP+FP}$$

    3) 재현율 Recall

    실제 양성 중 예측을 맞춘 비율

    민감도(Sensitivity), True Positivie Rate(TPR)

    $$Recall(=Sensitivity)= \frac{TP}{TP+FN}$$

     

    4) 특이도 Specificity

    → 실제 음성 중 예측을 맞춘 비율

    True Negative Rate(TNR)

    $$Specificity= \frac{TN}{TN+FP}$$

     

    ※) 성능 척도 간의 Trade-off

    Precision vs, Recall(Sensitivity)
    Sensitivity(Recall) vs. Specificity

     

    5) F1-Score

    Precision과 Recall의 조화평균

    $$F1=2*\frac{precision*recall}{precision+recall}$$

    6) AUC

    Sensitivity(Recall) vs. Specificity

    Specificity가 얼마나 감소하면 Sensitivity가 100%가 되는지를 보는 척도 (* sencitivity가 100%인게 더 의미있음)

    임계치 조절하여 Specificity 감소(*임계치: 양성과 음성으로 판별하기 위해 예측값을 구분하기 위한 값, 기본값:0.5)

    ROC Curve(AUC는 ROC아래 면적 의미)

    x축: 1-specificity (specificitiy가 손해본 정도)

    y축: sensitivity


    2. 오버피팅

    → 주어진 데이터에만 너무 특화되어 새로운 데이터에 대해 성능이 떨어지는 현상

    학습데이터 성능은 좋은데 평가데이터 성능 안좋음

    Low Bias, High Variance

    Low Bias: 학습데이터에 대해서 예측값과 정답값의 차이가 작음

    High Variance: 입력값에 따라 예측값이 크게 달라짐(데이터마다 예측이 크게 바뀜)

     

    vs. 언더피팅 High Bias, Low Variance

    학습데이터 성능과 평가데이터 성능 모두 안좋음

     

    Bias 와 Variance는 Trade-off 관계


    3. 성능 평가 방법

    1) 별도의 테스트 데이터로 성능 측정!

    학습데이터 + 테스트데이터

    2) 검증데이터에 대해 평가해보며 학습하고, 테스트 데이터로 성능 최종평가!

    학습데이터 + 검증데이터 + 테스트데이터

    최적화 된 하이퍼파라미터 찾기

    한가지 조합에만 특화될 수 있어 → Cross-Validation

    학습데이터와 검증 데이터로 나누는 것을 여러번 수행, 각 조합 별 성능 평가를 평균하여 평가하는 방법

       ㄱ. LOOCV(Leave-One-Out Cross Validation): 샘플하나씩 돌아가면서 검증데이터로 사용, 데이터 n개 →n번 실행

       ㄴ. K-fold Cross Validation: k그룹으로 나누고 한 그룹씩 돌아가면서 ~~, k는 보통 5나10

       ㄷ. K-Holdout Cross Validation: k번 성능 평가하되 무작위로 검증데이터 만들어 사용 (중복, 제외될 수 있음)

    3) 데이터 너무 없으면 전체데이터에 대해 교차 검증 수행 (검증데이터, 테스트데이터 나눌 여유 없어서)

     

    + 딥러닝은 이미 데이터가 많아서 Cross Validation 안하는 경우 많음

    'AI&ML > Machine Learning' 카테고리의 다른 글

    [ML] 05. Support Vector Machine(SVM)  (0) 2024.01.12
    [ML] 04. Decision Tree  (1) 2024.01.12
    [ML] 02. Text Data  (0) 2024.01.12
    [ML] 01. Naïve Bayes (나이브베이즈)  (0) 2024.01.07
    [ML] 00. Overview  (0) 2024.01.06