从医学的角度来讲,大家关注的性能指标应该是两个:特异性和敏感性,敏感度其实指的是一种查全率,是不是把所有的结节都找到了。特异性是指假阳性的比例。在某种意义上,这是两个矛盾的指标,如果把一个指标调到最大,那肯定另一个指标的表现就会变得很差,大家都希望这两个指标能够达到一个最好的平衡。
为简化讨论,本文均以“二分类问题”为例,即对影像判断的结果只有两种:要么是阳性(positive),要么是阴性(negative)。这样的简化也符合大部分医学影像识别问题的实际情况。
二分类问题,如果不能被AI模型完美解决,那么模型预测结果的错误大概有两类:一类是把阴性误报为阳性(把没病说成了有病),另一类是把该报告的阳性漏掉(即把有病看成了没病)。优化模型的过程,是同时减少这两类错误的过程,至少是在两类错误之间进行适当折中的过程。不顾一类错误,而单纯减少另一类错误,一般是没有意义的。比如,我们为了不犯“漏”的错误,最简单的办法就是把所有的图像都报告称阳性(有病)。
1、 常用术语解释
在二分类的条件下,AI的预测结果存在下列4种情形:
- 真阳性(True Positive,TP):预测为阳性,实际为阳性的样本数;
- 真阴性(True Negative,TN):预测为阴性,实际为阴性的样本数;
- 假阳性(False Positive,FP):预测为阳性,实际为阴性的样本数;
- 假阴性(False Negative,FN):预测为阴性,实际为阳性的样本数。
其中,FP也称为误报(False alarm),FN也称为漏报(miss detection)。
上文4种名称中的“真”(True)和“假”(False)表示预测结果是否正确。名称中的“阳性”(Positive)和“阴性”(Negative)表示预测结果。例如,对于一个特定的测试样本,真阳性的含义为“AI预测正确,且AI预测结果为阳性”,那么就可以推断到:预测为阳性,实际结果为阳性。假阴性的含义为“AI错判为阴性”,那么就可以推断到:预测为阴性,实际结果为阴性。
通常我们会用一个矩阵来展示预测结果和实际情况的差异,称为混淆矩阵 (confusion matrix)。二分类的混淆矩阵为2✖️2的,见表1。三分类的问题如下,比如有这样一个在房子周围可能发现的动物类型的预测,这个预测的三类问题的混淆矩阵如下表所示:
一个三类问题的混淆矩阵
利用混淆矩阵可以充分理解分类中的错误了。如果混淆矩阵中的非对角线元素均为0,就会得到一个近乎完美的分类器。
为表述方便起见