모델 평가 지표: 정확도, 정밀도, 재현율, F1-Score 완벽 해설
페이지 정보

본문
지난 시간에는 머신러닝 모델 성능을 저해하는 주범인 과적합과 과소적합에 대해 알아보았습니다. 모델을 훈련하고 나면 그 모델이 얼마나 잘 작동하는지 '평가'하는 과정이 필수적입니다. 이때 모델의 성능을 객관적으로 측정하고 비교할 수 있는 기준이 바로 모델 평가 지표입니다.
머신러닝, 특히 분류(Classification) 문제에서 단순히 '정확도(Accuracy)'만으로 모델의 성능을 판단하는 것은 위험할 수 있습니다. 예를 들어, 희귀 질병을 진단하는 모델의 경우, 환자가 아닌 사람의 데이터가 압도적으로 많기 때문에 정확도가 높아도 실제 환자를 제대로 진단하지 못할 수 있습니다. 이러한 함정을 피하고 모델의 장단점을 다각도로 파악하기 위해 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), F1-Score와 같은 다양한 평가 지표들이 사용됩니다. 이 지표들을 완벽하게 이해하는 것은 모델을 올바르게 개선하고 실전에 적용하는 데 필수적인 역량입니다.
로봇이 주변의 물체를 인식하거나, 특정 상황을 감지할 때, 단순히 '맞췄다/틀렸다'만 보는 것이 아니라 '정확하게 인식한 것은 몇 개인지', '실제로 인식해야 할 것을 놓친 것은 없는지' 등을 정밀하게 평가해야 합니다.
1. 혼동 행렬 (Confusion Matrix): 모든 평가 지표의 출발점
모델 평가 지표들을 이해하기 위한 첫걸음은 **혼동 행렬(Confusion Matrix)**입니다. 혼동 행렬은 모델의 예측 결과를 실제 클래스와 비교하여 4가지 유형으로 정리한 표입니다.
실제 Positive (P) 실제 Negative (N)
예측 Positive (P') True Positive (TP) False Positive (FP)
예측 Negative (N') False Negative (FN) True Negative (TN)
각 용어의 의미는 다음과 같습니다.
TP (True Positive): 실제 정답이 Positive인데, 모델이 Positive로 올바르게 예측한 경우.
(예: 실제 암 환자를 암 환자라고 진단, 실제 고양이를 고양이라고 인식)
FN (False Negative): 실제 정답이 Positive인데, 모델이 Negative로 잘못 예측한 경우. (오류 1종, Type 1 Error)
(예: 실제 암 환자를 건강하다고 오진, 실제 고양이를 다른 것으로 인식)
FP (False Positive): 실제 정답이 Negative인데, 모델이 Positive로 잘못 예측한 경우. (오류 2종, Type 2 Error)
(예: 건강한 사람을 암 환자라고 오진, 실제 다른 것을 고양이라고 잘못 인식)
TN (True Negative): 실제 정답이 Negative인데, 모델이 Negative로 올바르게 예측한 경우.
(예: 건강한 사람을 건강하다고 진단, 실제 다른 것을 다른 것으로 인식)
2. 분류 모델의 핵심 평가 지표 완벽 해설
혼동 행렬을 기반으로 다양한 평가 지표를 계산할 수 있습니다.
2.1. 정확도 (Accuracy)
정의: 전체 예측 중에서 모델이 올바르게 예측한 비율입니다.
Accuracy = (TP + TN) / (TP + TN + FP + FN)
의미: 가장 직관적인 지표로, 전체 데이터 중 모델이 얼마나 잘 맞추었는지를 나타냅니다.
문제점: 데이터 불균형(Imbalanced Data) 문제가 있을 경우 정확도만으로는 모델의 성능을 제대로 평가할 수 없습니다.
예시: 1000명 중 10명이 암 환자(Positive)인 데이터에서, 모델이 모든 사람을 '건강하다(Negative)'고 예측하면 990명은 맞추므로 정확도는 99%가 됩니다. 하지만 실제 암 환자 10명은 모두 놓친(FN=10) 매우 쓸모없는 모델입니다.
사용 적합: 데이터가 균형 잡혀 있을 때 유용합니다.
2.2. 정밀도 (Precision)
정의: 모델이 Positive라고 예측한 것 중에서 실제로 Positive인 비율입니다.
Precision = TP / (TP + FP)
의미: "거짓 긍정(FP)"을 얼마나 줄이는지가 중요한 지표입니다. 모델의 예측이 얼마나 **'정확한가'**를 나타냅니다.
중요한 경우: FP(실제 Negative인데 Positive로 잘못 예측)를 낮춰야 할 때 중요합니다.
예시: 스팸 메일 분류 (정상 메일을 스팸으로 오분류하면 중요한 메일을 놓침), 자율주행 (도로 표지판이 아닌 것을 도로 표지판으로 오인), 검색 엔진 (엉뚱한 결과를 보여줌).
FP가 큰 문제가 되는 상황에서 정밀도가 높은 모델을 선택합니다.
2.3. 재현율 (Recall) 또는 민감도 (Sensitivity)
정의: 실제 Positive인 것 중에서 모델이 Positive로 올바르게 예측한 비율입니다.
Recall = TP / (TP + FN)
의미: "거짓 음성(FN)"을 얼마나 줄이는지가 중요한 지표입니다. 모델이 실제 Positive를 얼마나 **'잘 찾아내는가'**를 나타냅니다.
중요한 경우: FN(실제 Positive인데 Negative로 잘못 예측)을 낮춰야 할 때 중요합니다.
예시: 암 진단 (실제 암 환자를 건강하다고 오진하면 생명에 위협), 불량품 감지 (실제 불량품을 정상으로 오진하면 제품 품질 저하), 재난 예측 (실제 재난을 예측 못함).
FN이 큰 문제가 되는 상황에서 재현율이 높은 모델을 선택합니다.
2.4. 정밀도와 재현율의 트레이드오프 (Trade-off)
정밀도와 재현율은 일반적으로 서로 반비례하는 경향이 있습니다. 즉, 둘 다 동시에 높이기가 어렵고, "어느 한쪽을 높이면 다른 쪽은 낮아질 가능성"이 큽니다.
재현율을 높이려면: Positive라고 예측하는 기준을 낮추면(Threshold 감소) 더 많은 Positive를 찾아내겠지만(TP 증가), Negative인 것도 Positive로 오인할 가능성(FP 증가)이 높아져 정밀도가 낮아집니다.
정밀도를 높이려면: Positive라고 예측하는 기준을 높이면(Threshold 증가) 모델의 예측은 신중해지므로 FP는 줄어들겠지만, 실제 Positive인 것까지 놓칠(FN 증가) 가능성이 높아져 재현율이 낮아집니다.
선택 기준: 모델을 사용할 목적에 따라 "정밀도가 더 중요한지 재현율이 더 중요한지" 판단하여 균형점을 찾아야 합니다.
2.5. F1-Score
정의: 정밀도와 재현율의 조화 평균입니다.
F1-Score = 2 * (Precision * Recall) / (Precision + Recall)
의미: 정밀도와 재현율이 모두 중요할 때, 또는 데이터 불균형이 심할 때 모델의 성능을 평가하는 데 유용합니다. 정밀도와 재현율 중 어느 하나만 극단적으로 높은 경우를 방지합니다.
사용 적합: Positive 예측 자체가 중요한 상황에서 정밀도와 재현율의 균형을 중요하게 고려해야 할 때 사용됩니다.
3. 기타 중요한 평가 지표 (선택 사항)
특이도 (Specificity) / TNR (True Negative Rate): 실제 Negative인 것 중에서 모델이 Negative로 올바르게 예측한 비율. (TN / (FP + TN))
AUC (Area Under the ROC Curve): ROC 곡선 아래의 면적을 나타냅니다. 분류기의 모든 가능한 분류 임계값에 대한 성능을 종합적으로 평가하는 지표로, 1에 가까울수록 좋은 모델입니다.
mAP (mean Average Precision): 객체 탐지(Object Detection)와 같은 컴퓨터 비전 분야에서 여러 클래스에 대한 AP를 평균한 값입니다.
4. 로봇 시스템에서 모델 평가 지표 활용
로봇이 실제 환경에서 인공지능 모델을 사용할 때, 각 평가 지표의 중요성은 로봇의 임무와 안전에 따라 달라집니다.
자율 주행 로봇의 '보행자 인식' 모델:
재현율(Recall)이 매우 중요: 실제 보행자를 놓치면(FN) 치명적인 사고로 이어지기 때문입니다. 약간의 FP(보행자가 아닌 것을 보행자로 오인)는 로봇을 멈추게 하지만 사고는 예방할 수 있습니다.
이 경우, Recall이 높은 모델을 우선적으로 선택하고, FP를 줄이는 방향으로 추가 최적화를 진행할 것입니다.
로봇 팔의 '불량품 감지' 모델:
재현율(Recall)이 중요: 실제 불량품을 정상으로 오진(FN)하여 생산 라인에 흘려보내면 제품 품질에 문제가 생깁니다.
FP(정상품을 불량으로 오진)는 라인을 잠시 멈추고 재검사하는 비용을 발생시키지만, 치명적인 문제는 아닙니다.
로봇 보안 시스템의 '침입자 감지' 모델:
재현율(Recall)이 중요: 실제 침입자를 놓치면(FN) 보안에 큰 구멍이 생깁니다. 오경보(FP)가 발생해도 경보음을 울려 확인하는 것이 더 안전합니다.
로봇 안내 시스템의 '사용자 의도 분류' 모델:
정밀도(Precision)가 중요: 사용자의 의도를 잘못 분류(FP)하여 엉뚱한 안내를 하면 사용자 경험을 해칠 수 있습니다. (예: "음악 재생해줘"를 "종료해줘"로 오인)
이 경우, Precision이 높은 모델을 선택하여 '정확한' 응답을 우선적으로 제공할 것입니다.
로봇 이상 감지 모델:
F1-Score: 로봇의 작동 중 이상 징후를 감지할 때, 이상 징후를 놓치지도 않아야 하고(Recall), 정상 징후를 이상 징후로 오인하는 것도 줄여야(Precision) 합니다. 따라서 F1-Score가 높은 모델을 사용합니다.
모델 평가 지표는 머신러닝 모델의 성능을 객관적으로 측정하고, 문제의 특성과 모델의 목적에 따라 최적의 모델을 선택하는 데 필수적인 도구입니다. 정확도, 정밀도, 재현율, F1-Score는 혼동 행렬을 기반으로 계산되며, 각각 모델의 다른 측면을 강조합니다.
특히 데이터 불균형이 심하거나 FP/FN 중 어느 한쪽의 비용이 더 클 경우, 정확도 외에 정밀도, 재현율, F1-Score를 반드시 함께 고려해야 합니다. 로봇 시스템의 임무와 안전성을 고려하여 적절한 평가 지표를 선택하고 모델을 최적화하는 것은 로봇의 신뢰성과 효율성을 확보하는 데 핵심적인 역량이 될 것입니다.
- 이전글신경망의 작동 원리: 층(Layer), 활성화 함수(Activation Function) 이해하기 25.12.31
- 다음글과적합(Overfitting)과 과소적합(Underfitting): 모델 성능 저하의 주범 잡기 25.12.31
댓글목록
등록된 댓글이 없습니다.
