My Blog

(머신러닝 딥러닝) 정확도, 손실, 정밀도, 재현율 아주 쉽게 설명


(머신러닝 딥러닝) 정확도, 손실, 정밀도, 재현율 아주 쉽게 설명해 드립니다. ▶ 정확도 (Accuracy) 정확도는 모델이 전체 데이터에서 얼마나 정확하게 예측했는지를 나타내는 지표입니다. 전체 샘플 중에서 올바르게 분류된 샘플의 비율을 의미합니다. 계산 방법 정확도=올바르게 예측한 샘플 수/전체 샘플 수 [전체 샘플 수] 중에서 [올바르게 예측한 샘플 수]의 비율이 정확도가 됩니다. ​ 예시 100개의 데이터 중 90개를 올바르게 예측했다면, 정확도는 90%입니다. 전체 샘플수가 100이 되고, 올바르게 예측한 수가 90이 됩니다. 특징 간단하고 직관적인 지표로, 모델의 전반적인 성능을 한눈에 파악할 수 있습니다. 그러나 데이터의 클래스 불균형이 있을 경우에는, 정확도가 높은데도 불구하고 모델이 좋은 성능을 내지 못할 수 있습니다. 주의점 클래스 불균형이 심한 데이터셋에서는 정확도 만으로 모델의 성능을 판단하기 어렵습니다. 예를 들어, 전체 데이터의 95%가 클래스 A이고 5%가 클래스 B인 경우, 모든 샘플을 클래스 A로 예측해도 정확도가 95%가 됩니다. 그러니 훈련 데이터셋을 거의 같은 비율로 맞춰야 학습도 잘 되고 정확도의 신뢰도 올라가겠죠. ▶ 손실 (Loss) 손실 함수는 모델의 예측 값과 실제 값 사이의 차이를 수치화한 것입니다. 모델이 얼마나 "틀렸는지"를 측정하며, 손실 값이 작을수록 모델의 예측이 실제 값에 가깝다는 것을 의미합니다. 계산 방법 다양한 손실 함수가 있으며, 회귀에서는 평균 제곱 오차(MSE), 분류에서는 교차 엔트로피 손실(Cross-Entropy Loss) 등이 사용됩니다. 예시 이진 분류에서 실제 라벨이 1이고 모델의 예측 확률이 0.9라면, 손실 값은 작게 나옵니다. 반대로 예측 확률이 0.1이라면, 손실 값은 크게 나옵니다. 특징 학습 과정에서 최소화하려는 목표 함수입니다. 손실 함수의 값은 절대적인 의미보다는, 학습 과정에서의 감소 추세가 중요합니다. 주의점 손실 값 자체는 직관적으로 해석하기 어려울 수 있으며, 다른 지표와 함께 해석하는 것이 좋습니다. 손실 함수의 선택은 문제의 특성과 목표에 따라 달라집니다. ▶ 정밀도 (Precision) 정밀도는 모델이 긍정 클래스(예: "참" 또는 "1")로 예측한 샘플 중에서, 실제로 긍정인 샘플의 비율입니다. 즉, 모델이 예측한 "맞다" 중에서 실제로 맞은 비율입니다. 모델의 예측을 기준으로 비율을 산정한다는 점에 주목하세요. 계산 방법 정밀도=진양성 (TP)/진양성 (TP)+거짓양성 (FP) 정밀도는 [진양성 (TP)+거짓양성 (FP)] 중에서 [진양성 (TP)]의 비율을 말해요. ​ 진양성(TP): 실제로 긍정이며, 모델이 긍정으로 예측한 경우 거짓양성(FP): 실제로는 부정인데, 모델이 긍정으로 예측한 경우 예시 스팸 필터에서 스팸이라고 예측한 이메일 10개 중 실제로 스팸인 이메일이 8개라면, 정밀도는 80%입니다. 특징 정밀도는 거짓 양성을 줄이는 데 초점을 둡니다. 거짓 경보(false alarm)를 최소화하고자 할 때 중요한 지표입니다. 주의점 정밀도는 재현율과 함께 해석해야 합니다. 정밀도가 높더라도 재현율이 낮다면 많은 실제 긍정 샘플을 놓치고 있을 수 있습니다. ▶ 재현율 (Recall) 재현율은 실제로 긍정인 샘플 중에서 모델이 긍정으로 올바르게 예측한 샘플의 비율입니다. 즉, 실제 "맞다" 중에서 모델이 얼마나 잘 맞췄는지를 나타냅니다. 이건, 실제 데이터를 기준으로 함을 주목하세요. 정밀도는 모델의 예측을 기준으로 비율을 계산한 겁니다. 계산 방법 재현율=진양성 (TP)/진양성 (TP)+거짓음성 (FN) 재현율은, [진양성 (TP)+거짓음성 (FN)]중에 [진양성 (TP)]의 비율이에요. ​ 진양성(TP): 실제로 긍정이며, 모델이 긍정으로 예측한 경우 거짓음성(FN): 실제로는 긍정인데, 모델이 부정으로 예측한 경우 예시 질병 진단에서 실제로 질병이 있는 환자 50명 중 모델이 45명을 질병이 있다고 예측했다면, 재현율은 90%입니다. 특징 재현율은 거짓 음성을 줄이는 데 초점을 둡니다. 실제 긍정 사례를 놓치지 않고 검출하는 것이 중요할 때 사용하는 지표입니다. 주의점 재현율이 높더라도 정밀도가 낮다면, 모델이 많은 부정 샘플을 긍정으로 잘못 예측하고 있을 수 있습니다. ▶ 정밀도와 재현율의 관계 트레이드오프(Trade-off): 정밀도(모델 예측 기준)와 재현율(실제 데이터 기준)은 일반적으로 반비례 관계에 있습니다. 정밀도를 높이면 재현율이 낮아질 수 있고, 그 반대도 마찬가지입니다. F1 스코어: 정밀도와 재현율의 조화 평균으로, 두 지표를 하나의 값으로 통합하여 모델의 균형 잡힌 성능을 평가합니다. F1 스코어=2×정밀도×재현율/정밀도+재현율 F1 스코어는, [정밀도+재현율] 중에 [정밀도×재현율]의 비율에 2를 곱한 값입니다. ​ ▶ 언제 어떤 지표를 사용해야 할까? 정확도 클래스가 균형 잡혀 있고, 거짓 양성(FP)과 거짓 음성(FN)의 비용이 비슷할 때 사용합니다. 손실 모델의 학습 과정에서 손실 함수를 최소화하는 것이 목표이며, 손실 값의 감소 추이를 통해 모델의 학습 상태를 파악합니다. 정밀도 거짓 양성의 비용이 높을 때 중요합니다. 예: 스팸 필터에서 정상 이메일을 스팸으로 분류하면 안 되는 경우. 재현율 거짓 음성의 비용이 높을 때 중요합니다. 예: 질병 진단에서 실제 환자를 놓치면 안 되는 경우. ▶ 결론 모델의 성능을 정확하게 평가하기 위해서는 여러 지표를 종합적으로 고려해야 합니다. 정확도는 전반적인 성능을 보여주지만, 클래스 불균형이 있는 경우에는 정밀도와 재현율을 함께 살펴봐야 합니다. 손실 함수는 모델이 학습하는 동안의 방향성을 제시하며, 손실 값의 감소는 모델이 데이터를 잘 학습하고 있음을 의미합니다. 특정한 문제 도메인에서는 거짓 양성 또는 거짓 음성의 비용이 더 클 수 있으므로, 그에 맞는 지표를 중점적으로 확인해야 합니다. 이해를 돕기 위해 간단한 예시를 들어보겠습니다. 예시: 암 진단 모델 목표: 환자의 데이터를 기반으로 암 여부를 예측하는 모델을 개발합니다. 중요한 지표: 재현율: 실제로 암에 걸린 환자를 놓치지 않는 것이 중요합니다. 정밀도: 암이 아닌 사람을 암으로 예측하면 추가 검사로 인해 비용과 불안이 증가합니다. 모델 평가: 높은 재현율을 유지하면서 정밀도를 최대한 높이는 것이 목표입니다. F1 스코어를 사용하여 정밀도와 재현율의 균형을 평가할 수 있습니다.

Blog Home Back to Post List