Precision
머신러닝에서 precision을 완벽하게 이해해 보세요. 모델 정확도를 계산하고 개선하며, false positive를 줄이고 Ultralytics YOLO26 성능을 평가하는 방법을 알아보세요.
정밀도는 분류 모델의 성능을 평가하는 데 사용되는 데이터 과학의 기본적인 지표입니다. 모델이 양성으로 예측한 모든 사례 중 실제 양성으로 식별된 비율을 측정하여 양성 예측의 품질을 평가합니다. 머신 러닝 (ML) 분야에서 정밀도는 다음과 같은 중요한 질문에 답합니다. "모델이 객체를 찾았다고 판단할 때, 실제로 정확한 경우는 얼마나 자주 발생하는가?" 정밀도가 높다는 것은 알고리즘이 위양성을 매우 적게 생성한다는 의미이며, 시스템이 이벤트를 표시하거나 항목을 감지할 때 높은 신뢰성을 보인다는 뜻입니다. 이 지표는 오경보의 비용이 높은 상황에서 특히 중요하며, AI 에이전트가 확실성을 바탕으로 작동해야 할 때 유용합니다.
정밀도, 재현율 및 정확도의 차이#
모델 성능을 완전히 이해하려면 정밀도와 관련 통계 용어를 구분하는 것이 중요합니다. 일상적인 대화에서는 서로 바꿔 사용되는 경우가 많지만, 컴퓨터 비전 (CV) 및 분석 분야에서는 서로 다른 기술적 의미를 가집니다.
- 정밀도와 재현율: 이 두 지표는 서로 상충하는 관계에 있는 경우가 많습니다. 정밀도가 양성 예측의 정확성에 중점을 두는 반면, 재현율(민감도라고도 함)은 데이터셋의 모든 관련 사례를 찾아내는 모델의 능력을 측정합니다. 정밀도만을 기준으로 최적화된 모델은 자신이 찾아낸 모든 객체가 정확하도록 일부 객체를 놓칠 수 있습니다(낮은 재현율). 반대로 재현율이 높으면 누락되는 객체가 적지만 오경보가 더 많이 발생할 수 있습니다. F1 점수는 두 지표의 조화 평균을 계산하는 데 자주 사용되며, 균형 잡힌 관점을 제공합니다.
- 정밀도와 정확도: 정확도는 전체 예측 수 대비 올바른 예측(양성 및 음성 모두)의 비율입니다. 그러나 불균형 데이터셋에서는 정확도가 오해를 불러일으킬 수 있습니다. 예를 들어 거래의 99%가 정상인 사기 탐지 시스템에서 매번 "정상"이라고 예측하는 모델은 정확도가 99%이지만 사기 탐지에 대한 정밀도는 0입니다.
실제 적용 사례#
산업별 구체적인 요구 사항에 따라 개발자가 다른 지표보다 정밀도를 우선시할지가 결정되는 경우가 많습니다. 다음은 높은 정밀도가 가장 중요한 구체적인 사례입니다.
- 소매점 손실 방지: 소매업의 AI에서 자동 계산 시스템은 객체 탐지를 사용하여 상품을 식별합니다. 시스템의 정밀도가 낮으면 고객의 개인 가방을 도난 상품으로 잘못 표시할 수 있습니다(위양성). 이는 부정적인 고객 경험과 잠재적인 법적 문제로 이어집니다. 정밀도가 높으면 도난 가능성이 매우 높은 경우에만 보안 담당자에게 알림을 보내 보안 경보 시스템에 대한 신뢰를 유지할 수 있습니다.
- 제조 품질 관리: 스마트 제조에서 비전 시스템은 조립 라인의 결함을 검사합니다. 정밀도가 낮은 모델은 정상 작동하는 부품을 결함으로 분류하여 불필요하게 폐기할 수 있습니다. 이러한 낭비는 비용을 증가시키고 효율성을 저하시킵니다. 제조업체는 높은 정밀도에 맞춰 조정함으로써 실제로 결함이 있는 항목만 제거하여 생산 라인을 최적화할 수 있습니다. Ultralytics YOLO26이 위양성 제거를 줄여 이러한 산업 작업을 지원하는 방법을 살펴볼 수 있습니다.
컴퓨터 비전에서 정밀도 향상#
개발자는 모델의 정밀도를 향상하기 위해 여러 전략을 사용할 수 있습니다. 일반적인 방법 중 하나는 추론 중 신뢰도 임계값을 조정하는 것입니다. 예측을 수용하기 전에 더 높은 신뢰도 점수를 요구하면 모델이 확실하지 않은 탐지를 걸러내므로 위양성을 줄일 수 있습니다.
또 다른 방법은 학습 데이터를 개선하는 것입니다. 관심 객체는 포함하지 않지만 외관이 어느 정도 유사한 이미지인 "음성 샘플"을 추가하면 모델이 대상과 배경 잡음을 구분하는 방법을 학습하는 데 도움이 됩니다. Ultralytics Platform을 사용하면 팀이 데이터셋을 선별하고, 모델 예측을 시각화하며, 모델이 어려움을 겪는 특정 이미지를 식별할 수 있어 이 과정이 간소화됩니다. 또한 효과적인 데이터 증강은 모델이 더욱 다양한 환경을 접하도록 하여 혼동을 일으키는 시각적 요소에 대한 견고성을 높일 수 있습니다.
Ultralytics YOLO를 사용한 정밀도 계산#
YOLO26과 같은 최신 객체 탐지 아키텍처를 사용할 때 정밀도는 검증 단계에서 자동으로 계산됩니다. 다음 Python 예제에서는 모델을 로드하고 val 모드를 사용하여 정밀도를 포함한 성능 지표를 가져오는 방법을 보여줍니다.
from ultralytics import YOLO
# Load a pretrained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on the COCO8 dataset to calculate metrics
metrics = model.val(data="coco8.yaml")
# Access and print the mean Precision (P) score
# The results dictionary contains keys for various metrics
print(f"Mean Precision: {metrics.results_dict['metrics/precision(B)']:.4f}")이 워크플로에서 모델은 데이터셋의 정답 레이블과 예측 결과를 비교하여 평가합니다. 그 결과로 얻은 점수는 모델의 탐지가 얼마나 정밀한지 직접적으로 보여주는 기준이 됩니다. 복잡한 프로젝트에서는 TensorBoard나 Ultralytics Platform과 같은 도구를 통해 이러한 지표를 시간에 따라 모니터링하는 것이 중요합니다. 이를 통해 새로운 데이터가 추가되더라도 시스템의 안정적인 성능을 유지할 수 있습니다.
모델 평가와 관련된 개념#
- 교집합 대비 합집합 (IoU): 예측된 바운딩 박스와 정답 간의 겹치는 정도를 평가하는 데 사용되는 지표입니다. 탐지 결과는 IoU가 특정 임계값을 초과하는 경우에만 "참양성"으로 간주됩니다.
- 정밀도-재현율 곡선: 다양한 임계값에서 정밀도와 재현율을 그래프로 나타낸 시각화입니다. 이 곡선은 엔지니어가 상충 관계를 시각적으로 파악하고 특정 애플리케이션에 가장 적합한 운영 지점을 선택하는 데 도움을 줍니다. 자세한 내용은 표준 통계적 학습 자료를 참조할 수 있습니다.
- 평균 정밀도 (mAP): 모든 클래스와 IoU 임계값에서 정밀도의 평균을 계산하는 종합 지표입니다. COCO나 ImageNet과 같은 데이터셋에서 모델을 비교할 때 사용하는 표준 벤치마크입니다.









