AI(004) - 笔记 - 模型评估与选择

模型评估与选择

这篇文章是学习了2周后,对模型评估与选择的总结,对应:

  • 第一周:(04)1.4 机器学习算法的组成部分
  • 第一周:(08)1.6 线性回归模型——模型选择
  • 第二周:(04)2.4 不平衡数据分类学习
  • 第二周:(05)2.5 分类模型的评价
  • 《机器学习》(西瓜书):第2章 模型评估与选择
  • 维基百科(en):“Precision and recall” 词条
  • 维基百科(en):“Receiver operating characteristic” 词条
  • 维基百科(en):“F1 score” 词条

文章标题排版以西瓜书为参考。另外公式比较多,app会乱码。请在浏览器或电脑查看。



1 经验误差(empirical error)与过拟合(overfitting)

  • 错误率(error rate):错误的样本数占样本总数的比例。

    即在m个样本中有a个样本分类错误,则:

    • 错误率(errpr rate): E = a / m
    • 精度(accuracy):1 - a / m
  • 误差(error):实际预测输出与样本的真实输出之间的差异。

    • 训练误差(training error)或经验误差(empirical error):训练集(training set)上的误差。

    • 泛化误差(generalization error):新样本上的误差。

  • 过拟合(overfitting):把训练样本自身的一些特点当成所有潜在样本都会具有的一般性质,导致泛化性能下降。

  • 欠拟合(underfitting):对训练样本的一般性质尚未学好。


2 评估方法(evaluation)

要评估,需使用一个“测试集”(testing set)来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”(testing error)作为泛化误差的近似。

测试集应尽可能与训练集互斥。

假定,一个包含m个样例的数据集D,从中产生训练集S和测试集T,则:

2.1 留出法(hold-out)

留出法:直接将数据集D分割成两个互斥集合,即:

D=ST,ST= D = S ⋃ T , S ⋂ T = ∅

分层采样(stratified sampling):保留类别比例的采样方式。

单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一把要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的结果。

留出法的问题:

  • 如果S较大,结果可能不够稳定准确;

  • 如果S较小,会降低评估结果的保真性(fidelity)。

这个问题没有完美的解决方案,常见做法是将大约 2/3 ~ 4/5 的样本用于训练。

2.2 k折交叉验证法(k-fold cross validation)

k折交叉验证法:将D分割成k个大小相似的互斥子集,即:

D=D1D2Dk,DiDj=(ij) D = D 1 ⋃ D 2 ⋃ … ⋃ D k , D i ⋂ D j = ∅ ( i ≠ j )

然后,每次用k-1个子集的并集作为训练集,余下的子集作为测试集;进行k次训练和测试,最终返回k个测试结果的均值。

常见k的取值:5,10,20等

为减少因样本划分不同而引入的差别,k折交叉验证通常要随机使用不同的划分重复p次,最终评估结果是p次k折交叉验证结果的均值。

当 k = m 时,称为留一法(Leave-One-Out,简称LOO)。留一法评估结果往往被认为比较准确,但当D比较大时,开销可能是难以忍受的。

2.3 自助法(bootstrapping)

自助法:以自助采样(bootstrap sampling)为基础产生数据集,即随机从D中选择一个样本的拷贝,重复m次,作为训练集。不被采样到的概率再取极限得

limm(11m)m=1e0.368 lim m → ∞ ( 1 − 1 m ) m = 1 e ≈ 0.368

即,约有36.8%未被采样,并将它作为测试集。这样产生的测试结果称为“包外估计”(out-of-bagestimate)。

由于自助法产生的数据集改变了初始数据集的分布,这会引入估计误差。因此,当数据量足够时,留出法与交叉验证法更常用。

2.4 调参(parameter tuning)与最终模型

  • 对每种参数配置都训练出模型是不可行的。常见做法,对每个参数选定一个范围和变化步长。

  • 在模型选择完成后,学习算法和参数配置已选定,此时应该用D重新训练。

  • 模型评估与选择中用于评估测试的数据集常称为“验证集”(validation set)。


3 性能度量(performance measure)

性能度量:衡量模型泛化能力的评价指标。学习器记作 f f

  • 最常用的指标是均方误差(mean squared error):

    E ( f ; D ) = 1 m i = 1 m ( f ( x i ) y i ) 2

    • 对于数据分布D与概率密度函数p(·),均方误差为:

      E(f;D)=xD(f(x)y)2p(x)dx E ( f ; D ) = ∫ x ∼ D ( f ( x ) − y ) 2 p ( x ) d x

    • 3.1 错误率(error rate)与精度(accuracy)

      一般的

      • 错误率(error rate)

        E(f;D)=1mi=1mI(f(xi)yi) E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i )

      • 精度(accuracy):

        acc(f;D)=1mi=1mI(f(xi)=yi)=1E(f;D) a c c ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D )

      对于数据分布D与概率密度函数p(·),有

      • 错误率(error rate)

        E(f;D)=xDI(f(x)y)p(x)dx E ( f ; D ) = ∫ x ∼ D I ( f ( x ) ≠ y ) p ( x
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值