模型性能度量方法

2018-06-30  本文已影响0人  来自乡下的农民工

备注

      性能度量即是找到一个评价标准,来对模型的泛化能力进行量化评价。

      不同的性能度量标准往往会有不同的度量结果,因此需要根据具体的任务需求与样本内容,来选择相应的性能度量方法。

一、基本概念

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曲线,性能越好。

上一篇下一篇

猜你喜欢

热点阅读