Yolo 비전 선전
선전
지금 참여하기
용어집

오차 행렬

혼동 행렬이 분류 성능을 평가하는 방법을 알아보세요. 진양성(TP), 거짓양성(FP), 진음성(TN), 거짓음성(FN)을 탐구하여 Ultralytics 모델의 정확도를 최적화하세요.

혼동 행렬은 출력이 두 개 이상의 클래스가 될 수 있는 머신러닝 분류 문제의 성능 측정 도구입니다. 예측값과 실제값의 네 가지 조합을 나타내는 표로, 모델 평가 시 데이터 시각화의 기초 요소 역할을 합니다. 데이터셋이 불균형할 경우 오해의 소지가 있는 단순 정확도와 달리, 혼동 행렬은 컴퓨터 비전(CV) 모델이 오류를 범하는 지점을 세분화하여 분석합니다. 개발자는 예측값과 실제 라벨을 비교함으로써 시스템이 두 특정 클래스를 혼동하는지, 아니면 detect 완전히 detect 못하는지 판단할 수 있습니다.

매트릭스의 핵심 구성 요소

이 행렬 자체는 이진 분류를 위해 일반적으로 네 개의 사분면으로 나뉘지만, Ultralytics 같은 다중 클래스 문제에서는 확장됩니다. 이 네 가지 구성 요소는 모델이 예측한 내용과 이미지에 실제로 존재하는 내용의 교차점을 나타냅니다.

  • 진양성(TP): 모델이 양성 클래스를 정확히 예측합니다. 예를 들어, 물체 탐지 작업에서 모델이 프레임 내에 실제로 존재하는 사람 주위에 경계 상자를 성공적으로 그립니다.
  • 진양성(TN): 모델이 음성 클래스를 정확히 예측한 경우입니다. 이는 이상 탐지와 같은 시나리오에서 매우 중요합니다. 예를 들어 시스템이 제조된 부품에 결함이 없음을 정확히 식별하는 경우를 말합니다.
  • 오탐지(FP): 모델이 양성 클래스를 잘못 예측하는 경우입니다. 흔히 "제1종 오류"라고 불리며, 시스템이 실제 존재하지 않는 물체를 감지할 때 발생합니다. 예를 들어 보안 카메라가 그림자를 침입자로 오인하는 경우입니다.
  • 거짓 음성(FN): 모델이 음성 클래스를 잘못 예측하는 경우입니다. "제2종 오류"로 알려진 이 현상은 모델이 존재하는 detect 못할 때 발생하며, 본질적으로 목표물을 "놓치는" 것입니다.

파생 지표 및 중요성

혼동 행렬의 원시 수치는 모델 성능을 설명하는 고급 지표를 계산하는 데 사용됩니다. 이러한 파생값을 이해하는 것은 신경망 최적화에 필수적입니다.

  • 정밀도: TP / (TP + FP)로 계산되며, 이 지표는 양성 예측의 정확도를 나타냅니다. 높은 정밀도는 오탐이 적음을 의미합니다.
  • 리콜(민감도): TP / (TP + FN)로 계산되며, 모델이 모든 양성 사례를 찾아내는 능력을 측정합니다. 개체를 놓칠 경우 심각한 결과가 초래될 때 높은 리콜은 매우 중요합니다.
  • F1 점수: 정밀도와 재현율의 조화 평균입니다. 두 지표 간의 상충 관계를 균형 있게 반영하는 단일 점수를 제공하며, 서로 다른 YOLO26 모델을 비교하는 데 유용합니다.

실제 애플리케이션

혼동 행렬로 정의된 오류의 구체적인 비용은 다양한 산업 분야에서 모델을 조정하는 방식을 결정한다.

의료 분야에서의 의료 AI 분야에서에서 혼동 행렬은 안전성의 문제입니다. detect 위한 의료 영상 분석 모델을 훈련할 때, 거짓 음성(종양을 놓치는 경우)은 거짓 양성(의사 검토를 위해 양성 부위를 표시하는 경우)보다 훨씬 더 심각합니다. 따라서 엔지니어들은 잠재적인 건강 위험이 간과되지 않도록 이러한 행렬에서 정밀도보다 재현율을 우선시합니다.

반대로, 제조 품질 관리에서는에서는 효율성이 핵심이다. 조립 라인 부품을 분류하는 시스템이 너무 많은 오탐(양호한 부품을 불량으로 표시)을 발생시키면 불필요한 낭비를 초래하고 생산 속도를 늦춘다. 여기서 혼동 행렬은 엔지니어가 정밀도를 극대화하도록 모델을 조정하는 데 도움을 주어, 실제로 불량인 것만 거부되도록 보장함으로써 자동화된 머신러닝워크플로를 간소화한다.

YOLO26을 이용한 혼동 행렬 생성

현대적인 프레임워크를 사용할 때, 이 행렬 생성은 종종 표준 검증 파이프라인의 일부입니다. 아래 예시는 YOLO26 모델 그리고 혼동 행렬 데이터에 접근하기 위해 사용하는 ultralytics 패키지입니다.

from ultralytics import YOLO

# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")

# Validate the model on the COCO8 dataset
# This automatically generates and plots the confusion matrix
metrics = model.val(data="coco8.yaml")

# Access the confusion matrix object directly
print(metrics.confusion_matrix.matrix)

관련 개념 차별화

혼동 행렬을 유사한 평가 용어와 구분하는 것이 중요하다.

  • 정확도: 정확도는 단순히 전체 예측 중 올바른 예측의 비율입니다. 유용하지만, 불균형 데이터셋에서는 정확도가 매우 오해의 소지가 있습니다. 예를 들어, 이메일의 95%가 스팸이 아닌 경우, 모든 이메일에 대해 "스팸 아님"을 예측하는 모델은 95%의 정확도를 가지지만 무용지물입니다. 혼동 행렬은 스팸 클래스에 대한 진정한 양성(True Positive)이 0임을 보여줌으로써 이 결함을 드러냅니다.
  • Vs. ROC 곡선: 혼동 행렬은 특정 신뢰도 임계값에서의 성능을 단일 스냅샷으로 제공합니다. 반면 수신자 작동 특성(ROC) 곡선은 해당 임계값이 변화함에 따라 진양성률과 거짓양성률이 어떻게 변하는지 시각화합니다. Ultralytics 같은 도구를 사용하면 사용자가 두 가지 시각화를 모두 탐색하여 배포에 최적의 작동점을 선택할 수 있습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기