11.3 类偏斜的误差度量

参考视频: 11 - 3 - Error Metrics for Skewed Classes (12 min).mkv

在前面的课程中,我提到了误差分析,以及设定误差度量值的重要性。那就是,设定某 个实数来评估你的学习算法,并衡量它的表现,有了算法的评估和误差度量值。有一件重要 的事情要注意,就是使用一个合适的误差度量值,这有时会对于你的学习算法造成非常微妙 的影响,这件重要的事情就是偏斜类(skewed classes)的问题。类偏斜情况表现为我们的

训练集中有非常多的同一种类的实例,只有很少或没有其他类的实例。 例如我们希望用算法来预测癌症是否是恶性的,在我们的训练集中,只有 0.5%的实例

是恶性肿瘤。假设我们编写一个非学习而来的算法,在所有情况下都预测肿瘤是良性的,那 么误差只有 0.5%。然而我们通过训练而得到的神经网络算法却有 1%的误差。这时,误差的 大小是不能视为评判算法效果的依据的。

查准率(Precision)和查全率(Recall) 我们将算法预测的结果分成四种情况:

  1. 正确肯定(True Positive,TP):预测为真,实际为真

  2. 正确否定(True Negative,TN):预测为假,实际为假

  3. 错误肯定(False Positive,FP):预测为真,实际为假

  4. 错误否定(False Negative,FN):预测为假,实际为真 则:

查准率=TP/(TP+FP)例,在所有我们预测有恶性肿瘤的病人中,实际上有恶性肿瘤的 病人的百分比,越高越好。

查全率=TP/(TP+FN)例,在所有实际上有恶性肿瘤的病人中,成功预测有恶性肿瘤的 病人的百分比,越高越好。

这样,对于我们刚才那个总是预测病人肿瘤为良性的算法,其查全率是 0。