【Machine Learning】机器学习中的性能度量

机器学习中的性能度量

在前面中的的小节中有如下的两个性能度量

错误率:分类错误的样本数占总样本数的比例
精度:1-错误率

通常情况下,单单使用这两个性能度量,不能很好的反应训练结果。所以需要借助其他指标来评价模型的好坏。

均方误差、错误率与精度

在回归模型中,常用的性能度量是均方误差(mean squared error)
E ( f ; d ) = 1 m ( f ( x i ) − y i ) 2 E(f;d) = \frac{1}{m}(f(x_i)-y_i)^2 E(f;d)=m1(f(xi)yi)2

对于分类模型,可以使用上面所说的错误率精度,定义如下
E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) E(f;D)=\frac{1}{m} \sum_{i=1}^{m} \mathbb I(f(x_i) \ne y_i) E(f;D)=m1i=1mI(f(xi)̸=yi)
A c c ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D ) Acc(f;D) = \frac{1}{m} \sum_{i=1}^{m} \mathbb I(f(x_i) = y_i)=1-E(f;D) Acc(f;D)=m1i=1mI(f(xi)=yi)=1E(f;D)

PRC与ROC

为了更好的评价模型的好坏,可以使用PRC(Precision-Recall Curce)与ROC(Receiver Operating Characteristic)。

混淆矩阵

首先是混淆矩阵

真实情况预测结果
正例反例
正例TPFP
反例FNTN

则有命中率(Precision) P = T P T P + F P P = \frac{TP}{TP+FP} P=TP+FPTP
召回率(Recall) R = T P T P + F N R = \frac{TP}{TP+FN} R=TP+FNTP

命中率(Precision)关注的是结果,结果中的正例有多少是被正确分类的。
召回率(Recall)关注的是模型本身,数据集中的正例到底有多少被正确分类。

举个例子加以说明。如在信息检索中,对于目标用户而言,一类是用户感兴趣的,一类是用户不感兴趣的。而模型的工作是在所有信息中将用户感兴趣的那部分挑选出来,这相当于一个二分类问题。
命中率的含义是,在被挑选出来的信息中(即模型认为用户感兴趣的),有多少信息是真正让用户感兴趣的。
召回率的含义是,在所有信息中,那些真正让用户感兴趣的信息有多少被挑选了出来。

PRC

有了P和R,即可引入PRC了。
个人理解的二分类,就是选择一种策略,对样本进行打分,然后设定阈值,将高于阈值的看做为正样本(或负样本),将低于阈值的看作为负样本(或正样本)。二分类一般阈值设定为50%。如果能找到这样一条分界线(阈值),完美的将数据集分为正例和反例,那么再好不过。事与愿违,通常模型并不能被训练的这么完美。

PRC的绘制方法

例如挑选出正例,将评分(如上例中的感兴趣程度)按照从高到低排序。一开始设一空集 E m p Emp Emp,按照排序顺序,逐个将样本加入到集合 E m p Emp Emp,分别计算当前集合 E m p Emp Emp中的 P 、 R P、R PR,将 ( R , P ) (R,P) (R,P)作为点坐标绘制到平面上,即可得到 P R C PRC PRC

PRC的含义

PRC越平滑越好,包围的面积越大越好。当两条PRC相差无几的时候,可以分别计算其对应模型的 F 1 F1 F1值, F 1 F1 F1值越大越好。除了直接计算F1值,也可以画出 ( 0 , 0 ) (0,0) (0,0) ( 1 , 1 ) (1,1) (1,1)的直线,看与PRC的交点,交点代表最大的 F 1 F1 F1值。这是因为, F 1 = 2 × P × R P + R F1 = \frac{2 × P × R}{P+R} F1=P+R2×P×R,观察分母,根据均值不等式可以推出上述结论。

上图中深蓝比浅蓝好,绿色比其他的要好。

那为何面积越大越好呢?最理想的情况是面积为1,面积为1的时候,说明模型给出合适的评分,我们可以找到一个阈值,使得大于阈值的均为正样本,小于阈值的均为负样本。

ROC

ROC需要计算两个值,作为其的横纵坐标
TPR(True Positive Rate) T P R = T P T P + F N TPR = \frac{TP}{TP +FN} TPR=TP+FNTP
FPR(False Positive Rate) F P R = F P T N + F P FPR = \frac{FP}{TN + FP} FPR=TN+FPFP
值得注意的是,两个指标的分母都是定值。

ROC的绘制方法

同PRC的绘制方法
在计算的过程中,由于分母是定值,分子不断增大,两个值都会不断的增大。
AUC是ROC所围成的面积,同样面积越大,代表模型越好。

代价敏感错误

在不同的场合下, 我们希望准确率和召回率有所侧重。比如在疾病诊断过程当中,希望召回率更高,命中率低一些没关系,因为如果患者真的有疾病,可能错过了疾病的最佳治疗时期。相反,如果基于不错怪好人的原则,在嫌疑人确认的时候,希望命中率更高一些。

如果此时我们希望不同的错误(把好人误认为坏人,或者把坏人误认为好人)对整个模型的代价不同,那么我们就为其附上不同的权值即可。

如图所示,为两种错误分别附上不同的“错误权重”,进而可以得到在当前代价敏感下模型的"代价敏感"错误率为

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值