问题引入
交叉验证是在机器学习建立模型和验证模型参数时常用的办法,一般被用于评估一个机器学习模型的表现。更多的情况下,我们也用交叉验证来进行模型选择(model selection)。
问题解答
这里主要给出交叉验证几种常见的分类:
1.Holdout验证
严格意义上来说的话,这个不算是交叉验证,因为根本没有用到交叉。首先,我们随机的将样本数据分为两部分(比如:70%的训练集,30%的测试集),然后用训练集来训练模型,在测试集上验证模型及参数。
2.K折交叉验
也是经常会用到的一种方法。主要思想是将数据集划分为互斥的K个集合,用K-1个集合做训练,然后剩下的一个做验证,这里不做过多的解释。
3.留一交叉验证
假设有N个训练样本,它的思想是每次选择N-1个样本来训练数据,留一个样本来验证模型预测的好坏。此方法主要用于样本量非常少的情况,比如对于普通适中问题,当样本小于50时,我一般采用留一交叉验证。
欢迎关注我的公众号,第一时间追踪相关面试题和总结:百面机器学习。回复干货获取相关资料和面试题总结(定期更新)。