[딥러닝] 척도(Metrics)의 설명 및 종류
- 인공지능 및 데이터과학/머신러닝 및 딥러닝
- 2020. 8. 3.
척도(Metrics)의 개념
척도라는 것은 어떤 모델을 평가(Evaluate)하기 위해서 사용하는 값이다. 그러다보니 비슷한 개념의 목적/손실함수(Loss Function)와의 개념이 헷갈릴 수 있다.
손실함수는 모델의 성능을 끌어올리기 위해서 참조하는 값이다. 즉, 트레이닝(training, 학습)을 위해서만 사용하는 나침반과 같은 존재라고 한다면, 척도는 결과적으로 이 모델의 성능은 얼마짜리야라는 개념이다.
그렇기 때문에 척도와 손실 함수의 개념은 분리되어야 하지만 경우에 따라서는 특정 척도에 따라 최적화 하는 것이 최상일 때도 있다. 둘간의 개념이 사실상 유사하기 때문에 동일한 개념으로 어쩔땐 척도를 사용하기도 하고 어쩔땐 손실함수를 쓰기도 한다.
척도의 종류
정확도(Accuracy)
사실상 가장 많이 쓰이는 개념으로 타겟 대비 정확히 예측한 비율을 정의한다.
Accuracy = (TP + TN) / (TP + FP + FN + TN)
정밀도(Precision)
모델이 참(True)으로 예측한 것 중 실제로 True인 비율이다.
Precision = TP / (TP + FP)
재현율(Recall)
실제로 True인 것 중에서 모델이 True로 예측한 비율이다.
Recall = TP / (TP + FN)
F1 Score
Accuracy와 함께 인기있는 척도 중 하나로 F1 Score를 뽑을 수 있다. F1-score는 정밀도(Precision)과 재현율(Recall)의 조화 평균(Harmonic mean)을 나타내는 것으로 분류기 등을 만들 때 Precision과 Recall 사이에서 절충이 이루어지며 특이값의 리스크를 회피 할 수 있다.
다음과 같은 예를 들어보도록 하자.
Precision = 1
Recall = 0.1
둘간의 값의 온도차가 존재하며, 뭔가 잘못된 모델이라는 것을 알 수 있다. 하지만 단순히 정밀도와 재현율의 평균을 구하게 되면 다음과 같다
(1 + 0.1) / 2 = 0.55
단순히 평균을 구해버리니 0.1이라는 값이 어느정도 희석 되어버린다.
그러면 동일한 값, F1 공식으로 구해보도록 한다
2 * (1*0.1) / (1+0.1) = 0.1818...
F1 Score가 0.1818..이 나왔고, 이를 통해 해당 모델이 문제가 있다는 것을 쉽게 알 수 있을 것이다.
케라스(Keras) 척도 리스트
https://www.tensorflow.org/api_docs/python/tf/keras/metrics
'인공지능 및 데이터과학 > 머신러닝 및 딥러닝' 카테고리의 다른 글
쉽고 강력한 머신러닝, 나이브 베이즈 분류 (Naive Bayes Classification) (0) | 2020.12.13 |
---|---|
[딥러닝] 과적합(Over-fitting, 오버피팅) 문제 (0) | 2020.08.05 |
[딥러닝] 목적/손실 함수(Loss Function) 이해 및 종류 (0) | 2020.08.03 |
[딥러닝] 활성화 함수(Activation function) (0) | 2020.08.01 |
추천시스템(Recommender System) (0) | 2020.01.03 |