머신러닝 분류 모델의 성능 평가 지표

이번 x-review에서는 우리가 흔히 모델 평가 시 사용하는 평가 지표에 대해 이야기 해보려고 합니다.

우선 다음과 같은 평가 지표들이 대표적으로 있습니다.

Accuracy, Recall, Precision,F1 score

이들은 모델이 정답을 맞히거나 틀리는 경우의 수에 따라 표현되는데 경우의수는 다음과 같습니다.

  • True Positive: 실제 Positive인 정답을 Positive라고 예측 (True)
  • True Negative: 실제 Negative인 정답을 Negative라고 예측 (True)
  • False Positive: 실제 Negative인 정답을 Positive라고 예측 (False)
  • False Negative: 실제 Positive인 정답을 Negative라고 예측 (False)

1. Accuracy

Accuracy는 전체 예측 건수에서 정답을 맞힌 건수의 비율이다. (여기서 정답을 맞힐 때 답이 Positive든 Negative든 상관 없다. 맞히기만 하면 된다.)

이러한 평가 지표의 문제점은 실제 데이터에 Negative 비율이 너무 높아서 희박한 가능성으로 발생할 상황에 대해 정확도 역설(Accuracy Paradox) 문제를 초래한다는 점이다.

예를 들어 분류기가 정답을 True Negative로만 잔뜩 맞히는 셈이다. True Positive는 하나도 발견하지 못하고.

2.Recall

실제로 정답이 True 인 것들 중에서 분류기가 True로 예측한 비율이다. 그래서 애초에 True가 발생하는 확률이 적을 때 사용하면 좋다.

안타깝게도 recall 또한 완벽한 통계 지표가 아니다. 언제나 True만 답하는 분류기가 있다고 해보자. True가 발생하는 확률이 높은 과제에서 이 분류기의 recall은 1이 된다.

3. Precision

Recall과는 반대의 개념이라고 보면 된다.예를 들어 언제나 True만 답하는 분류기가 있다면 recall은 1로 나오겠지만 , precision은 0에 가까울 거다. 

결국 precision을 사용할 때의 단점은 곧 recall을 사용할 때의 장점이 되기도 한다.recall과 precision은 서로 반대 개념의 지표이기 때문이다. 하나가 내려가면 다른 하나는 올라갈 수밖에 없다.

그래서 알고리즘을 평가할 때 recall과 precision 모두 나름대로 유용한 지표이긴 하지만, 그 알고리즘의 성능을 충분히, 효과적으로 표현하기에는 한계가 있다. 그래서 생겨난 게 recall과 precision의 조화평균, F1 Score다.

4. F1 Score

평균(산술평균)을 쓰지 않고 조화평균을 구하는 이유는 recall, precision 둘 중 하나가 0에 가깝게 낮을 때 지표에 그것이 잘 반영되도록, 다시말해 두 지표를 모두 균형있게 반영하여 모델의 성능이 좋지 않다는 것을 잘 확인하기 위함이다.

예를 들어 recall, precision이 각각 1과 0.01이라는 값을 가지고 있다고 하자.

산술평균을 구하면 (1 + 0.01) / 2 = 0.505, 즉 절반은 맞히는 것처럼 보인다. 그러나 조화평균을 구해보면 2 * (1 * 0.01) / (1 + 0.01) = 0.019가 된다. 낮게 잘 나온다.

Author: rcvlab

RCV연구실 홈페이지 관리자 입니다.

1 thought on “머신러닝 분류 모델의 성능 평가 지표

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다