F1 점수는 분류 모델의 성능을 평가하는 데 사용되는 통계적 측정 지표입니다. 정밀도와 재현율의 조화 평균으로 정의되며, 거짓 양성과 거짓 음성 사이의 균형을 맞추는 단일 지표를 제공합니다. F1 점수는 0에서 1까지의 범위를 가지며, 1은 완벽한 정밀도와 재현율을, 0은 최악의 성능을 나타냅니다. 클래스가 불균형한 경우 특히 유용하며, 정확도만으로는 얻기 어려운 모델 성능에 대한 더 유용한 정보를 제공합니다.
F1 점수는 2 (정밀도 재현율) / (정밀도 + 재현율)로 계산됩니다. 정밀도는 전체 양성 예측 수(참 양성 + 거짓 양성)에 대한 참 양성 예측의 비율이고, 재현율은 실제 양성 인스턴스 수(참 양성 + 거짓 음성)에 대한 참 양성 예측의 비율입니다. 조화 평균은 정밀도나 재현율 중 하나가 낮을 때 F1 점수가 낮아지도록 보장하여, 한쪽을 희생하는 모델에 불이익을 줍니다.
역사적 배경
F1 점수는 정보 검색과 통계적 분류에 그 뿌리를 두고 있습니다. 정밀도와 재현율을 단일 지표로 결합하는 개념은 1950년대로 거슬러 올라가며, Karen Simonyan과 같은 연구자들의 초기 작업이 있었습니다(그녀의 기여는 더 최근이지만, 기초 아이디어는 더 일찍 개발되었습니다). 조화 평균을 F-측정으로 구체화한 것은 Chris Bishop과 다른 연구자들이 머신러닝 평가 맥락에서 공식화했습니다. F1 점수는 1990년대 텍스트 검색의 부상과 함께 두각을 나타냈으며, 이후 Machine learning 및 Deep learning 연구에서 표준 지표가 되었습니다.
수학적 정의
F1 점수는 다음과 같이 정의됩니다:
F1 = 2 (정밀도 재현율) / (정밀도 + 재현율)
정밀도 = TP / (TP + FP)
재현율 = TP / (TP + FN)
여기서 TP는 참 양성 수, FP는 거짓 양성 수, FN은 거짓 음성 수입니다. F1 점수는 혼동 행렬의 관점에서도 표현할 수 있으며, 이는 참 양성, 참 음성, 거짓 양성, 거짓 음성의 수를 요약합니다.
다른 지표와의 관계
F1 점수는 정밀도와 재현율의 가중 조화 평균인 F-측정 계열의 일부입니다. 일반 공식은 Fβ = (1 + β²) (정밀도 재현율) / (β² * 정밀도 + 재현율)이며, 여기서 β는 재현율에 대한 정밀도의 가중치를 제어합니다. β = 1일 때 F1 점수가 얻어지며, 정밀도와 재현율에 동일한 가중치를 부여합니다. 다른 일반적인 지표로는 전체 예측 수에 대한 올바른 예측의 비율인 정확도와, 혼동 행렬의 네 가지 범주를 모두 고려하는 매튜 상관 계수(MCC)가 있습니다. F1 점수는 한 클래스가 지배적인 경우 정확도가 오해를 불러일으킬 수 있기 때문에 불균형 데이터셋에서 정확도보다 선호되는 경우가 많습니다.
머신러닝에서의 응용
F1 점수는 Artificial intelligence 및 Machine learning에서 분류 모델 평가에 널리 사용되며, 특히 자연어 처리, 컴퓨터 비전, 정보 검색에서 두드러집니다. 예를 들어, Large language model 평가에서 F1은 질문-응답 시스템의 품질을 측정하는 데 사용되며, 정밀도는 검색된 답변의 관련성을, 재현율은 범위의 완전성을 반영합니다. Neural network 훈련에서 F1은 최상의 모델 체크포인트를 선택하기 위한 검증 지표로 자주 사용됩니다. OpenAI 및 Google DeepMind와 같은 기업은 연구 논문에서 모델 성능을 벤치마킹하기 위해 F1 점수를 보고합니다.
장점과 한계
F1 점수는 여러 장점을 제공합니다. 정밀도와 재현율의 균형을 요약하는 단일 숫자를 제공하여 모델 비교를 쉽게 만듭니다. 클래스 불균형에 강하며, 왜곡된 데이터셋에서 지배적일 수 있는 참 음성을 고려하지 않습니다. 그러나 F1 점수에는 한계가 있습니다. 정밀도와 재현율이 동일하게 중요하다고 가정하지만, 이는 모든 응용 분야에서 사실이 아닐 수 있습니다. 예를 들어, 의료 진단에서는 양성 사례를 놓치지 않기 위해 정밀도보다 재현율(민감도)이 더 중요할 수 있습니다. 또한 F1 점수는 오류의 기본 분포에 대한 정보를 제공하지 않으며, 혼동 행렬의 작은 변화에 민감할 수 있습니다.
변형 및 확장
특정 요구를 해결하기 위해 F1 점수의 여러 변형이 존재합니다. 매크로-F1 점수는 각 클래스에 대해 F1 점수를 독립적으로 계산한 후 평균을 내어 모든 클래스에 동일한 가중치를 부여합니다. 마이크로-F1 점수는 모든 클래스에 걸쳐 참 양성, 거짓 양성, 거짓 음성을 집계한 후 정밀도와 재현율을 계산하며, 이는 전체 F1과 동일합니다. 가중-F1 점수는 각 클래스의 샘플 수로 가중된 클래스별 F1 점수의 평균을 계산합니다. 이러한 변형은 Transformer (architecture) 모델이 처리하는 다중 클래스 분류 작업에서 일반적으로 사용됩니다.
산업 및 연구에서의 사용
F1 점수는 학술 연구와 산업 실무에서 표준 지표입니다. Deep learning 연구에서 논문은 질문 응답을 위한 SQuAD 및 자연어 이해를 위한 GLUE와 같은 벤치마크 데이터셋에서 F1 점수를 보고하는 경우가 많습니다. Amazon Web Services, Microsoft Azure, Google Cloud와 같은 기술 기업은 모델 평가를 위해 F1 점수를 자동으로 계산하는 도구와 서비스를 제공합니다. Generative AI에서 F1은 생성된 텍스트의 품질을 평가하는 데 사용되며, 예를 들어 요약 작업에서 정밀도와 재현율이 생성된 요약과 참조 요약 간의 중복을 측정합니다.
계산 고려 사항
F1 점수 계산은 간단하며 혼동 행렬만 필요합니다. 실제로 Python의 scikit-learn과 같은 라이브러리는 F1 점수를 효율적으로 계산하는 함수를 제공합니다. AWS Trainium 또는 Cerebras 하드웨어를 포함한 대규모 평가에서는 수백만 개의 예측을 처리하기 위해 F1 계산이 병렬화됩니다. 이 지표는 Waymo 자율주행 자동차 인식과 같은 실시간 시스템에서도 사용되며, 정밀도와 재현율의 균형이 안전에 중요합니다.
결론
F1 점수는 Machine learning 및 Artificial intelligence에서 분류 성능을 평가하는 기본 지표로 남아 있습니다. 조화 평균 공식은 정밀도와 재현율의 균형 잡힌 관점을 제공하여 불균형 데이터셋과 다중 클래스 문제에 필수적입니다. 한계에도 불구하고 F1 점수는 연구와 산업 모두에서 널리 채택되고 있으며, AI 모델이 더 복잡해짐에 따라 핵심 평가 도구로 계속 사용될 가능성이 높습니다.