——毛毛虫笔记原创——
作者:毛毛虫_Wendy
————————————
1. 前言
机器学习的模型选择指如何从假设空间中选择泛化能力最大的模型,增加训练数据集、加正则项都能有效地抑制过拟合现象,而在实际应用中数据是不充足的,为了选择最优的模型还可以通过交叉验证方法。
交叉验证的思想:重复使用给定的数据,把给定的数据切分为训练集和测试集,在此基础上反复地进行训练、测试以及模型选择。
当然,如果样本数量充足,可以随机地把数据切分成三部分:训练集用来训练模型,验证集用于模型选择合调参,测试集对最终模型的评估。
2. 主要方法
1. 留出法(简单交叉验证)
方法:随机将样本分为测试集和训练集,然后用训练集训练模型,得到训练模型之后,在测试集上评价各个模型的测试误差,再选择测试误差最小的模型。
Note:
a.训练集和测试集的划分尽量保持数据分布的一致性,避免因为数据划分过程引入额外的偏差,例如在多分类时至少保证样本的类别比例相似,从采样的角度来看待数据划分,采样方式被称为“分层采样”。
b.使用留出法一般采用若干次随机划分、重复实验评估取平均值,单次使用留出法结果往往不够稳定。
2. S折交叉验证
方法:随机将样本拆分成S个互不相交大小相同的子集,然后用S-1个子集作为训练集训练模型,用剩余的子集测试模型,对S中选择重复进行,最终选出S次测评中的平均测试误差最小的模型。
Note:
a. 这种方法用得最多,而交叉验证评估结果的稳定性很大程度取决于S.
b. 与留出法类似,划分为S折存在多种方式,所以为了减小样本划分不同而引入的误差,通常随机使用不同的划分重复P次,即为P次S折交叉验证
3. 留一法
方法:它是S折交叉验证的特殊情况,S=N,其中N为数据容量,划分样本方式唯一。
Note:
a.数据缺乏时使用,当数据集很大时,计算开销很大。
b. 由于测试集只有一个样本,所以模型因样本规模不同而导致的估计偏差比前两种小。
4. 自助法
方法:以自助采样为基础,对m个样本数据随机挑选1个,放回后再随机挑选1个,重复m次,这样得到了与样本规模一样大小的训练集,测试集中有一部分样本多次出现,有一部分样本不出现,可以做一个简单估计,样本在m次采样中始终没有被采样的
,即大约36.8%的样本未出现在训练集中,未出现在训练集中的样本组合成测试集。
Note:
a.自助法在数据较小,难以划分测试集和训练集时有用,从初始数据集中产生多个不同的训练集,这对集成学习等方法有很多好处。
b.缺点:自助法产生的数据集改变了初始数据集的分布,引入估计误差。
总结
划分训练集和测试是机器学习的基础,在这些划分方法中最常用的就是S折交叉验证,为了以后使用方便,我附带了实现函数.
长得好看的人都关注了❤
领取专属 10元无门槛券
私享最新 技术干货