模型评估与选择-----第二部分

上一部分我们介绍了经验误差与过拟合、评估方法,下面我们接着介绍模型评估与选择的其他内容


三、性能度量

回归任务最常用的性能度量是“均方误差”,

     


下面主要介绍分类任务中常用的性能度量


1、错误率与精度

即适用于二分类,也适用于多分类任务。

错误率:分类错误的样本占样本总数的比例; 

                                 

精度:分类正确 的样本占样本总数的比例。

                               

2、查准率、查全率与F1

                                         

分类结果的混淆矩阵
真实情况预测结果 
 正例反例
正例TP(真正例)FN(假反例)
反例FP(假正例)TN(真反例)


查准率P与查全率R分别定义:

                               

                  

P与R是一对矛盾的度量。在很多情况下我们可以根据学习器的预测结果对样本进行排序,排在前面的是学习器认为“最有可能”是正例的样本,排在最后的是“最不可能”是正例的样本,按此顺序逐个把样本作为正例进行预测,则每次可以计算当前的查全率、查准率,以查全率为横轴,查准率为纵轴,可以得到查准率-查全率曲线(P-R曲线)


若一个学习器的P-R曲线倍另一个学习器的P-R曲线完全“包住”,则可断言或者的性能优于前者。有交叉时一个比例合理的判断依据是曲线下的面积大小,单不太容易估算。也有一些其他的综合考虑P和R的性能度量:

      “平衡点”(BEP):P = R 时的取值。基于BEP,学习器A优于B。

但是BEP太过简化,更常用的是F1度量:


         、

其中m为样例总数

在一些应用中,对查全率和查准率的重视程度是不一样的,F1的一般形式可显示出来:



其中>0度量了查全率对查准率的相对重要性。>0 时查全率的影响更大,<0时查准率的影响更大。


但是很多时候我们有多个二分类混淆矩阵,(如多次训练/测试,每次得到一个混淆矩阵;在多个数据集上训练/测试,希望估计算法的全局性能;甚至是多分类任务,每两两类别的组合都对应一个混淆矩阵;总之我们希望在N个二分类混淆矩阵上综合考虑查准率和查全率):


一种直接的方法是先在各个混淆矩阵上计算出查全率和查准率,然后求均值,得到宏查准率和宏查全率以及相应的宏F1

还可以将个混淆矩阵的对应元素先平均,在基于平均值计算出微查准率、微查全率和微F1



3、ROC与AUC

根据概率预测的结果将测试样本进行排序,可以视不同 的应用任务需求来采用不同的截断点,因此排序本身的质量好坏,体现了综合考虑学习器在不同任务下的“期望泛化性能”的好坏。ROC曲线则是从这个角度出发来研究学习器的泛化性能。


与P-R曲线类似,我们根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值,分别以它们为横、纵坐标作图,就得到ROC曲线。

ROC曲线纵轴使用“真正例率(TPR)”,横轴是“假正例率(FPR)”,两者定义如下:

                           

对角线对应于“随机猜测”模型,而点(0,1)则对应于将所有正例排在所有反例之前的“理想模型”。


进行比较时,与P-R图相似,若一个学习器的ROC曲线被另一个学习器的曲线包围,则后者优于前者。若有交叉,则可用AUC(ROC曲线下的面积)比较。


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

在现实中,不同错误所造成的的后果不一样。


一般来说cost00 = 0,若将第0类判别为第1类所造成的损失更大,则cost01 > cost10。


前面的性能度量大都隐士地假设了均等代价。

在非均等代价下,ROC曲线下,我们所希望的不再是简单地最小化错误次数,而是希望最小化“总体代价”。

一般定义的错误率是直接计算“错误次数”,而“代价敏感”错误率定义:


类似的,可给出基于分布定义的代价敏感错误率,以及其他一些性能度量如精度的代价敏感版本,若令cost ij中的i、j取值不限于0、1,则可定义多分类任务的代价敏感性能度量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值