Processing math: 100%
0%

模型评估与选择(参考自西瓜书)

经验误差与过拟合

  • 错误率:如果在m个样本中有a个样本分类错误,则错误率E=am
  • 精度(accuracy)1am,即“精度=1-错误率”
  • 误差:学习器的实际预测输出与样本的真实输出之间的差异
  • 训练误差:学习器在训练集上的误差。
  • 泛化误差:学习器在新样本上的误差。
  • 过拟合(overfitting)欠拟合(underfitting)

评估方法

数据集的划分

  1. 留出法:直接将数据集D划分为两个互斥的集合,其中一个作为训练集S,另一个作为测试集T,即D=ST,ST=ϕ。为了保证划分后数据分布的一致性。通常采用“分层抽样”(stratified sampling)的方法。
  2. 交叉验证法:将数据集D划分为k个大小相似的互斥子集,即D=D1D2Dk,DiDj=ϕ(ij),每个子集Di都尽可能保证数据分布的一致性,即来自分层抽样。然后每次用k1个子集的并集作为训练集,剩下的那个子集作为测试集,这样就得到k组 训练/测试集,从而可以进行k次训练和测试,最终返回的是这k个测试结果的均值,称为“k折交叉验证”(k-fold cross validation)
  3. 自助法(bootstrapping):给定包含m个样本的数据集D,我们对它进行采样产生数据集D每次随机从D中挑选一个样本,将其拷贝放入D,然后再将该样本放入D中,使得该样本在下次采样时任有可能被采到;重复这个过程m次后,我们就得到了含有m个样本的数据集D。做一个简单的估计,样本每次采样不被采到的概率为11m,则m次不被猜到的概率为(11m)m,当m足够大时有:limm(11m)m1e0.368即通过自助采样,初始数据集D中大约有36.8%的样本没有出现在D中。适用于数据集较小,难以划分的数据集。

调参与最终模型

性能度量

回归任务中常用的均方误差

E(f;D)=1mmi=1(f(xi)yi)2

更一般的,对于数据分布D和概率密度函数p(),均方误差可描述为

E(F;D)=xD(f(xiy)2)p(x)dx

查准率、查全率与F1

对于二分类问题,可将样例的真实类别与学习器的预测类别的组合划分为:

  • 真正例(true positive):预测的正例实际上就是正例
  • 假正例(false positive):预测的正例实际上是反例
  • 真反例(true negative):预测的反例实际上就是负例
  • 假反例(false negative):预测的反例实际上是正例

由以上的概念可以得出,=TP+FN,=TN+FP,=TP+FP,=TN+FN,可组成混淆矩阵(confusion matrix)。

  • 查准率:P=TPTP+FP=,即考量预测正例的准确率
  • 查全率:R=TPTP+FN=,即考量预测正例的完整率
  • P-R曲线与平衡点(Break-Event Point,简称BEP,它是查准率=查全率时的取值)
  • F1度量比平衡点更常用:F1=2×P×RP+R=2×TP+TPTN
  • 对查全率与查准率的重视程度不同,定义β>0度量了查全率对查准率的相对重要性:Fβ=(1+β2)×P×R(β2×P)+R
  • 很多时候会多次的训练/测试,得到多个混淆矩阵。从而使用各种指标的均值来进行考量

ROC与AUC

ROC(Reveiver Operating Characteristic)全称是“受试者工作特征”,它考察“真正例率”(TPR)与“假正例率”(FPR):

TPR=TPTP+FN=FPR=FPFP+TN=

AUC即ROC曲线下的面积

本文标题:模型评估与选择(参考自西瓜书)

文章作者:SkecisAI

发布时间:2020年06月03日 - 14:36:48

最后更新:2020年06月07日 - 14:47:52

原始链接:http://www.skecis.top/2020/06/03/模型评估与选择/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

感谢你的支持,希望本文能助你一臂之力。

未找到相关的 Issues 进行评论

请联系 @skecis 初始化创建