机器学习之交叉验证(Cross Validation)

为什么要引入交叉验证?

   假如我们需要从某些候选模型中选择适合当前学习问题的模型,我们可以通过不同模型在当前数据集上进行效果验证。这样,我们面临的一个问题是选择出来的模型泛化性差,导致无法适用于新的数据集


与传统的统计学不同的是,机器学习或者数据挖掘更加注重模型的测试性能,不同于统计学,需要经过严谨的理论推导以及模型的精确性,在对样本建立某个特定模型后,用理论去对模型进行各种验证


交叉验证的方法有哪些?

1.简单交叉验证

   随机将样本按照一定的比列,如8:2或者7:3分为训练样本和测试样本,这里称作简单交叉验证集;然后,通过训练样本训练出模型,然后在测试样本上测试精度,选择误差最小的模型。

   但是,我们也要考虑这种情况的不足:当样本总量稀缺,采集困难,这样就无法适用简单交叉验证方法。


2. k-折交叉验证

   k-折交叉验证将样本集随机划分为k份,k-1份作为训练集,1份作为验证集,依次轮换训练集和验证集k次,验证误差最小的模型为所求模型。

发布了333 篇原创文章 · 获赞 36 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43283397/article/details/104763417