🔗 관련 문서: Wikipedia - 기계 학습
평가지표(Evaluation Metrics)는 인공지능 모델의 성능을 정량적으로 측정하는 기준이다. 모델을 학습시킨 후, 이 모델이 얼마나 잘 작동하는지를 숫자로 나타내는 도구라고 할 수 있다.
인공지능 모델을 개발할 때 평가지표는 다음과 같은 중요한 역할을 한다.
분류(Classification) 문제는 주어진 데이터를 미리 정의된 범주(클래스) 중 하나로 분류하는 작업이다. 예를 들어 이메일을 스팸과 정상으로 분류하거나, 이미지 속 동물이 개인지 고양이인지 판별하는 것이 분류 문제에 해당한다.
정확도는 가장 직관적이고 기본적인 평가지표로, 전체 중 올바르게 예측한 비율을 나타낸다.
예를 들어, 100개의 이메일 중 90개를 올바르게 분류했다면 정확도는 90%이다. 정확도는 이해하기 쉽고 계산이 간단하지만, 데이터가 불균형할 때 오해의 소지가 있다.
정확도의 한계:
만약 100개의 이메일 중 95개가 정상 메일이고 5개만 스팸인 상황에서, 모든 이메일을 "정상"으로 예측하는 모델은 95%의 정확도를 보인다. 하지만 이 모델은 스팸을 전혀 감지하지 못하므로 실용적이지 않다. 이처럼 클래스 불균형(Class Imbalance; 학습 데이터나 테스트 데이터 내에서 특정 클래스의 데이터 수가 다른 클래스에 비해 압도적으로 많거나 적은 상태) 상황에서는 정확도만으로 모델을 평가하기 어렵다.
분류 모델의 예측 성능을 평가하는 데 사용되며, 모델이 얼마나 정확한 예측을 수행했는지 정량적으로 분석하는 데 활용된다.
행은 실제 클래스, 열은 모델이 예측한 클래스를 나타낸다. 행렬의 대각 성분이 참된 예측을 한 경우를 나타낸다.
실제 \ 예측 |
예측 결과 | |
|---|---|---|
| 양성 (Positive) | 음성 (Negative) | |
| 양성 (Positive) | TP (True Positive) 참 양성 |
FN (False Negative) 거짓 음성 |
| 음성 (Negative) | FP (False Positive) 거짓 양성 |
TN (True Negative) 참 음성 |
아래는 Confusion Matrix의 예제 결과 시각화이다.
정밀도와 재현율은 특히 클래스 불균형이 있는 상황에서 모델의 성능을 더 정확하게 평가하기 위해 사용되는 지표이다.
정밀도는 모델이 양성으로 예측한 것 중 참 양성인 비율을 나타낸다. "모델의 양성 예측이 얼마나 정확한가?"를 측정한다.
예시:
스팸 메일 필터가 10개의 이메일을 스팸으로 분류했는데, 실제로 그 중 8개만 스팸이고 2개는 정상 메일이었다면 정밀도는 80%이다.
정밀도가 중요한 경우는 거짓 양성(FP)의 비용이 클 때이다. 예를 들어 정상 메일을 스팸으로 잘못 분류하면 중요한 메일을 놓칠 수 있으므로, 스팸 필터는 높은 정밀도를 가져야 한다.
재현율은 참 양성 중 모델이 양성으로 올바르게 예측한 비율을 나타낸다. "참 양성을 얼마나 잘 찾아내는가?"를 측정한다. 이는 TPR(True Positive Rate) 또는 민감도(Sensitivity)라고도 불린다.
예시:
실제로 20개의 스팸 메일이 있었는데, 모델이 그 중 15개만 스팸으로 감지하고 5개는 놓쳤다면 재현율(TPR)은 75%이다.
TPR의 의미:
재현율(TPR)이 중요한 경우는 거짓 음성(FN)의 비용이 클 때이다. 예를 들어 암 진단에서 참 암환자를 놓치는 것은 매우 위험하므로, 진단 모델은 높은 재현율을 가져야 한다.
일반적으로 정밀도와 재현율은 상충 관계(Trade-off)에 있다. 한쪽을 높이면 다른 쪽이 낮아지는 경향이 있다.
따라서 실제 응용에서는 문제의 특성과 비즈니스 요구사항에 따라 두 지표의 균형점을 찾아야 한다.
F1 Score는 정밀도와 재현율의 조화 평균(Harmonic Mean)으로, 두 지표를 하나로 결합한 평가지표이다.
조화 평균을 사용하는 이유는 정밀도와 재현율 중 하나라도 낮으면 F1 Score도 낮아지기 때문이다. 즉, 두 지표가 모두 높아야 F1 Score가 높아진다.
예시:
F1 Score는 정밀도와 재현율의 균형이 중요한 경우에 유용하며, 특히 클래스 불균형 문제에서 단순 정확도보다 더 신뢰할 수 있는 지표이다.
F1 Score의 일반화된 형태로, 정밀도와 재현율 중 어느 쪽에 더 가중치를 둘지 조절할 수 있다.
🔗 관련 문서: Wikipedia - ROC AUC
ROC 곡선은 다양한 임계값(Threshold)에서 모델의 성능을 시각화한 그래프이다. 대부분의 분류 모델은 확률값을 출력하며, 이 확률이 특정 임계값을 넘으면 양성으로 분류한다.
ROC 곡선은 X축에 거짓 양성율(위양성률, FPR, False Positive Rate)을, Y축에 참 양성율(진양성률, TPR, True Positive Rate, 즉 재현율)을 나타낸다.
임계값을 낮추면 더 많은 샘플을 양성으로 예측하므로 TPR과 FPR이 모두 증가하고, 임계값을 높이면 둘 다 감소한다. ROC 곡선은 이러한 변화를 한눈에 보여준다.
임계값을변화시키면서, 모델이 맞힌 것(TPR)과 틀린 것(FPR)의 궤적을 그린 것이 ROC곡선이다.
AUC는 ROC 곡선 아래의 면적을 나타내는 지표로, 0에서 1 사이의 값을 가진다.
다음은 ROC 곡선과 AUC를 시각적으로 나타낸 예시이다.
장점
한계
회귀(Regression) 문제는 연속적인 수치 값을 예측하는 작업이다. 예를 들어 주택 가격 예측, 기온 예측, 주식 가격 예측 등이 회귀 문제에 해당한다. 회귀 문제의 평가지표는 예측값과 실젯값 사이의 차이(오차)를 측정한다.
MAE는 예측값과 실젯값의 절대 오차의 평균이다. 가장 직관적인 회귀 평가지표이다.
예시:
5개 집의 실제 가격과 예측 가격의 차이가 각각 100만원, 50만원, 200만원, 150만원, 100만원이라면,
$$
\begin{aligned}
MAE &= \frac{100+50+200+150+100}{5} \\
&= 120\color{red}{만원}
\end{aligned}
$$
이다.
MAE의 특징은 다음과 같다.
MSE는 예측값과 실젯값의 제곱 오차의 평균이다.
예시:
위와 같은 예에서
$$
\begin{aligned}
MSE &= \frac{100²+50²+200²+150²+100²}{5} \\
&= \frac{10000+2500+40000+22500+10000}{5} \\
&= 17000\color{red}{만원²}
\end{aligned}
$$
이다.
MSE의 특징은 다음과 같다.
MAE와 MSE 중 어느 것을 선택할지는 문제의 특성에 달려 있다. 이상치를 강하게 페널티하고 싶다면 MSE를, 모든 오차를 공평하게 평가하고 싶다면 MAE를 사용한다.
RMSE는 MSE의 제곱근을 취한 값으로, MSE의 단위 문제를 해결한다.
예시:
위의 예에서
$$
\begin{aligned}
RMSE &= \sqrt{17000} \\
&≈ 130.4\color{red}{만원}
\end{aligned}
$$
이다.
RMSE는 MSE와 동일하게 큰 오차에 민감하면서도, 원래 데이터와 같은 단위를 가져 해석이 용이하다. 따라서 실무에서 가장 많이 사용되는 회귀 평가지표 중 하나이다.
RMSE의 장점:
결정계수는 모델이 데이터의 분산을 얼마나 설명하는지를 나타내는 지표로, 0에서 1 사이의 값을 가진다.
예를 들어, $R² = 0.85$라면 모델이 데이터 변동성의 85%를 설명한다는 의미이다.
Adjusted R²는 모델의 변수 개수를 고려하여 R²를 조정한 지표이다. 불필요한 변수를 추가했을 때 페널티를 부여한다.
Adjusted R²는 모델 복잡도를 고려하므로 변수 선택이나 모델 비교에 더 적합하다.
모델의 예측 성능뿐만 아니라 계산 효율성도 중요한 평가 요소이다. 특히 실시간 시스템, 모바일 기기, 대규모 서비스에서는 속도와 자원 사용량이 핵심적이다.
추론 시간은 모델이 하나의 예측을 수행하는 데 걸리는 시간이다. 밀리초(ms) 단위로 측정되며, 낮을수록 좋다.
처리량은 단위 시간당 처리할 수 있는 샘플 수이다. 일반적으로 초당 샘플 수(samples/sec) 또는 초당 프레임 수(FPS)로 측정된다.
지연시간은 요청부터 응답까지의 전체 시간으로, 추론 시간뿐만 아니라 데이터 전처리, 네트워크 전송 등을 포함한다.
예시: 챗봇 서비스에서 사용자가 메시지를 보낸 후 답변을 받기까지의 시간
모델의 학습 가능한 가중치의 총 개수이다. 파라미터 수가 많을수록 모델의 표현력은 증가하지만, 메모리 사용량과 학습 시간도 증가한다.
FLOPS는 모델의 계산 복잡도를 나타내는 지표로, 모델이 예측을 수행하기 위해 필요한 부동소수점 연산의 수를 의미한다.
FLOPS가 낮을수록 계산이 빠르고 에너지 소비가 적다.
모델이 차지하는 메모리 크기이다. 모델 파라미터, 중간 계산 결과(activation), 그래디언트 등을 포함한다.
모델이 소비하는 전력량을 측정한다. 특히 모바일 기기, IoT 디바이스, 대규모 데이터 센터에서 중요하다.
특정 분야에서는 해당 도메인의 특성에 맞는 전문 평가지표들이 사용된다.
BLEU는 기계 번역의 품질을 평가하는 지표로, 번역된 문장이 사람이 번역한 참조 문장과 얼마나 유사한지를 측정한다.
ROUGE는 텍스트 요약의 품질을 평가하는 지표로, 생성된 요약이 참조 요약과 얼마나 겹치는지를 측정한다.
Perplexity는 언어 모델이 텍스트를 얼마나 잘 예측하는지 측정하는 지표이다. 낮을수록 좋다.
Perplexity가 낮다는 것은 모델이 다음 단어를 예측할 때 확신이 높다는 의미이다.
IoU는 객체 탐지와 이미지 분할에서 사용되는 지표로, 예측된 영역과 실제 영역의 겹침 정도를 측정한다.
mAP는 객체 탐지의 표준 평가지표로, 여러 클래스에 대한 Average Precision의 평균이다.
mAP는 객체 탐지 모델(YOLO, Faster R-CNN 등)의 성능을 비교할 때 가장 많이 사용된다.
Dice Coefficient는 의료 영상 분할에서 자주 사용되는 지표로, IoU와 유사하지만 교집합을 두 배로 가중한다.
Dice Coefficient는 0~1 범위이며, 1에 가까울수록 좋다. IoU보다 작은 객체에 더 민감하게 반응한다.
교차 검증은 제한된 데이터로 모델을 더 신뢰성 있게 평가하기 위한 기법이다. 데이터를 여러 부분으로 나누어 반복적으로 학습과 검증을 수행한다.
가장 일반적인 교차 검증 방법으로, 데이터를 K개의 부분(fold)으로 나눈다.
클래스 불균형 문제에서 사용되는 변형으로, 각 fold에서 클래스 비율을 유지한다.
데이터가 매우 적을 때 사용하며, 샘플 수만큼 검증을 수행한다 (K=N). 계산 비용이 높지만 모든 데이터를 활용한다.
교차 검증의 장점:
과적합은 모델이 학습 데이터에만 지나치게 최적화되어 새로운 데이터에 대한 성능이 떨어지는 현상이다.
과소적합은 모델이 너무 단순하여 학습 데이터조차 제대로 학습하지 못하는 현상이다.
일반화는 모델이 학습 중에 보지 못한 새로운 데이터에 대해서도 좋은 성능을 보이는 능력이다. 좋은 모델은 일반화 능력이 높다.
모델의 오차는 편향(Bias)과 분산(Variance)으로 분해할 수 있다.
적절한 평가지표를 선택하는 것은 모델 개발에서 매우 중요하다. 다음 사항들을 고려해야 한다.
| 문제 유형 | 주요 평가지표 |
|---|---|
| 이진 분류 | Accuracy, Precision, Recall, F1, AUC-ROC |
| 다중 클래스 분류 | Accuracy, Macro/Micro F1, Confusion Matrix |
| 회귀 | MAE, MSE, RMSE, R² |
| 객체 탐지 | mAP, IoU |
| 기계 번역 | BLEU |
| 텍스트 요약 | ROUGE |
실제 응용에서는 비즈니스 목표에 따라 중요한 지표가 달라진다.
| 응용 사례 | 중요 지표 | 이유 |
|---|---|---|
| 암 진단 | Recall (재현율) | 암 환자를 놓치는 것(FN)이 매우 위험 |
| 스팸 필터 | Precision (정밀도) | 정상 메일을 스팸으로 분류(FP)하면 중요 메일 손실 |
| 자율주행 | Recall + 추론 시간 | 보행자/장애물을 놓치면 안 되고 실시간 처리 필요 |
| 추천 시스템 | Precision@K | 상위 K개 추천의 정확도가 중요 |
| 모바일 앱 | F1 + 추론 시간 + 모델 크기 | 성능과 효율성의 균형이 중요 |
거짓 양성(FP)과 거짓 음성(FN)의 비용이 다를 때 이를 고려해야 한다.
모델이 사용될 환경의 제약을 고려해야 한다.
실무에서는 단일 지표만으로 평가하기 어려운 경우가 많다. 여러 지표를 종합적으로 고려하여 모델을 선택하고 최적화해야 한다.