인공지능/평가지표

혼동 행렬과 성능 평가 지표

FedTensor 2025. 10. 30. 19:15

혼동 행렬(Confusion Matrix)

진단 장비의 성능을 파악하기 위하여 질병의 유무를 알고 있는 사람들을 대상으로 진단을 수행하고 아래와 같이 혼동 행렬을 작성합니다.

  • A: 진양성(True Positive) 수
  • B: 위양성(False Positive, 1종 오류) 수
  • C: 위음성(False Negative, 2종 오류) 수
  • D: 진음성(True Negative) 수

용어의 의미

'혼동 행렬'이라는 용어는 그 기능에서 직접 유래했습니다. 이 행렬은 분류 모델이 각 클래스(범주)를 얼마나 '혼동(confuse)'하는지를 한눈에 보여주기 때문입니다.

즉, 모델의 예측이 얼마나 헷갈렸는지를 시각적으로 표현한 표입니다.

  1. '혼동'의 주체: 모델 (또는 분류기)
  2. '혼동'의 내용: 하나의 클래스(실제 값)를 다른 클래스(예측 값)로 잘못 판단하는 것

행렬의 대각선 요소는 모델이 정확하게 예측한 경우(실제 'Positive'를 'Positive'로, 실제 'Negative'를 'Negative'로 맞춘 경우)를 나타냅니다. 이 부분은 모델이 '혼동'하지 않은 부분입니다.

반면, 대각선 밖의 요소들이 바로 '혼동'이 일어난 지점입니다.

  • False Positive (FP): 실제로는 'Negative'인데 'Positive'로 혼동 (Type I Error)
  • False Negative (FN): 실제로는 'Positive'인데 'Negative'로 혼동 (Type II Error)

이처럼 모델이 어떤 클래스를 어떤 다른 클래스로 착각하는지(혼동하는지) 그 횟수를 행렬로 정리했기 때문에 '혼동 행렬'이라는 이름이 붙었습니다.

역사적 배경

이 표의 기본 구조는 1904년 영국의 통계학자인 칼 피어슨(Karl Pearson)이 도입한 '분할표(Contingency Table)'에서 시작되었습니다.

이후 이 개념이 20세기 중반 심리학과 신호 탐지 이론(Signal Detection Theory) 등에서 활발하게 사용되었습니다. 예를 들어, 피실험자에게 희미한 신호를 들려주고 "들린다/안 들린다"를 답하게 할 때, 실제 신호가 없는데 "들린다"고 답하거나(FP) 실제 신호가 있는데 "안 들린다"고 답하는(FN) '혼동'을 분석하는 데 이 표가 사용되었습니다.

이처럼 사람이 자극을 '혼동'하는 것을 분석하던 용어가 머신러닝 분야로 넘어오면서, 기계(모델)가 데이터를 '혼동'하는 정도를 나타내는 표준적인 용어로 자리 잡게 되었습니다.

성능 평가

평가 항목 계산 공식 설명 특징
정확도(Accuracy) $\frac{ A+D }{ A+B+C+D }$ 전체 데이터 중에서 모델이 올바르게 예측한 비율 데이터의 클래스 비율이 균등할 때는 유용하지만, 불균형 데이터(예: 99%가 정상, 1%가 불량)에서는 성능을 왜곡할 수 있습니다. (모두 '정상'으로 예측해도 99%의 정확도가 나옴)
정밀도(Precision) $\frac{ A }{ A+B }$ 양성으로 판정한 사람이 실제로 질병을 가지고 있는 정도 FP(위양성)를 낮추는 것이 중요할 때 사용됩니다.
예시: 스팸 메일 분류. 정상 메일(Negative)을 스팸(Positive)으로 잘못 분류(FP)하면 안 되기 때문에 정밀도가 중요합니다.
재현율(Recall)/
민감도(Sensitivity)
$\frac{ A } { A+C }$ 질병이 있는 사람을 양성으로 판정하는 정도 FN(위음성)을 낮추는 것이 중요할 때 사용됩니다.
예시: 암 진단. 실제 암 환자(Positive)를 정상(Negative)으로 잘못 진단(FN)하면 치명적이므로 재현율이 중요합니다. (놓치는 환자가 없어야 함)
특이도(Specificity) $\frac{ D }{ B+D }$ 질병이 없는 사람을 음성으로 판정하는 정도  

성능 지표

F1 점수(Score)

양성, 음성 판단 기준을 변경하면 혼동 행렬에서 A, B, C, D의 값이 달라지고 이것은 정밀도와 재현율이 변한다는 것을 의미합니다. 위양성과 위음성을 모두 고려하여 성능을 평가할 때 아래와 같이 계산한 F1 점수를 사용할 수 있습니다.

  • F1 Score = $2 \times \frac{ Precision \times Recall}{ Precision + Recall }$ (정밀도와 재현율의 조화평균)

데이터가 불균형할 때 정확도의 대안으로 모델의 성능을 종합적으로 평가하기 좋습니다. 정밀도와 재현율이 모두 높을 때 F1 점수도 높아집니다.

AUC ROC

양성, 음성 판단 기준을 변경하면 혼동 행렬에서 A, B, C, D의 값이 달라지고 이것은 민감도와 특이도가 변한다는 것을 의미합니다. 그래서 양성, 음성 판단 기준을 조정해 가면서 아래와 같은 민감도, 특이도 그래프를 그릴 수 있습니다.

  • TP 비율(True Positive Rate) = 민감도
  • FP 비율(False Positive Rate) = 1 - 특이도

그래프 곡선 아래의 면적을 구함으로써 성능 평가 지표인 AUC(Area Under the Curve) ROC(Receiver Operating Characteristic)를 구합니다. 아래 그림의 그래프를 살펴 보면 AUC가 클수록 낮은 FP 비율을 유지하면서도 더 높은 TP 비율을 보여줍니다. 즉 서로 다른 두 장비의 진단 성능을 비교할 때 AUC가 큰 쪽의 진단 성능이 더 좋다고 말할 수 있습니다.

'인공지능 > 평가지표' 카테고리의 다른 글

mAP(mean Average Precision)  (0) 2025.10.31
혼란도(Perplexity, PPL)  (0) 2025.10.29