본 포스팅에서는 단일 및 다중 분류 모델에서, 모델의 성능을 평가하기 위한 다양한 performance measures 에 대하여 포스팅한다.
1. 목적
분류 모델을 평가 하기 위해서는 다양한 평가 기준들이 존재한다. 대표적으로, 정말 간단하게는 정확도 또는 오차율 등으로 분류 성능을 테스트하게 되지만, 이러한 단순한 방법으로 performance 를 표현하는 것은 분류 모델의 신뢰성을 떨어뜨린다.
논문이나 질병 관련 자료 등을 보면, Performance measures에는 정말 다양한 측정 방법들이 있고, 관련 분야에 종사하는 분들은 모두 한 번씩 들어봤을 익숙한 키워드들이다.
- 특이도 (specificity), 민감도 (sensitivity), FPR (false positive rate), +P or PPV (positive predictivity value), 정밀도 (precision), 재현율 (recall), 오답률 (detection error rate) 등
단어 자체만 봤을 때는, 전혀 감지 오지 않는다. 같은 의미 (수식)를 다르게 쓰는 표현도 존재할 뿐만 아니라, '특이도' 같은 경우엔, 뭐가 특이하다는 것인지 전혀 알 수가 없다. '재현율'의 경우, 뭘 재현한다는 것인지 도무지 알 수가 없다.
분류를 할 때, '정답'이면 '정답' 인 것만 찾으면 되지, 왜 우리는 저렇게 어려운 방법들을 모두 사용하여 평가를 해야 하는 것일까?
분류의 성능은 단순히 '정답'이 아닌, '오차'까지 모두 고려해주어야 한다. 모든 것에는 완벽한 '정답'이 없기 때문이다. 이 말인 즉슨, 단순히 'A'와 'B'를 분류할 때, 100% 정확한 결과는 나올 수 있다. 하지만, 실세계에 존재하는 다양한 데이터를 이용한 분류 모델에는, '오차'가 존재하지 않을 수가 없다.
예를 들어, 내가 'a'라는 원소를 가지고 학습된 'A' 모델에 분류 테스트를 했을 때, 정답이 'A'가 나올 수 있다. 하지만, 'ab'라는 원소를 가지고 학습된 'A' 모델에 분류 테스트를 했을 때, 정답이 'A'가 나올 경우도 있고, 학습된 'B' 모델에 분류 테스트를 했을 때, 정답이 'B'가 나올 경우도 생긴다.
이처럼, 'A'와 'B'의 학습 모델에 비슷한 특징을 갖는 원소 'ab'는, 'A' 분류모델에 테스트 할 경우와 'B' 분류 모델에 테스트할 경우, 어느 한쪽에 대해 '오차'가 발생할 수 있으며, 이는 곧 분류 모델의 더 많은 최적화가 필요하다는 의미가 된다.
2. TP, TN, FP, FN - 단일 분류 모델
Predict |
||
Reference |
TP |
FN |
FP |
TN |
2. TP, TN, FP, FN - 다중 분류 모델
머신러닝 기법을 적용하는 연구에서는 binary classification도 중요하지만, multi-classification을 해야 하는 경우가 상당히 많다. 그럼, 다중 분류에서는 confusion matrix를 어떻게 표현할까?
정답은 '독립적으로 표현' 이다. 정말 쉬울 수 있다.
A 클래스로 식별된 원소는 A 클래스 (정답)가 되는 것이고, B, C, D라고 식별된 것들은 A' (오답) 클래스로 분류 되는 것이다.
이렇게 각각 구해야 하는 이유는, 추후에 최종적으로 accuracy를 구할 때, 각각 구하지 않고, 4개의 클래스로 confusion matrix를 그려서 performance를 측정하면, accuracy의 분모가 1이 되기 때문에 독립적으로 구하여 평균을 내주어야 한다.
accuracy는 (TP+TN)/(TP+TN+FP+FN)으로, 아래 표와 같이 해당된다.
Predict |
|||||
A |
B |
C |
D |
||
Reference |
A |
TP |
FN |
FN |
FN |
B |
FP |
TN |
FP |
FP |
|
C |
FP |
FP |
TN |
FP |
|
D |
FP |
FP |
FP |
TN |
* 다음에 이어서 performance measure들에 대해서 포스팅하겠습니다.
'Signal Processing & Machine Learning' 카테고리의 다른 글
[Signal processing] EMD (Empricial mode decomposition): 경험적 모드 분해법 (0) | 2019.04.01 |
---|---|
[Clustering] (5-1) SOM: Self-Organizing Map, 자기조직화 맵 (1) | 2018.12.30 |