Recall
머신러닝에서 재현율(Recall)의 중요성을 확인해 보십시오. 높은 탐지율을 보장하기 위해 Ultralytics YOLO26 모델의 민감도를 측정하고 개선하는 방법을 알아보십시오.
재현율(Recall)은 민감도 또는 실제 양성 비율로도 알려져 있으며, 데이터셋 내의 모든 관련 인스턴스를 식별하는 모델의 능력을 측정하는 머신러닝의 핵심 성능 지표입니다. object detection 또는 분류 맥락에서 이 지표는 "전체 실제 양성 사례 중 모델이 얼마나 정확하게 찾아냈는가?"라는 질문에 구체적으로 답합니다. 위양성(False Negative)이라고도 하는 양성 인스턴스를 놓쳤을 때의 대가가 큰 시나리오에서는 높은 재현율을 달성하는 것이 매우 중요합니다. 불균형한 데이터를 다룰 때 오해를 불러일으킬 수 있는 accuracy와 달리, 재현율은 타겟 클래스를 '포착'하는 모델의 효과성에 대한 명확한 관점을 제공합니다.
높은 재현율의 중요성#
많은 artificial intelligence 애플리케이션에서 객체를 감지하지 못하는 비용은 오탐(false alarm) 비용보다 훨씬 큽니다. 재현율에 최적화된 모델은 위양성을 최소화하여 시스템이 잠재적인 위협, 이상 징후 또는 임계 조건을 포착하기 위해 충분히 넓은 그물을 던지도록 보장합니다. 재현율을 높이면 때로는 더 낮은 precision 점수로 이어질 수 있으므로, 즉 모델이 관련 없는 항목을 양성으로 더 많이 표시할 수 있으므로 이는 종종 상충 관계(trade-off)를 수반합니다. 이러한 균형을 이해하는 것은 강력한 machine learning 솔루션을 개발하는 데 핵심입니다.
실제 애플리케이션 사례#
재현율은 안전이 중요한 많은 AI solutions을 뒷받침하는 핵심 지표입니다. 민감도가 우선시되는 두 가지 대표적인 예시는 다음과 같습니다:
- 의료 진단: 질병의 초기 징후를 찾기 위해 X선 스크리닝을 수행하는 것과 같은 medical image analysis에서는 높은 재현율이 필수적입니다. AI in healthcare 시스템이 종양을 감지하는 데 사용되는 경우, 시스템이 양성으로 밝혀질 의심스러운 그림자를 위양성으로 표시하는 것이 악성 종양을 완전히 놓치는 것보다 훨씬 낫습니다. 의사들은 잠재적인 건강 위험을 놓치지 않도록 안전망 역할을 하는 이러한 도구에 의존합니다.
- 보안 및 감시: security alarm system의 주된 목표는 모든 침입 시도를 감지하는 것입니다. 높은 재현율에 최적화된 시스템은 사람이 제한 구역에 들어올 경우 알람이 울리도록 보장합니다. 이로 인해 야생 동물로 인한 가끔의 오탐이 발생할 수 있지만, 이는 시스템이 실제 침입자를 감지하지 못하는 것보다 낫습니다. 이러한 시나리오의 Object detection 모델은 잠재적 위협에 대한 최대의 민감도를 보장하도록 튜닝됩니다.
재현율 vs. 정밀도#
재현율을 그 상응 지표인 precision과 구분하는 것은 필수적입니다. 재현율이 발견된 관련 사례의 양(완전성)을 측정하는 반면, 정밀도는 양성 예측의 품질(정확성)을 측정합니다.
- 재현율: 놓친 탐지를 방지하는 데 초점을 둡니다. "모든 사과를 찾았는가?"
- 정밀도: 오경보를 최소화하는 데 초점을 둡니다. "사과라고 부른 모든 것들이 실제로 사과인가?"
이 두 지표는 종종 역관계를 공유하며, Precision-Recall curve를 통해 시각화됩니다. 둘 사이의 전체적인 균형을 평가하기 위해 개발자들은 종종 두 지표의 조화 평균인 F1-score를 살펴봅니다. imbalanced datasets에서는 정확도만 보는 것보다 confusion matrix와 함께 재현율을 살펴보는 것이 성능에 대한 훨씬 더 명확한 그림을 제공합니다.
Ultralytics YOLO로 재현율 측정하기#
최첨단 YOLO26과 같은 모델을 학습할 때, 재현율은 validation 단계에서 자동으로 계산됩니다. 이 프레임워크는 각 클래스 및 mean Average Precision (mAP)에 대한 재현율을 계산하여 개발자가 모델이 객체를 얼마나 잘 찾아내는지 측정할 수 있도록 돕습니다.
Python을 사용하여 학습된 모델을 쉽게 검증하고 재현율 지표를 확인할 수 있습니다. 다음 코드 스니펫은 모델을 로드하고 표준 데이터셋에서 성능을 확인하는 방법을 보여줍니다:
from ultralytics import YOLO
# Load a pretrained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on the COCO8 dataset
# The results object contains metrics like Precision, Recall, and mAP
metrics = model.val(data="coco8.yaml")
# Access and print the mean recall score for box detection
print(f"Mean Recall: {metrics.results_dict['metrics/recall(B)']:.4f}")이 코드는 Ultralytics API를 활용하여 검증을 실행합니다. 프로젝트에 필요한 수준보다 재현율이 낮을 경우, 더 다양한 학습 예제를 만들기 위한 data augmentation 기법이나 모델의 민감도를 조정하기 위한 hyperparameter tuning 같은 기술을 고려할 수 있습니다. Ultralytics Platform을 사용하는 것도 데이터셋 관리 및 여러 학습 실행에 걸친 이러한 지표 추적 프로세스를 간소화할 수 있습니다.
모델 재현율 향상하기#
모델의 재현율을 높이기 위해 데이터 과학자들은 종종 inference 중에 사용되는 confidence threshold를 조정합니다. 임계값을 낮추면 모델이 더 "낙관적"이 되어 더 많은 예측을 양성으로 수용하게 되므로 재현율은 증가하지만 정밀도는 감소할 수 있습니다. 또한, 더 다양한 training data를 수집하면 모델이 hard negatives 및 모호한 인스턴스를 인식하는 법을 학습하는 데 도움이 됩니다. 복잡한 작업의 경우, Transformer 블록과 같은 고급 아키텍처를 채택하거나 ensemble methods을 탐색하는 것도 단순한 모델이 놓칠 수 있는 미묘한 특징을 감지하는 시스템의 능력을 향상시킬 수 있습니다.






