备注
性能度量即是找到一个评价标准,来对模型的泛化能力进行量化评价。
不同的性能度量标准往往会有不同的度量结果,因此需要根据具体的任务需求与样本内容,来选择相应的性能度量方法。
一、基本概念
1、性能度量
性能度量的原理就是对于样本集D={(x1,y1),(x2,y2)~~~(xm,ym)},对于一个样本特征xi,最终产生的结果为yi,评估学习器的性能,就是将学习器f(xi)的结果与yi进行对比。
2、均方误差
均方误差反映了训练结果与真实值之间的偏离关系,因此常被用在回归类任务的结果性能度量
均方误差公式以上误差出现在每个样本独立同分布的情况下,更一般的,考虑到样本的分布D及出现的概率,该公式为:
考虑样本分布的均方误差公式3、分类结果混淆矩阵
以二分类为例,根据真实类别与预测结果类别,会有以下四种类别组合情况的出现:
1)、真正例:事实为正例,训练结果也是正例,表示为TP
2)、真反例:事实为反例,训练结果也是反例,表示为TN
3)、假正例:事实为反例,训练结果为正例,表示为FP
4)、假反例:事实为正例,训练结果为反例,表示为FN
从上图可以看出:FP+FN+TP+TN=样例总数
二、错误率与精度
最简单,也是最常用的两种度量方法就是错误率和精度,对于离散类任务有较好的描述性。
1、错误率
错误率是分类错误的样本数占样本总数的比例,关注的要点是训练的结果准确率
错误率计算公式2、精度
精度就是分类正确的样本数占总样本的比例(即1-错误率)
精度计算公式三、查准率、查全率与F1
错误率和精度主要是总体上评估训练器的性能,但是如果我们着眼于我们想要关注的结果上,因此查准率及查全率更能影响我们选择该模型的决策。
1、查准率
当我们需要“用户检索出来的信息中,真正需要的比例”,或者“挑出来的西瓜有多少是甜的”的时候,就用到了查准率:
字面意思就是,预测的结果为正例的时候,真正的正例所占的比例
2、查全率
当我们需要“用户感兴趣的内容中,有多少被检索出来了”,或者“所有的好瓜中,有多少被挑出来了”的时候,用到了查全率:
字面意识就是,预测的结果与真实结果一致的样本中,正例所占的比例。
3、F1测评
由于查准率和查全率是一个比较矛盾的值,查准率越高的时候,往往样本的查准率就越差,原因就在于查准率较高,则TP尽量控制的很大,就会将一些不太匹配的正样本给抛弃,变成FN,因此查准率就会下降。
如果将预测的结果按照正例的概率进行排序,然后从小到大依次将样本归为正例进行预测,那么此时每一次将样本归为正例时,计算此时的查全率和查准率,形成的一个二维曲线即为P-R曲线:
P-R曲线正常情况下,一个曲线C被另一个曲线B完全包住,那么B的模型预测的性能要好于C的模型,但是如果两个模型的P-R出现相交的情况时,就不能通过P-R进行测评了,此时需要采用F1进行评测。
4、F1测评
F1测评的方法是,计算模型的查准率和查全率的调和平均,可以避免出现查全率或查准率为1而另一端为0的极端情况出现,当一个值很高一个值很低的时候,总体的评价性能仍然非常好。
其中,当实际问题对于查准率或者查全率有偏好的时候,可以设置一个权重,以增加偏好对性能的影响,即为:
其中β度量了查准率对查全率的重要性,β>1的时候,查全率更重要,反之查准率更重要,β=1的时候,即为正常的F1测评。
四、ROC与AUC
ROC的使用场景更多,也更常见:
1、ROC模型
ROC中是一种对正例进行检验的曲线,主要通过真正例率和假正例率来进行描绘:
1)、真正例率:选择的样例中,正例占据所有正例样本的比例
2)、假正例率:选择的样例中,反例占据所有反例样本的比例
一个典型的ROC曲线图如下:
2、ROC曲线的计算方式
ROC曲线中,x轴代表假正例率,一个单位即为(1/反例的个数),y轴代表真正例率,一个单位为(1/正例的个数)。
1)、根据学习器的结果,对样例进行打分,分数越高,则正例的可能性越大,
2)、对样例进行排序,依次将分值最高的样例归为正例进行验证。
3)、如果该样例为正例,则重新计算TPR,此时FPR值不变,反映在曲线上,即y轴+1个格。
4)、如果该样例为反例,则重新计算FPR,此时TPR值不变,反映在曲线上,即x轴+1个格。
3、AUC计算
AUC即为ROC曲线与x轴包围的面积大小,AUC的值越大,性能越好。
AUC计算公式1)、AUC是一个概率值,当分类算法越容易将正样本排在负样本之前的时候,AUC的值越大。
2)、越靠近(0,1)坐标的ROC曲线,性能越好。
网友评论