机器学习_阅读笔记_算法评估

15 篇文章 0 订阅
15 篇文章 0 订阅

样本量与误差

样本量影响训练误差及验证误差。
总体情况是:样本量少的时候,训练算法基本都能正确拟合数据,所以样本量少的时候训练误差小,但泛化程度不好,对新样本的适应能力不好,所以样本量少的时候交叉验证的误差大。
当样本量增加是,训练很难对所有样本拟合,故样本量增大的时候训练误差增大,但算法拟合能力更强了,对新样本的适应能力强,所以样本量增大的时候交叉验证的误差减少。
如下示意图:

high bias(偏差) & high variance(方差)

一般而言高偏差意味着欠拟合,高方差意味着过拟合。

通过以下两种情况判断是高偏差还是高方差:

1、Experiencing high bias:
Low training set size: causes Jtrain(θ) to be low and JCV(θ) to be high.
Large training set size: causes both Jtrain(θ) and JCV(θ) to be high with Jtrain(θ) JCV(θ) .

这种情况下是underfit,算法不能准确的拟合数据,增加样本量最终test error和train error几乎相等,当出现这种情况下,增加样本量不会对算法有任何作用。

示意图如下:
这里写图片描述

2、Experiencing high variance:
Low training set size: Jtrain(θ) ) will be low and JCV(θ) will be high.
Large training set size: Jtrain(θ) increases with training set size and JCV(θ) continues to decrease without leveling off. Also, Jtrain(θ) < JCV(θ) but the difference between them remains significant.
这种情况下是overfit,增加样本数对算法有作用

示意图如下:
这里写图片描述

下面示意图是模型复杂度与偏差、方差的关系:

下面介绍如何解决high bias 和 high variance

  • Fixes high variance
    • Getting more training examples
    • Trying smaller sets of features
    • Increasing λ(λ为正则项参数)
  • Fixes high bias
    • Adding features
    • Adding polynomial features
    • Decreasing λ

我们需要对错误进行分析,调整模型,简单的可以实施以下几步:

1、从一个简单的算法开始,快速实现它,并对它进行交叉检验
2、画出learning curves来决定是否需要添加更多样本、更多特征等等
3、人工检查交叉验证的错误的例子,找出导致错误的原因
对垃圾邮件来说,500封邮件100封判断错误,分析这些邮件类型,比如广告30封,盗密码50封,其他20封,就要对盗密码的情况添加新的特征到模型中。
除以上外,还要针对单词大小写,同类词是否当做一类特征需要进行试验才能知道。

评估指标

通常我们把分类错误的样本数占样本总数的比例称为“错误数”(error rate),相应的,“正确率”(accuracy) = 1 - “错误数”,但对于正负样本比例倾斜严重的情况,比如测试数据中有99个负样本,1个正样本,假设测试把所有数据都判定为负样本对应的值,那“正确率”达到了99%,这显然不合理的。
因此我们可以使用新的平均指标。

查准率、召回率

首先我们定义
TP(True Positive): 将正类预测成正类数
FN(False Negative):将正类预测成负类数
FP(False Positive): 将负类预测成正类数
TN(True Negative): 将负类预测成负类数

查准率定义为

Precision(P)=TPTP+FP

召回率定义为
Recall(R)=TPTP+FN

F1定义
F1=2×P×RP+R=2×TP+TPTN

查准率和召回率是一对矛盾的度量,一般一个高,另一个就偏低。下面给出这两者关系的P-R图

上图中给出A、B、C三个学习器,若一个学习器的P-R曲线被另个一个学习器的曲线完全“包住”,则可断言后者的性能优于前者(如A优于C)。但两个曲线发生交叉则很难判断(如A和B)。

为比较R-P曲线有交叉的学习器,我们可以通过以下几种方法:
1、“平衡点”(BEP):“查准率=召回率”的点,这样就可以判断学习器A优于B
2、F1值,一般F1值越大越好。
3、有时对查准率和召回率的重视程度不同,比如在商品推荐中,为了尽可能少地打扰客户,更希望推荐内容确实是用户感兴趣的,此时的查准率更为重要;相反,在逃犯信息检索中,更希望尽可能少漏掉逃犯,此时查全率比较重要,所以可以使用 Fβ 替换F1:

Fβ=(1+β2)×P×R(β2×P)+R

β 为1时,就是F1了。当 β>1 时查全率有更大影响;当 β<1 时查准率有更大影响;

ROC AUC

ROC对应的横坐标为假正例比(FPR)

FPR=FPTN+FP

ROC对应的纵坐标为真正例比(TPR)
TPR=TPTP+FN

ROC示意图:
这里写图片描述

AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1

简单地说,AUC值越大的分类器,正确率越高。

从AUC判断分类器(预测模型)优劣的标准:

  • AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。
  • 0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
  • AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
  • AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反)

参考

ROC曲线-WIKI
机器学习性能评估指标(精确率、召回率、ROC、AUC)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值