모델평가 Flashcards
모델평가
[필요성] Overfitting, Underfitting, 편향/분산 Trade-off -> 교차 검증, 혼동행렬, ROC 커브
[유형]
- 교차검증 : Exhaustive CV(LpOCV, LOOCV), Non-Exhaustive CV (K-fold CV, Repeated Learning Test)
- 혼동행렬 : 실제값, 예측값
- ROC 커브 : TRP, FPR
- 정밀도 재현율 Plot : Precision, Recall
- 평균제곱근 오차 : 실제값, 예측값의 차이를 기준 오차 판별
- F1-Score : 2 * (precision*recall) / precision + recall
혼동행렬
[리드] 머신러닝 모델 평가 기법
[정의] 잘못된 예측의 영향을 파악하기 위해 예측값과 실제값 일치 여부를 행렬로 분류하는 모델 평가 기법
[메트릭스]
(실제값) / (예측값) Positive | Negative | 평가항목
Positive TP FN 민감도(재현율)
Negative FP TN 특이도
정밀도 - 정확도
* 평가 결과 기반의 다양한 Metric 을 활용하여 학습 성능 평가
[혼동행렬 기반 성능 평가 Matrix] (민특정밀)
- 민감도(진양성률,재현율)(Sensitivity/Recall) : TP / (TP+FN) → TPR
- 특이도(Specificity) : TN / (TN+FP)
- 정확도(Accuracy) : (TP+TN) / (TP+TN+FP+FN) - 전체 예측에서 옳은 예측
- 정밀도(Precision) : TP / (TP+FP)
- 위양성률(FP Rate(False Alarm)) : FP / (FP + TN) = 1 - 특이도 → FPR
* 평가항목의 수치 기반 정량화를 통해 객관적 평가 가능 시각화를 통해 효과적 분석 지원 (ROC)
F1 Score
[정의] 혼동 행렬의 정밀도와 재현율의 조화평균을 구하여 수치로 나타낸 평가 지표
[수식] F1 = 2 * 1 / ((1/recall) + (1/precision)) = 2 * (precision*recall) / precision + recall
- 정밀도(Precision) : TP / (TP+FP)
- 재현율(Recall) : TP / (TP+FN)
[특징] 조화평균(정밀도와 재현율의 중요성을 동일하게 취급), Trade-Off 고려 (정밀도와 재현율은 Trade-Off관계)
[분석] F1-Score가 1에 가까울수록 좋은 모델 성능으로 평가
* 정밀도와 재현율의 평균인 F1 scroe의 값이 높으면 높은 성능
ROC Curve
[리드] 모델 성능 시각화 기법
[정의] FP Rate(위양성율) 대비 TP Rate(민감도) 변화율 통한 불확실성 수용 모델평가 기법
[특징]
- 완벽 분류기(Perfect Classifier)는 민감도 1, 위양성율 0 직선이며, 이에 가까울수록 좋은 성능
- AUC(Area Under Curve)는 ROC 커브 면적으로 측정되며 1에 가까워야 학습 모델의 성능 좋음
[분석모델 평가지표 유형]
1. Fall-out : FPR(False Positive Rate) = FP/(TN+FP)
2. ROC : FPR 대비 TPR, 왼쪽 위 모서리에 가까울수록 모델성능 우수
3. AUC : Area Under Curve, ROC Curve 아래의 면적 값을 이용한 비교
[분석방법]
- ROC 커브 : 좌표의 연결선(FPR,TPR)이 (0,1)에 가까울 수록 정확
- AUC 면적 : 특이도 감소와 민감도 상승 상관 관계 (1이 최고성능/ 0.5는 성능0)
[차별화] AUC 수치에 따른 평가
- 0.5 (비 정보적), 0.5 < AUC < 0.7 (덜 정확), 0.7 < AUC < 0.9 (중등도 정확), 0.9 < AUC < 1 (매우 정확), AUC=1 (완벽한 검사)
홀 아웃
[정의] 레이블된 데이터셋을 훈련 셋과 테스트 셋으로 나누고, 훈련셋으로 학습시킨 다음 테스트셋을 예측하는 평가방법
[프로세스]
1. 데이터셋을 훈련셋과 테스트셋으로 분리 (보통 2/3을 훈련셋, 1/3을 테스트셋으로 구성)
2. 학습알고리즘의 파라미터(Hyperparameter Value)를 지정하여 학습
3. 새롭게 접하는 테스트셋을 사용하여, 성능추정
4. 예측된 레이블과 실제 레이블 비교
5. 모델수립
분석모델 분석방법
-ROC Curve:좌표의 연결선(FPT,TPR)이 (0,1)에 가까울수록 정확
-AUC 면적:특이도 감소와 민감도 상승 상관 관계(1이 최고성능/0.5는 성능0)
분석모델 평가지표 유형
1.Fall-Out:FPR(False Positive Rate) = FP/(TN+FP)
2.ROC:FPR 대비 TPR, 왼쪽 위 모서리에 가까울수록 모델 성능 우수
3.AUC:Area Under Curve, ROC Curve 아래의 면적 값을 이용한 비교
혼동행렬 Metric
-민감도(진양성률,재현율)(Sensitivity/Recall) : TP / (TP + FN) ->TPR
-특이도(Specificity): TN / (TN+FP)
-정확도(Accuracy): (TP+TN)/(전체)
-정밀도(Precision): TP / (TP+FP)
-위양성률(FP Rate): FP / (FP+TN) = 1 - 특이도 -> FPR
*평가항목 수치 기반 정량화를 통해 객관적 평가 가능 시각화를 통해 효과적 분석 지원(ROC)
Train Validation
[정의] Training set, Test set, Validation set을 통해서 모델의 정확도를 검증하는 방법
[적용] 데이터가 충분히 많은 경우
[데이터 Set] Training set, Test set, Validation set
교차검증
[리드] 머신러닝 모델 신뢰성 향상 방안
[정의] 학습데이터를 Training set과 Validation set으로 분리, 학습과 평가를 반복 실시하는 검증 기법
[필요성]
- 신뢰성 있는 모델 평가 : 파라메터 튜닝하고 일반적인 모델 만들어 신뢰성 향상
- Overfitting 방지 : 고정된 Test Set으로만 확인할 경우 Overfitting 발생 가능
* 추출 기법에 따라 Exhaustive CV, Non-Exhaustive CV 기법 분류
[기법]
<Exhaustive CV (전체 검증)>
- LpOCV (Leave-p-Out CV) : p개의 샘플 선택 모델 검증에 활용 (전체 데이터 N개, 평가데이터 p개)
- LOOCV (Leave-One-Out CV) : 전체 샘플수 n만큼 반복, LpOCV에서 p=1인 경우, LpOCV보다 적은 소요시간(전체 데이터 N개, 평가데이터 1개)
<Non-Exhaustive CV (부분 검증)>
- K-Fold Cross Validation : k개의 fold를 구성 각 데이터 학습 및 Validation 평가후 평균 내어 최종 성능
- Stratified KFCV : KFCV의 단점 보안 전체 데이터의 클래스 비율 고려 Set 구성 (동일 Class 비율)
- RLT(Repeated Learning Testing) : 랜덤하게 Train Set과 Validation Set 분리
K-Fold Cross Validation
[정의] 전체 데이터를 K 라운드 횟수만큼 교차하여 추출하여 학습 및 평가후 평균을 통해 최종 성능을 검증하는 방법
[특징] Overfitting 방지, 짧은 실행시간
[구성] 원시 데이터 → Training set(80%), Test set(20%) → Training set을 K개의 Validation set → Training set과 Test set을 K번 교차 검증 → 모델 평가
* Training/Validation/Test set 구분 후, Validation Set 과 Test Set 활용을 통한 Data 활용률 극대화
* k값이 작아질수록 평가 성능의 변동이 있지만, 계산속도가 빠르고, Overfitting 의 가능성을 줄이기 때문에 널리 사용됨
[차별화] 클래스 비율이 상이하게 분포되어 원치 않는 결과 도출 가능성
- Stratified KFCV 이용 : Class 비율을 고려한 데이터 Set 구성
Bootstrap
[정의] 전체 데이터에서 무작위 복원 추출로 훈련 집합을 생성하여 검증하는 방법
[적용] 데이터가 충분하지 않는 경우, 모집단 분포 가정 어려운 경우