因此,我在理解交叉验证如何在机器学习中进行建模时遇到了一些麻烦。
假设我有一个包含100个样本的数据集,我执行了10次折叠交叉验证。
据我所知,我会将数据集分成10个一组,然后在其中一个集合上进行训练和测试。
最后,我将有10个不同的分类器,以及对整个数据集的预测结果。
那么我如何使用这些结果在新的第101个样本上进行测试呢?
或者是生成的10个分类器以某种方式聚合成一个分类器?
发布于 2013-11-20 00:21:07
交叉验证用于验证您的学习算法对未知数据的泛化能力,即如果您的交叉验证在测试折叠上提供了良好的结果。
一旦建立了这一点,您就可以使用整个训练集来训练模型并将其应用于新数据。
当你在不同的数据上训练平均10个分类器时,你所描述的听起来有点像Bootstrapping,你将不同的弱学习者组合成一个强学习者。请注意,这通常意味着不同的学习者,而不是一个学习者在不同的数据上训练。
发布于 2013-11-21 12:05:03
验证用于模型选择。如果你有M个模型,那么分类误差最小的模型是m,其中
0<m<=M,样本外误差不会超过验证误差Eval plus
sqrt(log(M)/K),在您的情况下,K=N/10。
交叉验证用于将获得的10个验证误差平均为Eval。
一旦确定了模型m,您将在训练过程中使用所有样本数据。
https://stackoverflow.com/questions/20075338
复制相似问题