第二章 模型评估与选择

2.1经验误差与过拟合

泛化能力

机器学习的目标是使学得的模型能很好地适用于“新样本(unseen instance)" 而不是仅仅在训练样本上工作得很好;即便对聚类这样的无监督学习任务,我 们也希望学得的簇划分能适用于没在训练集中出现的样本。学得模型适用于新样本的能力,称为 “泛化 " (generalization)能力。

泛化误差vs经验误差

未来的数据和现在的数据符合同样的规律,在这个假设下工作。

过拟合vs欠拟合

过拟合:把训练数据里的特性学出来了,但这个特性还恰巧不是一般规律。

欠拟合:没有学习到重要特征。

过拟合是无法彻底避免的,我们所能作的只是“缓解”,或者说减小其风险。关于这一点,可以大致这样理解:机器学习面临的问题通常是NP难甚至更难,而有效的学习算法必然是在多项式时间内运行完成,若可彻底避免过拟合,则通过经验误差最小化就能获得最优解,这就意味着我们构造性的证明了“P=NP”;因此,只要相信”P!=NP“过拟合就不可能避免。

问自己:这个算法是这样工作的,它靠什么来缓解overfitting?

它缓解overfitting的策略在什么时候会失效?

可能就能够把握一点这个算法在什么时候用。

2.2评估方法

[本章列出的方法只是”有什么“,以后需要面对的是”可能有什么“,可能需要发明出新的适合的评估方法,而发明的思路就可以在这些”有什么”中得到。]

通常,我们可通过实验测试来对学习器的泛化误差进行评估,进而做出选择。为此,需要一个“测试集”(testing set)来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”(testing error)作为泛化误差的近似。通常我们假设测试集也是从样本真实分布中独立同分布采样得到的。测试集应尽可能与训练集互斥,即测试样本尽量不要在训练集中出现、未在训练过程中使用。——举一反三的能力

可是我们只有一个包含m个样例的数据集D,既要训练又要测试,怎么才能做到呢?答案是:通过对D进行适当的处理,从中产生测试集S和训练集T,下面介绍几种常见的作法。

2.2.1 留出法

“留出法”(hold out)直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T。在S上训练出模型后,用T来评估其测试误差,作为对泛误差的估计。

保留类别比例的采样方式通常称为“分层采样”(stratified sampling)。

2.2.2 交叉验证法

“交叉验证法”(cross validation)先将数据集D划分为k个大小相似的互斥子集。每次使用k-1个子集的并集作为训练集,余下的那个作为测试集。这样就可获得k组训练/测试集,从而进行k次训练和测试,最终返回的是这k个测试结果的均值。交叉验证法评估结果的稳定性和保真性在很大程度上取决于k的取值,通常把交叉验证发称为“k折交叉验证”(k-fold cross validation)。

与留出法相似,将D划分为k个子集同样存在多种划分方式。为减小因样本划分不同而引起的差别,k折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值,例如常见的有“10次10折交叉验证”

"留一法LOO"

例:50个男生50个女生,则使用留一法准确度为0,NFL定理。

2.2.3 自助法

自助法在数据集较小、难以有效划分训练/测试集时很有用;此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处。然而,自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。 因此,在初始数据量足够时,留出法和交叉验证法更常用一些。

2.2.4 调参与最终模型

模型评估与选择中用于评估测试的数据集常称为“验证集 " (validation set)。例如,在研究对比不同算法的泛化性能时,我们用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参

2.3性能度量

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

性能度量反映了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果;这意味着模型的“好坏”是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。

2.3.1 错误率与精度(分类)

2.3.2 查准率、查全率与F1

[比如,100个西瓜,预测给了我10个是好的,这十个里面有多少个实际是好的,叫做查准率。

原来100个里面,有20个是好的,而你给我了10个,查全率就是50%]

F1度量是把查全率和查准率一起考虑的

均衡办法:

2.3.3 ROC与AUC

2.3.4 代价敏感错误率与代价曲线

2.4比较检验

2.5偏差与方差

2.6阅读材料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值