목차
1. 성능평가척도
0) Confusion Matrix

1) 정확도 Accuracy
→ 올바르게 예측한 케이스의 비율
Accuracy=TN+TPALL

2) 정밀도 Precision
→ 양성 예측 중 실제 양성 비율
Precision=TPTP+FP

3) 재현율 Recall
→ 실제 양성 중 예측을 맞춘 비율
민감도(Sensitivity), True Positivie Rate(TPR)
Recall(=Sensitivity)=TPTP+FN

4) 특이도 Specificity
→ 실제 음성 중 예측을 맞춘 비율
True Negative Rate(TNR)
Specificity=TNTN+FP

※) 성능 척도 간의 Trade-off
Precision vs, Recall(Sensitivity)
Sensitivity(Recall) vs. Specificity
5) F1-Score
Precision과 Recall의 조화평균
F1=2∗precision∗recallprecision+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 |