본문 바로가기

Study/AI

[지표]LLM 평가지표 -Confusion Matrix 과 F1

LLM의 성능을 평가하는데 사용하는 지표

 

Confusion Matrix

  • 예측 (Positive Negative)
  • 예측결과 (True False)
실제 / 예측 예측 긍정 예측 부정
실제 긍정 TP (True Positive) FN (False Negative)
실제 부정 FP (False Positive) TN (True Negative)

 

  • Accuracy (정확도) : 모델이 전체 예측 중 몇 %를 맞췄나? 
  • Precision (정밀도) : 예측한 것 중, 실제로 맞은 비중은 몇 % 인가? 전체 예측중 맞은거
  • Recall (재현율) : 실제 맞아야 할 것 중, 예측한 비중은 몇 %인가? 
개념 값의 범위 값이 높을수록? 계산식 ex
Precision 정밀도 0~1 모델이 “맞다”라고 한 것 중 실제로 맞은 비율이 크다 → 거짓 경보(FP) 가 적다 TP / (TP + FP) Precision이 높다 = 맞다! 라고 한 예측이 신뢰할만 하다
Recall 재현율 0~1 실제로 맞아야 할 것을 모델이 얼마나 놓치지 않았는지 보여준다 → 누락(FN) 이 적다 TP / (TP + FN) Recall이 높다 = 실제 맞은걸 거의 빠짐없이 잡아냈다

 

 

 

F1 Score

: 정밀도(Precision)와 재현율(Recall)의 균형을 알 수 있는 지표

 

항목 내용
정의 F1 = 2 × (Precision × Recall) ÷ (Precision + Recall)
범위 0 (최악) ~ 1 (최상)
본질 두 지표(precision & recall) 의 조화 평균→ 둘 중 하나라도 낮으면 F1이 크게 떨어짐
주요 용도 • 클래스 불균형 상황에서 모델의 실제 효용을 평가
• “과분류(FP) vs 누락(FN)” 사이 밸런스 확인
대표 적용 스팸·VOC 분류, 의료·품질검사 등 오류 하나도 민감한 영역

 

왜 조화평균을 사용하나?

 : Precision과 Recall 이 모두 높아야 올라가는 평균

 : 하나만 높아도 수치가 올라가는 산술평균의 한계를 극복

 

ex. 

  • Precision 0.9 Recall 0.9 = F1은 2*0.9*0.9 / (0.9+0.9) = 0.9
  • Precision 0.2 Recall 0.9 = F1은 2*0.2*0.9 / (0.2+0.9) = 약 0.32
  • Precision 0.9 Recall 0.2 = F1은 2*0.9*0.2 / (0.9+0.2) = 약 0.32
  • Precision 0.2 Recall 0.2 = F1은 2*0.2*0.2 / (0.2+0.2) = 약 0.2

 

Macro F1 vs Micro F1

: 다중분류일 때 Macro / Micro 구분함

  • Macro F1 : 데이터셋에 클래스 불균형이 심하지 않고, 모든 클래스를 동등하게 중요하게 평가하고 싶을 때
  • Micro F1 : 데이터셋에 클래스 불균형이 심하고, 전체적인 예측 정확도(샘플 수에 비례하여)를 중요하게 보고 싶을 때
Macro F1 Micro F1
"라벨별로 고르게 잘 맞히나?" "전체를 통틀어 정확하냐?"
균형, 형평성을 평가 총체적 퍼포먼스를 평가
0.9 이상이면 모든 라벨이 고르게 우수
0.8 이상일때 운영에 사용
0.7 균형부족, 소수라벨 Recall, Precision 개선 필요
0.5 특정 라벨 문제있음
0.5 미만 실패
0.9 이상이면 모든 라벨이 고르게 우수
0.8 이상일때 운영에 사용
0.7 보통 수준이나, 개선여지 큼
0.5 샘플기준 절반 가까지 오담, 운영어려움
0.5 미만 실패

 

ex

실제 / 예측 예측 - 빨강이라 함 예측 -초록이라 함
실제 -빨강 90 85 (TP) 5 (FN)
실제 -초록 10 3 (FP) 7 (TN)

 

Macro F1 구하기

  • 빨강이라고 예측
    • Precision = 85 / (85 + 3)  = 0.97
    • Recall = 85 / (85 + 5) = 0.94
    • F1 = (2 * 0.97 * 0.94) / (0.97 + 0.94) = 0.95
  • 초록이라고 예측
    • Precision = 7 / (5 + 7)  = 0.58
    • Recall = 7 / (3 + 7) = 0.7
    • F1 = (2 * 0.58 * 0.7) / (0.58 + 0.7) = 0.64
  • Macro F1 = (0.95 + 0.64)/2 = 0.8 
  • 두 색을 동등하게 보고 단순 평균

Micro F1 구하기

  • 통으로 보기
    • Precision = (85 + 7) / {(85 + 3) + (5 + 7)} = 0.92
    • Recall = (85 + 7) / {(85 + 5) + (3 + 7)} = 0.92
  • Macro F1 = (2 * 0.92 * 0.92) / (0.92 + 0.92) = 0.92

 

 

Hamming Loss

  • 다중 라벨(Multi-Label) 분류에서, 정답·예측 라벨 벡터가 얼마나 다른가를 0 ~ 1 사이 값으로 측정하는 오류율 지표
  • "한 샘플당 평균 몇개의 라벨을 잘못 예측했나?"
  • 0 ~ 1 사이 값 (0이 이상적)
  • 높을수록 안좋음 (틀림)
  • ex. 정답 [a, b, c] 예측 [f, b, k] 3개의 예측 중, 2개가 틀림 = 2/3 = 0.67 
  • Hamming Loss = (전체 틀린 칸 수) / (N + L)
    • ex. 
    • Hamming Loss = (전체 틀린 칸 수) / (N + L) = 4 / (2 * 4) = 0.5
N / L A B C D
정답 #1 O X O X
예측 #1 O X X O
정답 #2 X O X O
예측 #2 O X X O

 

 

Jaccard Index

  • 정답 라벨 집합과 예측 라벨 집합이 얼마나 겹치는지(유사도)를 0 ~ 1 사이 값으로 나타내는 지표
  • "서로 얼마나 겹쳤나?"
  • 0 ~ 1 사이 값 (1이 이상적)
  • 낮을수록 안좋음
  • ex. 정답 [a, b, c] 예측 [f, b, k] 일떄, 교집합 [b] 합집합 [a, b, c, f, k] = 1/5 = 0.2

'Study > AI' 카테고리의 다른 글

[용어] temperature, top_p  (0) 2025.10.23