Machine learning 为什么要使用交叉验证?

Machine learning 为什么要使用交叉验证?,machine-learning,artificial-intelligence,cross-validation,kaggle,Machine Learning,Artificial Intelligence,Cross Validation,Kaggle,我正在参加几场Kaggle机器学习比赛,我有一个简短的问题。为什么我们要使用交叉验证来评估我们的算法在这些竞争中的有效性 当然,在这些竞赛中,您在公众排行榜上的得分(在该排行榜上,您的算法将根据实际的实时数据进行测试)将为您提供更准确的算法效能表示?交叉验证是构建模型的必要步骤。如果交叉验证的结果很差,那么即使在实时数据上尝试也没有意义。您正在培训和验证的数据集也是实时数据,不是吗?因此,结果应该是相似的。如果不验证您的模型,您就无法洞察其性能。在训练集上给出100%准确度的模型可以在验证集上给

我正在参加几场Kaggle机器学习比赛,我有一个简短的问题。为什么我们要使用交叉验证来评估我们的算法在这些竞争中的有效性


当然,在这些竞赛中,您在公众排行榜上的得分(在该排行榜上,您的算法将根据实际的实时数据进行测试)将为您提供更准确的算法效能表示?

交叉验证是构建模型的必要步骤。如果交叉验证的结果很差,那么即使在实时数据上尝试也没有意义。您正在培训和验证的数据集也是实时数据,不是吗?因此,结果应该是相似的。如果不验证您的模型,您就无法洞察其性能。在训练集上给出100%准确度的模型可以在验证集上给出随机结果


让我再次重申,交叉验证并不能取代实时数据测试,它是模型构建过程的一部分。

这个问题似乎离题了,因为它属于在线,感谢您的回答。因此,我的总体行动计划应该是对我的模型进行初始CV测试。如果这个性能很好,那么我应该将它插入到实时测试中。如果它在CV中表现很好,而在现场测试中表现不佳,那么我很可能是过度拟合了。这两个指标都需要让我很好地了解模型的性能。“我理解得对吗?”西蒙基利这是一个粗略的想法,但还有很多()。这里有一些技巧,我也建议你浏览一些文献,因为这并不像一开始看起来那么容易…@SimonKiely如果你在训练集上表现得很好,那么你已经成功地找到了将你的训练集很好地分开的功能。我们执行交叉验证以“验证”我们的训练示例是否代表真实世界的数据集。这是关键——如果我们能在我们的训练集上建立一个模型,并使用该模型成功地预测一个独立集(测试集),我们可以很有信心地说,该模型将推广到真实世界的数据集。