机器学习分类和回归任务中的模型评估

一、性能度量概念

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

    在预测任务中,给定样例集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) } D={\lbrace(x_1,y_1),(x_2,y_2),…,(x_m,y_m)\rbrace} D={(x1,y1),(x2,y2),,(xm,ym)},其中 y i y_i yi 是示例 x i x_i xi 的真实标记。要评估机器学习 f f f 的性能,就要把学习器预测结果 f ( x ) f(x) f(x) 与真实标记 y y y 进行比较。

二、回归任务性能度量

    回归任务最常用的性能度量是“均方误差”(mean squared error)
E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D)=\frac{1}{m}\sum_{i=1}^m(f(x_i)-y_i)^2 E(f;D)=m1i=1m(f(xi)yi)2

    更一般的。对于数据分布 D D D 和概率密度函数 p ( ⋅ ) p(\cdot) p(),均方误差可描述为
E ( f ; D ) = ∫ x − D ( f ( x ) − y ) 2   p ( x ) d x E(f;D)=\int_{x-D} (f(x)-y)^2~p(x)dx E(f;D)=xD(f(x)y)2 p(x)dx

三、分类任务性能度量

    以二分类为例,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)四种情况,令 TP、FP、TN、FN分别表示其对应的样例数,显然有 TP+FP+TN+FN=样例总数。分类结果的“混淆矩阵”如下所示
在这里插入图片描述

1、准确率

A c c r u c y = T P + T N T P + F P + T N + F N Accrucy=\frac{TP+TN}{TP+FP+TN+FN} Accrucy=TP+FP+TN+FNTP+TN

2、精确率(查准率)

P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP

3、召回率(查全率)

R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP

    查准率和查全率是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。

4、P-R 曲线

    以查准率(P)为纵轴,查全率(R)为横轴,可绘制出“P-R图”
在这里插入图片描述
    若一个学习器的P-R曲线被另一个学习器的P-R曲线完全“包住”,则可认为后者的性能优于前者。如图中学习器A的性能优于学习器C。

    如果两个学习器的P-R曲线发生了交叉,例如图中的A和B,则难以一般情况来判断,此时可以比较P-R曲线下面积的大小,它在一定程度上表征了学习器在查准率和查全率上取得相对“双高”的比例,但这个值比较难计算。对此,人们设计了如下综合考虑查准率、查全率的性能度量:

(1)、平衡点(Break-Even Point,简称BEM)

    “平衡点” 是 “查准率=查全率” 时的取值,如上图中学习器A、B、C的BEM分别大概为0.8、0.71、0.63,而基于BEM的比较,可认为学习器A优于B。

(2)、F1度量

    由于 “平衡点” 的判别方式过于简化,因此我们更常用的是F1度量,F1度量是基于查准率和查全率的调和平均定义的:
1 F 1 = ( 1 2 ⋅ 1 P + 1 R ) \frac{1}{F1}=\left(\frac{1}{2}\cdot \frac{1}{P}+\frac{1}{R}\right) F11=(21P1+R1)
F 1 = 2 ∗ P ∗ R P + R         F1=\frac{2*P*R}{P+R}~~~~~~~ F1=P+R2PR       
                       = 2 ∗ T P 样 例 总 数 + T P − T N ~~~~~~~~~~~~~~~~~~~~~~=\frac{2*TP}{样例总数+TP-TN}                       =+TPTN2TP

    有时对查全率和查准率的要求不一样,所以需要对其进行加权(如商品推荐时为了尽量少打扰用户,查准率就重要一些。确定嫌疑人时希望少漏掉嫌疑犯,此时查全率就重要一些。),此时就需要用 F β F_\beta Fβ:
F β = ( 1 + β 2 ) ∗ P ∗ R ( β 2 ∗ P ) + R F_\beta=\frac{(1+{\beta}^2 )*P*R}{({\beta}^2 *P)+R} Fβ=(β2P)+R(1+β2)PR
     F β F_\beta Fβ则是加权调和平均:
1 F β = 1 1 + β 2 ⋅ ( 1 P + β 2 R ) \frac{1}{F_\beta}=\frac{1}{1+{\beta}^2}\cdot \left(\frac{1}{P}+\frac{{\beta}^2}{R}\right) Fβ1=1+β21(P1+Rβ2)
    与算术平均 ( P + R 2 ) (\frac{P+R}{2}) (2P+R)和几何平均 ( P ∗ R ) (\sqrt{P*R}) (PR )相比,调和平均更重视较小值。

    其中 β > 0 \beta>0 β>0 度量了查全率对查准率的相对重要性, β = 1 \beta=1 β=1 时退化为标准的F1; β > 1 \beta>1 β>1 时查全率有更大影响; β < 1 \beta<1 β<1 时查准率有更大影响。

5、ROC和AUC

    ROC 全称是“受试者工作特征”(ROC, Receiver Operating Characteristic),根据学习器的预测结果,对样本依概率从高到低进行进行排序,然后按照顺序逐个把样本作为正例进行预测,计算出此时的TPR(真正例率,True Positive Rate)作为纵坐标,FPR(假正例率,False Positive Rate)作为横坐标,画出的曲线就是ROC曲线。
T P R = T P T P + F N TPR = \frac{TP}{TP+FN} TPR=TP+FNTP
F P R = F P T N + F P FPR=\frac{FP}{TN+FP} FPR=TN+FPFP
在这里插入图片描述
ROC曲线上的四种特殊值:

  • (0,1) 即FPR=0, TPR=1,这意味着FN(false negative)=0,并且FP(false positive)=0。这是一个完美的分类器

  • (1,0),即FPR=1,TPR=0,类似地分析可以发现这是一个最糟糕的分类器,因为它成功避开了所有的正确答案。

  • (0,0),即FPR=TPR=0,即FP(false positive)=TP(true positive)=0,可以发现该分类器预测所有的样本都为负样本(negative)。

  • (1,1),分类器实际上预测所有的样本都为正样本。

在这里插入图片描述
    通过上述定义可知,AUC是通过对ROC曲线下各部分面积求和而得,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5~1之间。

    使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。

    假定ROC曲线是由坐标为 ( ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) ) \left( (x_1,y_1),(x_2,y_2),…,(x_m,y_m)\right) ((x1,y1),(x2,y2),,(xm,ym))的点按序连接而形成 ( x 1 = 0 , x m = 1 ) (x_1=0,x_m=1) (x1=0,xm=1),参照上图(2),则AUC可估算为
A U C = 1 2 ∑ i = 1 m − 1 ( x i + 1 − x i ) ⋅ ( y i + y i + 1 ) AUC=\frac{1}{2}\sum_{i=1}^{m-1}(x_{i+1}-x_i)\cdot(y_i+y_{i+1}) AUC=21i=1m1(xi+1xi)(yi+yi+1)

其它参考
https://blog.csdn.net/YE1215172385/article/details/79443552 代码
https://blog.csdn.net/shareviews/article/details/82848689
https://blog.csdn.net/appleyuchi/article/details/96192304 详细

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值