📖 Theory/AI & ML

[AI/ML] Classification 성능 평가 방법

뭅즤 2022. 3. 23. 00:11
반응형

Classification의 성능 평가 방법인 TP, TN, FP, FN, Recall, Precision, ROC,... 등을 정리

 

Binary classification 성능 평가

  • True Positive(TP) : P → P 로 예측 (정답)
  • True Negative(TN) : N → N 으로 예측 (정답)
  • False Positive(FP) : N → P 로 예측 (오답)
  • False Negative(FN) : P → N 으로 예측 (오답)

 

 

  • Accurarcy : 모든 입력 데이터 중, 잘 분류한 데이터의 비율
  • Recall : Positive 중에 Positive라고 예측한 비율. (P→P)와 (P→N) 중 (P→P)의 비율
  • Precision : Positive 라고 예측한 것 중 실제 positive 인 비율. (P→P)와 (N→P) 중 (P→P)의 비율
  • Receiver Operating Characteristics (ROC) : TPR과 FPR을 각각 세로축 가로축으로 한 그래프. TPR은 positive 데이터 중 positive로 예측한 비율(recall과 동일)로 높을 수록 좋고, FPR은 negative 데이터 중 positive로 잘못 예측한 비율로 낮을수록 좋다. 하지만, binary classification의 경우 TPR 과 FPR은 트레이드 오프의 관계를 가지므로 ROC curve를 visualize하여 각 임계값에서의 성능을 확인하는 것이 중요하다.
  • Area Under Curve (AUC) : ROC curve의 우하단 쪽의 면적으로, AUC가 1에 가까울 수록 좋은 성능이다.

 

ROC and AUC

 

Multi-class Classification 성능 평가

 

  • Mean Accuracy : 전체 클래스 중 정답을 맞추는 비율 평균
  • Standard Deviation : 표준 편차
  • Confusion Matrix : 클래스 by 클래스 예측 비율
  • t-distributed Stochastic Neighbor Embedding(t-SNE) : 고차원의 데이터를 2차원으로 차원축소하여 시각화
  • 추가 : # of parameters, FLOPS, GPU Time, 학습 속도,.. etc

 

  • multi-class 의 경우 여러 class의 평균 정확도를 기본으로 training/test dataset 의 split이 여러개로 나뉘어 있는 경우, 표준편차를 함께 명시 (표준편차가 낮을수록 데이터셋에 robust한 안정적인 모델로 볼 수 있음)

 

  • 또한, class by class 성능을 보기 위해 confusion matrix를 사용하거나, 이전 SOTA 모델들과 공평하게 비교하기 위해 딥러닝 모델의 파라미터 수, 계산량 등을 명시 (아무리 성능이 좋아져도 파라미터 수가 너무 많아지거나 계산량이 너무 많아진다면 비효율적인 모델이기 때문)

 

  • t-SNE의 경우 데이터를 feature space로 embedding 한 결과가 같은 클래스끼리 얼마나 잘 뭉치고, 다른 클래스와는 잘 분리되는지 시각화하기 위해 사용.  또한, 다른 클래스이지만 유사한 클래스끼리는 feature space에서 가깝게 위치하는 등 manifold 차원에서의 분석이 가능.

 

mean acc, std, confusion matrices 예시
# of parameters, FLOPS, GPU Times 예시

반응형