본문 바로가기

딥러닝/Deep learning 용어 정리

분류 모델 성능 평가 지표 (Precision, Recall, Accuracy, F1-Score)

모델을 평가하는 요소는 모델이 내놓은 예측(Predicted) 값과 실제 정답(Ground Truth)의 관계로 정의 내릴 수 있습니다.

정답은 True 또는 False로 구분 할 수 있고, 모델 또한 True 또는 False의 답을 출력합니다. 위와 같은 관계를 2x2 matrix로 표현 가능합니다.

  • True Positive(TP): 실제 True인 정답을 True 라고 예측 -> 정답
  • False Positive(FP): 실제 False인 정답을 True라고 예측 -> 오답
  • False Negative(FN): 실제 True인 정답을 False라고 예측 -> 오답
  • True Negative(TN): 실제 False인 정답을 False라고 예측 -> 정답

1. Precision and Recall

1) Precision (정밀도)

Precision이란 모델이 True라고 출력한 값 중에 실제 True인 비율을 의미 합니다.

 

2) Recall (재현율)

Recall이란 실제 True인 것들 중에서 모델이 출력한 값이 True라고 예측한 비율입니다.

Precision과 Recall의 관계

예를 들어 실제 날씨가 맑은 날 중에서 모델이 맑다고 예측한 비율을 나타낸다고 가정하면, Precision과 Recall은 True/Positive를 바라보는 관점을 다르게 보는 것입니다. 다시 말해서 Precision이나 Recall은 모두 실제 정답을 모델이 True라고 Predict한 경우에 관심이 있는 것은 공통이지만 서로 관점의 차이가 있습니다.

Precision은 모델의 입장에서 정답을 맞춘 경우를 Recall 은 실제 정답의 입장에서 True 라고 맞춘 경우를 바라보고 있습니다.

"어떤 요소에 의해, 확실히 맑은 날을 예측할 수 있다면 해당하는 날에만 맑은 날이라고 예측하면 되겠다."

 

위의 경우에는 확실하지 않은 날에는 예측을 하지 않고 보류하여 FP의 경우를 줄여, Precision을 편법으로 끌어 올리는 경우 입니다. 예를 들어 한달 30일 동안 맑은 날이 20일 이었는데, 확실히 2일만 맑다고 예측한다면, 맑다고 예측한 날 중에 실제 맑은 날의 Precision은 100%가 되게 됩니다. 이러한 모델은 좋지 못한 모델입니다.

 

실제 맑은 20일 중에서 에측한 맑은 날의 수도 고려해야 합니다. 이 경우에 Precision 만큼 높은 결과가 나오지 않습니다.  Precision과 함계 Recall을 함께 고려하면 실제 맑은 날들의 입장에서 우리의 모델이 맑다고 예측한 비율을 함께 고려하게 되어 제대로 평가 할 수 있습니다. Precision과 Recall은 상호보완적인 관계이며, 두 지표가 모두 높을 수록 좋은 모델입니다.

 

Precision과 Recall의 Trade-off

Precision과 Recall은 서로 상호 보완적인 평가 지표이기 때문에 어느 한 쪽을 강제로 높이면 다른 하나는 떨어지기 쉽습니다. 이와 같은 관계를 Trade-off라고 부릅니다.

Precision과 Recall의 Trade-off를 결정하는 수치는 Threshold입니다.  Threshold는 Positive 예측값을 결정하는 확률의 기준이 됩니다. 보통 Binary classification의 경우 확률이 0.5를 넘어가면 Positive로, 0.5 이하면 Negative로 예측하는데, 이때 사용하는 값이 Threshold(0.5) 입니다.

Threshold를 낮추면 Positive로 더 많이 예측하니 Precision이 감소하고, Recall 은 증가합니다.

반대로 Threshold를 높이면, Positive로 에측하는 값이 더 적어지게 되니 Precision은 증가하고, Recall은 감소합니다.

2. Accuracy (정확도)

Accuracy는 위의 두지표의 True를 True라고 예측 한 경우와 마찬가지로 False를 False라고 예측한 경우도 옳은 경우 입니다. 이 경우를 고려하는 지표가 Accuracy입니다.

Accuracy는 가장 3지표중에서 가장 직관적으로 모델의 성능을 표현할 수 있는 평가 지표입니다. 하지만, 여기서 고려해야할 점이 doamin의 bias(편향) 입니다.

예를 들어 우리가 예측하고자 하는 기간이 여름이기 때문에 눈오는 날이 매우 희박하다고 가정해봅시다. 이 경우에는 해당 데이터의 domain 불균형하게 되므로 맑은 것을 예측하는 성능은 높지만, 눈이 오는 것을 예측하는 성능은 매우 낮을 수 밖에 없습니다. 그래서 이를 보완할 지표가 필요합니다.

 

3. F1 Score

3.1 F1 Score

F1 Score는 Precision과 Recall의 조화평균입니다.

F1 Score는 데이터 label이 불균형 구조일 때, 모델의 성능을 정확하게 평가할 수 있으며, 성능을 하나의 숫자로 표현할 수 있습니다. 여기서 단순 산술 평균을 사용하지 않는 이유는 조화 평균의 본질을 먼저 이해할 필요가 있습니다.

3.2 조화평균의 기하학적 접근

 

기하학적으로 단순 평균(산술 평균)으로 구하기 보다는 작은 길이 쪽으로 치우치게 된, 작은 쪽과 큰 쪽의 사이의 값을 가진 평균을 도출합니다. 이렇게 조화평균을 사용하면 산굴 평균을 이용하는 것보다, 큰 비중의 bias가 줄어든다고 합니다.

'딥러닝 > Deep learning 용어 정리' 카테고리의 다른 글

Inductive Bias  (0) 2021.11.06
Bias와 Variance  (0) 2021.11.06
Dice coefficient  (0) 2021.11.05
mAP (mean Average Precision)  (0) 2021.11.05
IoU (Intersection over Union)  (0) 2021.11.05