机器学习笔记(PART II)模型的评估和选择(I)

经验误差和过拟合

错误率:

分类错误的样本数占样本总数的比例
如果在 m 个样本中有a个样本分类错误则错误率 E=a/m ;

精度:

精度=1-错误率
acc=1a/m

训练误差(经验误差):

学习器在训练集上的误差

泛化误差

学习区在新样本上的误差

过拟合(过配)

学习能力过于强大,以至于把一些不是太一般的特性都学到了

欠拟合(欠配)

学习能力低下

评估方法

基本思想

使用测试误差来近似泛化误差

注意事项

假设测试样本也是从样本的真实分布中独立同分布采样而得到。测试集应该和训练集互斥,即测试样本尽量不在测试样本中出现。

矛盾点

如果只有一个包含 m 个样例的数据集合D={(x1,y1),(x2,y2),,(xm,ym)},如果既要训练又要测试则如何通过适当的方法进行处理分出训练集 S 和测试集T,用 T 来评估其测试误差,作为对泛化误差的估计。

方法

留出法

方式

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

注意事项

训练集和测试集的划分要尽可能保持数据分布的一致性,避免因为数据划分过程引入额外的偏差而对最终结果产生影响。
单次留出法的到的结果可能不够可靠,在使用留出法的时候一般要多次划分重复进行试验评估最后取平均值作为留出法的评估结果。

S T的大小问题

如果训练集 S 包含了绝大多数的样本,则训练出的模型会更接近于D训练出的模型,但是由于 T 比较小,评估的结果可能会不够稳定准确。
如果测试集T包含的样本比较多,则训练集 S D的差别更大了,被评估的模型与用 D 训练出的模型可能有较大的差别。从而降低了评估结果的保真性。

交叉验证法

首先将数据集D划分为 k 个大小相似的子集,即D=D1D2DkDiDj=(ij)。每个子集 Di 都尽可能保持数据分布的一致性,即从 D 中通过分层采样得到,然后,每次使用k1个子集的并集作为训练集,剩下的那个子集作为测试集;这样就可以获得 k 组训练(S)和测试集 (T) 从而可以进行 k 次训练和测试,最终返回的是这k个测试结果的均值。

这里写图片描述

p k折交叉验证

k 折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这 p k折交叉验证结果的均值。
通常使用“10次10折交叉验证”。

自助法

引入的意义

在留出法和交叉验证法中,由于保留了一部分用于测试,世界评估的模型所使用的训练集 S D小,这必然会引入一些因训练样本规模不同而导致的估计误差。

具体做法

直接以自助采样(bootstrap sampling)为基础
给定包含 m 个样本的数据集D,我们对它进行采样产生数据集 D :每次随机从 D 中挑选一个样本,将其拷贝放入D中,然后再将该样本放回数据集 D 中,使得该样本在下次采样时仍然有可能被采到,做一个简单的估计,样本在m次采样中始终不被采到的概率是(11m)m取极限

limm+(11m)m1e0.368

通过自助采样,初始数据集中有大约36.8%的样本没有出现在采集数据集 D 中,于是可以使用 D 作为训练集合, D \ D 作为测试集合,这样实际评估模型和期望评估的模型,都使用 m 个训练样本,此时仍然有数据总量约13的数据,没有在训练集合中出现过的数据可以用于测试,这样测试结果被称为“外包估计”(out_of_bag_estimate)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值