机器学习读书笔记-2(模型性能度量)

对学习器的泛化性能进行评估,不仅需要有效可行实验评估方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量(performance measure)。

1、错误率与精度

错误率和精度是分类任务当中最常用的两种性能度量。
错误率:
机器学习读书笔记-2(模型性能度量)
精度:机器学习读书笔记-2(模型性能度量)
更一般的,对于数据分布D和概率密度函数p(),错误率和精度分别描述如下,
机器学习读书笔记-2(模型性能度量)
机器学习读书笔记-2(模型性能度量)

2、查准率、查全率与F1值

错误率和精度虽然常用,但是不适用与所有的任务需求。例如,“挑选出来的信息有多少是用户感兴趣的”,“用户感兴趣的信息有多少挑选出来了”,这两种问题就不适用于错误率和精度,而适用于查准率(precision)和查全率(revall)。其中查全率又称召回率。

经过上面两种问题,大家已经大概了解查准率和查全率的大概含义,下面用二分类问题做更详细的介绍。

TP:真实例(true positive)
FP:假实例(false positive)
TN:真反例(true negative)
FN:假反例(false negative)
TP + FP + TN + FN = 样例总数。
(这个符号之前一直分不清,这里我找到了一个小规律:首先,符号都是两个字母,第一个字母为T和F,分别表示模型预测正确和错误;第二个字母是P和N,分别表示模型预测的是正例还是反例。这下子是不是一下子就分清了呢。哈哈。)
机器学习读书笔记-2(模型性能度量)
查准率P与查全率R分别定义为:
机器学习读书笔记-2(模型性能度量)
查准率和查全率是一对矛盾的度量。一般来说,查准率越高,查全率越低,反之相反。如果理解不了可以自己分析一下挑选好瓜的例子,想要查准率高,就只挑选最有把握的瓜,但是大多数好瓜都没有挑选出来,查全率就很低。

在很多情况下,我们可以根据模型的预测结果对样例进行排序,排在前面的是模型认为最可能是正例的样本,排在最后面的是模型认为最不可能是正例的样本。按照此顺序,从上到下依次去样本的预测为是正例的概率值作为判断是否为正例的阈值,每次取一个阈值,则作为阈值的样本以上及本身当做此情况下预测为正例的样本,下面的其他样本作为预测为反例的样本,因此可以计算出查全率、查准率。因此,每次选取一个样本的概率作为阈值,都可以计算得道查全率和查准率,以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线,简称P-R曲线,显示该曲线的图称为P-R图。 机器学习读书笔记-2(模型性能度量)
通过比较两个P-R曲线下面积的大小,作为判断模型的优劣,面积越大模型效果相对越好,但是在实际业务当中,还要看查准率和查全率哪一个较重要,从而选取适当的模型。

由于有时候P-R曲线下的面积较不容易得到,因此设计了一个“平衡点”(break-event point,简称BEP)度量方法,它是“查准率=查全率”时的取值,取值用BEP表示,通过比较两个P-R曲线的BEP值,根据值越大性能越好的准则,就可以简单比较出两个模型(学习器)的优劣。

但是,BEP还是过于简化了写,更常用的是F1值度量:
机器学习读书笔记-2(模型性能度量)
在不同的应用中,对查准率和查全率的重视程度不同,下面给出F1度量的一般形式(可以手动设置对查准率和查全率的偏重程度):
机器学习读书笔记-2(模型性能度量)
其中β > 0,表示查全率对查准率的相对重要性。β = 1,退化为标准的F1值度量;β > 1,表示查全率更重要;β < 1,表示查准率更重要。

对于多分类任务,每来两两类别的组合都对应一个混淆矩阵,对于多个二分类混淆矩阵,一般通过取均值的方法综合考察多个二分类混淆矩阵的查准率和查全率。
机器学习读书笔记-2(模型性能度量)

3、ROC与AUC

与P-R曲线类似,我们根据学习器的预测结果对样例进行排序,按照此顺序逐个吧样本作为正例进行预测,每次计算出两个重要的值,分别以它们为横纵坐标作图,就得到ROC曲线。ROC曲线的纵轴是正例率(true positive rate,简称TPR),横轴是假正例率(false positive rate,简称FPR)。
机器学习读书笔记-2(模型性能度量)
理想当中的ROC曲线是一个平滑的曲线,但是在实际情况下,通常是利用有限个测试样例来绘制ROC图,此时是一个类曲线。如下图所示:
机器学习读书笔记-2(模型性能度量)
如下有一个书中介绍的一个绘图过程,过程和P-R曲线的类似,只不过是横纵坐标的取值不同。
机器学习读书笔记-2(模型性能度量)
根绝ROC曲线判断模型优劣的方法和P-R曲线一样,多事看曲线下方的面积,面积越大模型性能更好,反之性能更差。ROC曲线下面的面积称为AUC(area under ROC curve)。AUC可以通过一重积分的推导方法进行求解,即将曲线当中相邻两个点之间的面积看做是一个梯形,然后将所有的梯形面积求和即可求出AUC。机器学习读书笔记-2(模型性能度量)

4、代价敏感错误率与代价曲线

现实任务当中会遇到不同的情况,但是发生不同的情况所造成的后果不同。例如“错误的吧病人当做健康人”与“错误把健康人当做病人”,这两种情况中,前者可导致病人死亡,后者仅仅多做了一些检查而已。这样的情况在现实中很常见,所以在测试模型效果的时候,要针对不同的情况设置不同的权值。

例如在二分类当中,模型预测错误的情况有两种:一个是吧正确的预测错误了,另一个是吧错误的预测正确啦。这对这两种不同的错误情况,设置不同的“代价权值”,得到的“代价敏感”错误率如下:
机器学习读书笔记-2(模型性能度量)
在非均等情况下,ROC曲线已经不能直接反映出学习器的期望总体代价,而代价曲线则可达到目的,代价曲线的横轴是取值为【0-1】的正例概率代价
机器学习读书笔记-2(模型性能度量)
其中P是样例为正例的概率;
代价曲线的纵轴是取值为【0-1】的归一化代价:
机器学习读书笔记-2(模型性能度量)
其中FRR是假正例率,FNR是假反例率,FNR = 1 = TPR。代价曲线的绘制如下图,书中描述:机器学习读书笔记-2(模型性能度量)
代价曲线图如下所示:
机器学习读书笔记-2(模型性能度量)
(有待,更新)