第二章 模型估计和选择(周志华 西瓜书)

经验误差与过拟合

训练误差与泛化误差

训练误差:学习器在训练集上的误差。
泛化误差:学习器在新样本上的误差。
(泛化越强说明学习器在新样本的适应能力越强)
一般泛化误差我们很难去处理,所以一般做法是将数据集分成训练集和测试集,以测试集来测试学习器对新样本的判别能力,测试误差作为对泛化误差的估计。测试集与训练集尽可能互斥。

欠拟合:学习器的学习能力差,部分总体特征没有学习到,易于克服,例如在决策树学习中扩展分支、神经网络虚席中增加训练轮数。
过拟合:学习器的学习能力过强,将部分样本特征扩大成总体特征。这是机器学习面临的关键障碍,过拟合是无法避免的,我们只能“缓解”,减小其风险。
过拟合和欠拟合的直观表现

划分数据集的方法

留出法

将原始数据集D划分成两个互斥的集合S(训练集)、T(测试集)。
注意:

  1. 数据划分时尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差。(分层采样 stratified sampling)
  2. 一般是将数据的2/3-4/5的数据用于训练,剩余样本用于测试。(训练集太小,S与D的差异越大,样本规模不同引入了估计误差,降低评估结果的保真性;而若S太大,则T越小,评估结果不够稳定。)
  3. 单次使用留出法得出的结果往往不够稳定,一般采用若干次随机划分、重复进行试验评估后取平均值作为留出法的评估结果。

留一法(leave-one-out,LOO):不受随机样本划分方式的影响,m个样本只有唯一方式划分为m个子集——每个子集包含一个样本。
缺点:数据集比较大时,训练m个模型需要耗费太多时间内存。

交叉验证法

k折交叉验证法:将数据划分为k个大小相似的互斥子集,每个子集都尽可能保持数分布的一致性。每次用其中k-1个子集的并集作为训练集,剩下的那个子集作为测试集,获得k组训练/测试集,做k次训练和测试,最终返回这k次测试记过的均值。
ps:交叉验证评估的结果的稳定性和保真性很大程度上取决于k的取值。

p次k折交叉验证法:数据集D划分为k个互斥子集存在很多种划分方式,为减小因样本划分不同而引入的误差,k折交叉验证通常需要随机重复p次不同的划分。

自助法 bootstrapping

(解决训练样本规模不同而导致的估计偏差)
自助采样法(bootstrap sampling)

原数据D(包含m个样本),通过有放回抽样m次产生新数据集D’,D中有部分样本在D’中重复出现,而一部分样本在D’中不出现。
在D’中不出现样本的比例
也就是说,大概有36.8%的样本不会被采样,则以D’作为训练集,D\D’作为测试集。这样的测试结果,也称为“包外估计(out-of-bag estimate)”

优点:保持了训练样本与原样本的规模一致;在数据集较小、难以划分训练\测试集时很有效。
缺点:改变了原始数据集的分布,会引入估计偏差。

在初始数据量足够的情况下,留出法与交叉验证法更常用一些。

(西瓜书的学习笔记,摘录和总结)
##参考文献
1、周志华. 机器学习[M].北京:清华大学出版社,2016

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值