K-Fold如何防止模型中的过拟合现象

问题描述 投票:0回答:1

我正在训练一个多层感知器。我有两个问题,第一个问题是,K折叠如何防止过拟合,因为track-test-split也做同样的事情,即把训练部分和验证模型,与K折叠一样,而不仅仅是有多个折叠。但在train_test_split中存在着过拟合的机会,那么K折叠如何防止它,因为在我的观念中,模型也可以得到过拟合到K折叠的训练部分,你怎么看?第二个问题是,我从K fold中获得95%+的准确率,先生告诉我说有太多的方差,这怎么可能,因为K fold解决了这个过拟合?

tensorflow machine-learning keras deep-learning tensor
1个回答
1
投票

K-Fold交叉验证本身不会减少过拟合,但使用它一般会让你对你的模型有更好的洞察力,最终可以帮助你避免或减少过拟合。

使用简单的训练验证拆分,如果拆分的方式并不能说明真实的数据分布,那么模型可能会表现良好。K-Fold交叉验证将数据拆分为 k 块&执行训练 k 次,通过将某一特定的chunk作为验证集&其余的chunk作为训练集。因此,模型可能在某些训练褶皱上表现得相当好,但在其他训练褶皱上相对较差。这将使你更好地了解模型的真实表现。

如果达到了相对较高的训练精度,但验证精度却大大降低,则表明过拟合(高方差&低偏差)。我们的目标是将方差& 偏倚都保持在较低水平,可能会以稍差的训练精度为代价,因为这将表明学习的模型已经很好地泛化到未见过的实例。你可以阅读更多关于 偏差与方差的权衡.

选择折数也可能对这一观点起到一定的作用,这一点将在下面解释。本回答. 根据数据的大小,与验证数据相比,正在使用的训练折线可能过大。


-1
投票

K折可以帮助解决过拟合问题,因为与做一次相比,你基本上将你的数据分割成各种不同的训练测试分割。通过在多个不同的集上运行训练测试分片,而不是只在一个集上运行,你可以更好地了解你的模型在数据集和未见数据上的实际表现。这并不能完全防止它,最后都会归结到你的数据上(如果你的训练、测试和验证的数据并不能真正代表未来的点,你仍然可以最终得到一个过拟合模型)。

© www.soinside.com 2019 - 2024. All rights reserved.