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

F1-점수

F1 점수가 정밀도와 재현율을 균형 있게 조정하여 머신러닝 모델을 평가하는 방법을 알아보세요. 더 나은 정확도를 위해 Ultralytics 성능을 최적화하는 방법을 확인하세요.

F1 점수는 정밀도와 재현율을 단일 조화 평균으로 결합한 기계 학습의 핵심 성능 지표입니다. 데이터셋이 불균형하거나 오탐과 누락이 서로 다른 비용을 초래하는 분류 모델 평가에 특히 유용합니다. 단순 정확도는 데이터셋에서 한 클래스가 압도적으로 많을 경우 오해의 소지가 있지만, F1 점수는 오류를 최소화하면서 관련 인스턴스를 정확히 식별하는 모델의 능력을 보다 균형 있게 보여줍니다. 극단값을 가중치로 감안함으로써, 높은 점수는 정밀도와 재현율 모두 상당히 높을 때만 달성되도록 보장합니다. 이로 인해 의료 진단부터 정보 검색에 이르기까지 다양한 분야에서 핵심 지표로 자리매김했습니다.

머신 러닝에서 F1 점수가 중요한 이유

실제 상황에서는 단순히 예측 정확도(정확도)만으로는 부족합니다. 예를 들어, 이상 탐지에서는 정상 사례가 이상 사례보다 훨씬 많습니다. 모든 입력에 대해 "정상"이라고 예측하는 모델은 99%의 정확도를 달성할 수 있지만 실제 문제 탐지에는 무용지물입니다. F1 점수는 두 가지 상충되는 지표를 균형 있게 조정함으로써 이 문제를 해결합니다:

  • 정밀도: 이는 양성 예측의 품질을 측정합니다. "모델이 양성으로 분류한 모든 사례 중 실제로 양성이었던 사례는 몇 개인가?"라는 질문에 답합니다.
  • 재현율: 이는 긍정적 예측의 양을 측정합니다. "모든 실제 긍정 사례 중 모델이 정확히 식별한 사례는 몇 개인가?"라는 질문에 답합니다.

정밀도를 높이면 재현율이 낮아지고 그 반대의 경우도 마찬가지인 경우가 많기 때문에, F1 점수는 최적의 균형점을 찾기 위한 통합 지표 역할을 합니다. 이는 하이퍼파라미터 최적화를 통해 모델을 튜닝할 때 다양한 조건에서 견고한 성능을 보장하는 데 매우 중요합니다.

실제 애플리케이션

F1 점수의 유용성은 오류 비용이 상당한 다양한 산업 분야에 걸쳐 확장됩니다.

  • 의료 진단: 의료 분야 인공지능, 특히 종양 검출과 같은 작업에서 위음성(종양 누락)은 생명을 위협하는 반면, 위양성(양성 조직 오인)은 불필요한 불안을 유발합니다. F1 점수는 연구자들이 YOLO26과 같은 모델을 최적화하여 의사에게 허위 경보를 과도하게 발생시키지 않으면서도 질병을 포착할 수 있을 만큼 시스템의 민감도를 확보하도록 돕습니다.
  • 정보 검색 및 검색: 검색 엔진과 문서 분류 시스템은 F1 점수를 활용하여 관련성을 평가합니다. 사용자는 모든 관련 문서(높은 리콜)를 확인하기를 원하지만, 관련 없는 결과(높은 정밀도)를 일일이 살펴보는 것은 원하지 않습니다. 높은 F1 점수는 엔진이 불필요한 정보 없이 올바른 정보를 효과적으로 검색하고 있음을 나타냅니다.
  • 스팸 필터링: 이메일 서비스는 텍스트 분류를 통해 스팸을 분리합니다. 시스템은 스팸 이메일을 포착해야 하지만(재현율), 중요한 업무 이메일을 정크로 분류해서는 안 됩니다(정밀도). F1 점수는 이러한 필터의 주요 평가 지표로 사용됩니다.

Ultralytics 사용한 F1 점수 계산

현대 컴퓨터 비전 프레임워크는 이러한 지표 계산 과정을 단순화합니다. 객체 탐지 모델을 훈련할 때 검증 단계에서 F1 점수가 자동으로 계산됩니다. Ultralytics 실시간 차트로 이러한 지표를 시각화하여 사용자가 다양한 신뢰도 임계값에 따른 F1 점수 곡선을 확인할 수 있도록 합니다.

Python 사용하여 F1 점수의 구성 요소를 포함한 검증 지표를 확인하는 방법은 다음과 같습니다:

from ultralytics import YOLO

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

# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")

# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")

# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")

F1 점수 대 관련 지표

F1 점수가 다른 평가 기준과 어떻게 다른지 이해하는 것은 프로젝트에 적합한 도구를 선택하는 데 필수적입니다.

  • 정확도와의 차이점: 정확도는 모든 오류를 동일하게 취급합니다. F1 점수는 불균형 데이터셋에 대해 우월합니다. 이는 긍정 클래스(관심 대상인 소수 클래스)의 성능에 초점을 맞추기 때문입니다.
  • mAP 관계: 평균 정밀도(mAP)는 모든 신뢰도 임계값에 걸쳐 객체 탐지 모델을 비교하는 표준 지표입니다. 그러나 F1 점수는 배포에 적합한 최적의 신뢰도 임계값을 결정하는 데 흔히 사용됩니다. 애플리케이션 배포 시 F1 곡선이 최고점을 이루는 임계값을 선택할 수 있습니다.
  • 혼동 행렬: 혼동 행렬은 F1 점수가 도출되는 원시 카운트(진양성, 거짓양성 등)를 제공합니다. 행렬이 세부적인 정보를 제공하는 반면, F1 점수는 신속한 비교를 위한 단일 요약 통계를 제공합니다.
  • ROC-AUC: 곡선 아래 면적(AUC) 은 모든 임계값에 걸친 분리도를 측정합니다. 분류 분포가 극도로 치우친 경우(예: 사기 탐지 시 사기 사례가 드문 경우)에는 일반적으로 F1 점수가 ROC-AUC보다 선호됩니다.

F1 점수 향상하기

모델의 F1 점수가 낮은 경우, 다음과 같은 전략을 활용할 수 있습니다. 데이터 증강을 통해 긍정 예제의 다양성을 높여 모델의 일반화 능력을 향상시킬 수 있습니다. 견고한 기초 모델로부터 전이 학습을 적용하면 네트워크가 사전 학습된 특징을 활용할 수 있습니다. 추론 시 신뢰도 임계값을 조정하면 정밀도와 재현율 간의 균형을 수동으로 조절하여 특정 사용 사례에 최적화된 F1 점수를 극대화할 수 있습니다.

Ultralytics 커뮤니티 가입

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

지금 참여하기