논문 구현 프로젝트의 코드 작성 단계들 중 대략적인 전처리 과정과 마지막에 여러 지표들을 계산하여 평가를 하는 과정을 중점적으로 맡게 되어서, 평가지표 관련된 내용에 대해 공부하며 예전에 학습했던 기억이 있는 내용들을 상기시켜봤다. 진행한 프로젝트의 목적은 1D CNN 모델을 활용하여 ECG 데이터를 자동으로 분류하고 심장 질환을 예측하는 것이었고, 연구 범위는 ECG 신호의 전처리, 특징 추출, 그리고 분류 및 예측 모델 개발까지 포함하였다.

평가지표는 분류(classification), 회귀(regression), 랭킹, 군집화(clustering), 토픽모델링(topic modeling) 등 다양하고 각각의 모델마다 적절한 평가지표는 상이하지만, Precision-recall과 같이 통상적으로 유용하게 사용되는 지표들도 있다.
프로젝트에서 재현하는 논문은 ECG signal을 분류하는 것으로 평가지표로는 accuracy, loss function(based on the binary cross-entropy function), precision, recall, F1-score등을 다룬다.

Accuracy, Precision, Recall 등의 지표들 계산은 위 confusion matrix의 수식들과 같다.
F1 score는 Precision과 Recall의 조화평균으로 아래와 같은 수식으로 구한다.
이때 조화평균이 이용되는 이유는 Precision과 Recall중 더 작은 값에 영향을 많이 받게 하기 위함이다. 예를 들어 Precision = 0.9 Recall = 0.1 인 경우 F1-score = 0.18이지만 Precision = 0.6 Recall = 0.4라면 F1_score = 0.48이 된다.
ROC(수용자 반응 특성, Receiver Operating Characteristic) curve는 분류기의 분류 능력을 그래프 좌표로 표현하는 방법으로 FPR ( False Positive Rate = FP/(FP+TN) )에 대한 TPR ( True Positive Rate = TP/(TP+FN) )을 여러 threshold로 조정하여 표로 그려서 표현한다.

ROC 퍼포먼스 수치를 모델의 예상 성능을 나타내는 단일 스칼라값으로 정리하여 보고자 할 때는 ROC곡선 아래 면적 계산한 것을 이용한다. 이를 AUC(Area Under the ROC Curve)라고 한다.
위와 같은 개념들을 활용하여 코드로 구현해본 결과, MIT-BIH dataset과 PTB-DB dataset 각각에서 논문과 유사한 결과를 얻을 수 있었다.
(MIT-BIH - Precision: 0.9214, Recall: 0.9062, F1-score: 0.9129
PTB-DB - Precision: 0.9812, Recall: 0.9886, F1-score: 0.9849)

