본문 바로가기

AI/ML

[9/24] 아이펠 리서치 15기 TIL | Evaluation Matric

반응형

1. 오늘 배운 내용

오늘은 판다스를 이용한 기초적인 데이터 전처리와 모델 평가 척도를 배웠다.

 

이번 노드에서 총 6가지의 데이터 전처리 방법을 배웠다.

  1. 결측치
  2. 중복 데이터
  3. 이상치
  4. 정규화 & 표준화
  5. 원-핫 인코딩
  6. 구간화

하지만 이번 포스팅은 모델 평가 척도에 대해 다룰 것이다.

목차
1. Loss & Metric
2. Confusion Matrix & Precision/Recal
3. Precision-Recall 커브 & ROC 커브
4. 회귀모델의 평가척도

1. Loss & Metric

  • Loss : 모델 학습시 학습데이터(train data) 를 바탕으로 계산되어, 모델의 파라미터 업데이트에 활용되는 함수
  • Metric : 모델 학습 종료 후 테스트데이터(test data) 를 바탕으로 계산되어, 학습된 모델의 성능을 평가하는데 활용되는 함수

Metric 함수를 Loss 로 사용하면 안되는 이유

  • 대부분의 Metric 함수는 불연속이라서 미분이 불가능함 → 경사하강법 사용 불가
  • 과적합(overfitting) 문제 발생 → train 데이터에만 맞게 학습되어서 test 데이터에서는 낮은 성능을 보임
  • 값이 크게 변동하는 경향이 있음 → 최소값이 아닌 극소값에 도달하거나 발산할 가능성이 있음
  • 이런 이유들로 인해 보통 MSE나 cross-entropy를 loss 함수로 사용함

2. Confusion Matrix & Precision/Recal

  • True Positive (TP) - 모델이 양성(Positive)을 양성으로 맞혔을 때
  • True Negative (TN) - 모델이 음성(Negative)을 음성으로 맞혔을 때
  • False Positive (FP) - 모델이 음성(Negative)을 양성(Positive)으로 잘못 예측했을 때
  • False Negative (FN) - 모델이 양성(Positive)을 음성(Negative)으로 잘못 예측했을 때

  • 정확도(Accuracy) = (TP + TN) / (TP + TN + FN + FP)
  • 정밀도(Precision) = TP / (TP + FP) → 모델이 Positive라고 예측한 것들 중 실제로 Positive인 비율
  • 재현율(Recall) = TP / (TP + FN) → 실제 Positive인 것들 중 모델이 Positive라고 예측한 비율

F-score

여기서 beta = 1일 경우 F1-score 라고 한다.

  • Precision을 더 중요시 → beta > 1
  • Recall을 더 중요시 → beta < 1

3. Precision-Recall 커브 & ROC 커브

(1) PR 커브(Precision-Recall Curve)

  • Recall을 X축, Precision을 Y축에 놓고 Threshold 변화에 따른 두 값의 변화를 그래프로 그린 것

  • 그래프 아래쪽의 면적을 구한 것이 PR AUC(Area Under Curve)
  • sklearn 패키지의 average_precision_score사용해서 구할 수 있다.

(2) ROC 커브(Receiver Operating Characteristic Curve)

  • Confusion Matrix 수치를 활용해, 분류기의 분류 능력을 그래프로 표현하는 방법
  • X축은 TPR(Sencitivity), Y축은 FPR(1 - Specificity)로 구성
  • TPR = TP / (TP + FN)
  • FPR = FP / (TN + FP)

  • 점선이 ROC이고, 그 밑 영역은 AUC
  • AUC의 넓이가 클수록 좋은 성능의 모델이다.
  • sklearn 패키지의 roc_curve 와 auc 함수를 사용해 커브를 그리고 AUC를 구할 수 있다.
  • 이 곡선(ROC)이 대각선에 가까울수록 무작위 성능에 가까워진다.

4. 회귀모델의 평가척도

  • MSE(Mean Square Error), RMSE(MSE에 루트를 씌운 형태) 등 square 계열의 Metric
  • MAE(Mean Absolute Error), MAPE(MAE를 백분율로 나타낸 것) 등 절대값 계열의 Metric
  • 오차에 크기에 영향을 더 많이 받는 square 계열의 Metric이 이상치에 민감하다.


2. 느낀 점, 어려웠던 점

오늘 배운 내용들은 저번 시간과 다르게 생소한 것(Git)이 아니라 학교 전공으로 배웠던 경험이 있어서 비교적 수월하게 진행할 수 있었다. 하지만 Confusion Matrix(혼동 행렬)의 경우는 몇 번을 해도 할 때마다 헷갈린다. 용어가 착착 붙지 않아서 그런 것 같다. 노드 후반에 다양한 ML모델의 평가척도(회귀모델, 생성형 이미지, 추천시스템 등)을 소개하는 글을 읽었는데, 이것들은 처음 보는 것들이라 재미있었다.

반응형