티스토리 뷰

ML (Machine Learning)

분류 성능 모델 평가 지표

기내식은수박바 2019. 4. 7. 17:26
반응형

모델 평가 방법

  • 좋은 모델을 만들려면 어떤 모델이 좋은 것인가부터 정해야 한다.

 

평가 메트릭 (Metric)

  • Y, N 두 종류 클래스를 분류한다고 해보자.
  • 분류 모델에서의 모델 평가 메트릭 (Metric) 은 아래의 두 값의 발생 빈도를 나열한 혼동 행렬으로 부터 계산한다.
    • 모델에서 구한 분류의 예측값
    • 데이터의 실제 분류실제 값

 

혼동행렬(Confusion Matrix)

혼동 행렬 (Confusion Matrix)

  • 혼동 행렬의 각 셀에 붙은 이름은 아래 설명과 같다.
    • True & False : 예측이 정확했는지를 뜻한다.
    • Positive & Negative : 모델을 통해 예측한 값을 의미한다.
  • 예를 들어, True Positive (TP)예측이 정확했고 (True), 이때 예측값은 Positive (즉, Y) 였음을 뜻한다.
  • 또 다른 예로, False Positive (FP)예측이 틀렸고 (False), 이때 예측값은 Positive (즉, Y) 였음을 뜻하며, 틀렸으니 실제 분류는 Negative (즉, N) 다.

 

혼동 행렬로부터 계산할 수 있는 계산 메트릭 종류

정확도 (Accuracy)

\(Accuracy \, =\) \(TP \, + \, TN\over TP \, + \, FP \, + \, FN \, + \, TN\)

  • 전체 예측에서 (Y, N 상관없이 모두) 옳은 예측의 비율이다.
  • 직관적으로 이해하기 쉬워서 많이 사용한다.
  • 하지만, 데이터가 불균형 (특정 클래스 비율이 높다면) 하다면, 제대로 평가하기 어렵다.

 

정밀도 (Precision)

\(Precision \, =\) \(TP\over TP \, + \, FP\)

  • Y로 예측된 것 중 실제로도 Y인 경우의 비율이다.

 

재현율 (Recall)

\(Recall =\) \(TP\over TP+FN\)

  • 실제로 Y인 것들 중 예측이 Y로 된 경우의 비율이다.
  • TP (True Positive) Rate, Hit Rate, Sensitivity (민감도) 로도 부른다.
  • 통계학에서는 Sensitivity로, 다른 분야에서는 Hit Rate 로도 부른다고 한다.

 

정밀도 (Precision) 와 재현율 (Recall) 의 Trade-Off

  • 정밀도와 재현율 모두 실제 정답이 Y인데 모델이 Y라고 예측한 경우에 집중되 있으나, 바라보는 관점이 다르다.
  • 정밀도모델의 입장에서, 재현율은 실제 정답 (Data) 의 입장에서 정답을 맞춘 경우롤 바라본다.
    • ex) 100개의 데이터 중 90개가 Y이고, 10개가 N인데, 확실하게 5개만 Y라고 예측한다면, 당연히 Y라고 예측한 데이터 중 실제 Y (Precision) 인 데이터는 100%가 나온다.
    • 하지만, 이러한 모델이 이상적인 것은 아니며, 실제 Y인 90개 데이터 중 Y를 예측한 경우의 수도 고려해야 한다.
    • Precision과 Recall을 함께 고려하면, 실제 Y 데이터의 입장에서 우리 모델이 Y라고 예측한 비율을 함께 고려하게 되어 제대로 평가가 가능하다.
    • 이 두 지표는 서로 Trade-Off 관계이며, 상호보완적으로 사용할 수 있고, 두 지표값이 모두 높을수록 좋은 모델이다.
  • 아래 그래프는 여러 기법들에 대한 정밀도와 재현율의 Trade-Off를 보여주는 하나의 예시이다.

Precision & Recall Trade-Off

AP (Average Precision)

  • Precision-Recall 그래프는 알고리즘의 전반적인 성능을 파악하기 좋지만, 정량적 (Quantitavely) 으로 평가하기에는 불편한 점이 존재한다.
  • AP는 Precision-Recall의 알고리즘 성능을 하나의 수치로 평가하기 위해 나온 개념이며, 그래프 선 아래쪽 면적으로 계산된다.
  • AP는 보통 컴퓨터 비전에서 Object Detection & Image Classification 알고리즘의 성능을 평가하는 데 사용한다.

 

특이도 (Specificity)

\(Specificity =\) \(TN\over FP+TN\)

  • 실제로 N인 것들 중 예측이 N으로 된 경우의 비율이다.
  • True Negative Rate 로도 부른다.

 

FP-Rate

\(FP-Rate =\) \(FP\over FP+TN\)

  • 실제 값이 N인 것들 중 Y로 예측한 비율이다.
  • 1 - Specificity 와 같은 값이다.
  • False Alarm Rate 로도 부른다.

 

F1-Score

\(F1\)-\(Score \, = \) \(2 \over Precision^{-1} \, + \, Recall^{-1}\)

                         \(=\) \(2 \, \times\) \(Precision \, \times \, Recall \over Precision \, + \, Recall\)

  • Precision과 Recall조화 평균 (Harmonic Mean) 을 이용한 Score이다.
  • 조화 평균을 통해 큰 값의 편향 (Bias) 의 영향이 줄어들기 때문에, 데이터가 불균형할 때 평가하는 지표로 사용한다.
  • 시스템의 성능을 하나의 수치로 표현하기 위해 사용하는 점수로, 0 ~ 1 사이의 값을 가진다.
  • Precision과 Recall 두 값이 균형있게 클 때, 큰 값을 가진다.

조화 평균을 이용한 F1-Score 표현

 

ROC (Receiver Operator Characteristic) Curve

  • ROC Curve는 점수 기준을 달리할 때, TP Rate와 FP Rate가 어떻게 달라지는지 그래프로 표시한 것이다.
    • 바꿔 말하면, FP Rate 대비 TP Rate의 변화를 의미한다.
  • y축Recall (Sensitivity) 을 표시하면서, x축에는 아래와 같이 두 가지 형태로 표시할 수 있다.
    • x축 왼쪽에 1부터 오른쪽에 0까지 표시한다. -> 1 - Specificity = FP-Rate
    • x축 왼쪽에 0부터 오른쪽에 1까지 표시한다. -> Specificity
  • ROC Curve에서 대각선은 쓸모없는 '랜덤한 분류분석기'를 나타낸다.
  • 쓸모없는 예측, 즉 단순히 랜덤하게 성공 / 실패를 예측하는 모형은 어떤 분계점에서도 TPR = FPR이므로 ROC 평면 상에서 대각선에 해당하는 것이다.

AUC (Area Under the Curve)

  • ROC Curve를 그린 뒤, 그 아래의 면적을 지칭하는 말이며, 모델 간 성능 비교에 사용한다.
  • 아래 그림에서는 빨간색으로 빗금친 영역을 말한다.
  • 위에서 언급한 쓸모없는 랜덤 분류분석기의 AUC는 0.5이며, 좋은 분류분석기일수록 1.0에 가깝다.

 

Reference

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함