본문 바로가기

IT

Confusion Matrix

728x90

 

 

Confusion Matrix

 

이미지 분류에서 혼동 행렬과 평가 지표에 대해 알아보겠습니다.

이미지 분류는 이미지 전체를 특정 레이블로 이해하고 분류하는 작업입니다. 예를 들어, 고양이와 개의 이미지를 구분하는 모델을 만들었다면, 모델이 고양이 이미지를 고양이로, 개 이미지를 개로 정확하게 분류하는지 평가해야 합니다.
이미지 분류의 평가 방법 중 하나는 혼동 행렬$($confusion matrix$)$입니다. 혼동 행렬은 모델의 예측 결과와 실제 정답을 비교하여 얼마나 일치하는지를 나타내는 표입니다. 혼동 행렬은 다음과 같은 형태로 나타낼 수 있습니다.

    \begin{align}Predicted \, Class\end{align}  
\begin{align}Actual\\Class\end{align}   \begin{align}Postive\end{align} \begin{align}Negative\end{align}  
\begin{align}Postive\end{align} \begin{align}True \, Positive \, (TP)\end{align} \begin{align}&False \, Negative \, (FN) \\&Type \, II \, Error\end{align} \begin{align}&Sensitivity \\& = \frac{TP}{TP + FN}\end{align}
\begin{align}Negative\end{align} \begin{align}&False  \, Positive \, (FP) \\& Type \, I \, Error\end{align} \begin{align}True \, Negative \, (TN)\end{align} \begin{align}&Specificity \\& = \frac{TN}{TN + FP}\end{align}
  \begin{align}&Precision \\& = \frac{TP}{TP + FP}\end{align} \begin{align}&Negative\,Predictive\,Value \\ &= \frac{TN}{TN + FN}\end{align} \begin{align}&Accuracy \\ &= \frac{TP + TN}{TP + TN + FP + FN}\end{align}

 

여기서 TP$($True Positive$)$는실제양성인이미지를양성으로예측한경우,TN$($True Negative$)$는실제음성인이미지를음성으로예측한경우,FP$($False Positive$)$는실제음성인이미지를양성으로잘못예측한경우,FN$($False Negative$)$는 실제 양성인 이미지를 음성으로 잘못 예측한 경우를 의미합니다.

예를 들어, 고양이와 개의 이미지 분류 모델에서 고양이를 양성, 개를 음성으로 정의한다면, TP는 고양이 이미지를 고양이로 맞춘 경우, TN은 개 이미지를 개로 맞춘 경우, FP는 개 이미지를 고양이로 틀린 경우, FN은 고양이 이미지를 개로 틀린 경우가 됩니다.
혼동 행렬을 이용하면 다양한 평가 지표를 계산할 수 있습니다. 평가 지표는 모델의 성능을 수치화하여 비교하거나 개선할 수 있게 해줍니다. 대표적인 평가 지표는 다음과 같습니다.

정밀도$($Precision$)$: 양성으로 예측한 값중에 실제 양성인 비율입니다. 정밀도가 높으면 잘못된 예측을 줄일 수 있습니다.
재현율$($Recall$)$또는민감도$($Sensitivity$)$: 실제 양성인 값중에 양성으로 예측한 비율입니다. 재현율이 높으면 놓친 예측을 줄일 수 있습니다.
F1 점수$($F1 Score$)$: 정밀도와 재현율의 조화평균입니다. 정밀도와 재현율을 모두 고려하는 평가 지표입니다.

정밀도, 재현율, F1 점수는 다음과 같은 수식으로 계산할 수 있습니다

\begin{align}Precision &= \frac{TP}{TP + FP}\end{align}
\begin{align}Recall &= \frac{TP}{TP + FN}\end{align}
\begin{align}F1 Score &=  2 * \frac{Precision * Recall}{(Precision + Recall)}\end{align}

이외에도 특이도$($Specificity$)$,정확도$($Accuracy$)$,음성예측값$($Negative Predictive Value$)$ 등의 평가 지표가 있습니다. 특이도는 실제 음성인 값중에 음성으로 예측한 비율, 정확도는 전체 예측 중에서 맞춘 비율, 음성 예측 값은 음성으로 예측한 값중에 실제 음성인 비율입니다. 이들 평가 지표는 다음과 같은 수식으로 계산할 수 있습니다.

\begin{align}Specificity &= \frac{TN}{TN + FP}\end{align}
\begin{align}Accuracy &= \frac{TP + TN}{TP + TN + FP + FN}\end{align}
\begin{align}Negative\,Predictive\,Value &= \frac{TN}{TN + FN}\end{align}

 

더보기

이진 분류 문제에서는 혼동행렬을 통해 얼마나 정확하게 진단하거나 필터링하는지 알 수 있습니다.

 
예를 들어, 암 진단에서 TP는 암 환자를 암이라고 예측한 경우, FN은 암 환자를 정상이라고 예측한 경우, FP는 정상인을 암이라고 예측한 경우, TN은 정상인을 정상이라고 예측한 경우입니다.
스팸 메일 필터링에서 TP는 스팸 메일을 스팸이라고 예측한 경우, FN은 스팸 메일을 정상이라고 예측한 경우, FP는 정상 메일을 스팸이라고 예측한 경우, TN은 정상 메일을 정상이라고 예측한 경우입니다.
 
 
각 평가 지표들은 모델의 성능을 다른 관점에서 측정합니다. 예를 들어, 정확도는 전체 샘플 중에서 올바르게 분류된 비율을 나타냅니다. 하지만 불균형한 데이터셋에서는 정확도만으로는 모델의 성능을 판단하기 어렵습니다.
 
재현율은 실제로 양성인 샘플 중에서 양성으로 예측한 비율을 나타냅니다. 암 진단에서는 FN을 줄이는 것이 중요하기 때문에 재현율이 높아야 합니다.

정밀도는 양성으로 예측한 샘플 중에서 실제로 양성인 비율을 나타냅니다. 스팸 메일 필터링에서는 FP를 줄이는 것이 중요하기 때문에 정밀도가 높아야 합니다.

F1 점수는 정밀도와 재현율의 조화 평균으로, 두 지표의 균형을 나타냅니다. F1 점수가 높다면 모델의 성능이 좋다고 할 수 있습니다. 

 

이미지 분류에서 혼동 행렬과 평가 지표를 이용하면 모델의 성능을 쉽게 파악하고 개선할 수 있습니다. 혼동 행렬과 평가 지표는 이미지 분류뿐만 아니라 다른 분류 문제에도 적용할 수 있습니다. 이미지 분류에 관심이 있으시다면 혼동 행렬과 평가 지표를 활용해보세요. 감사합니다.🙏