K-Fold 如何防止模型过度拟合

1 machine-learning scikit-learn cross-validation supervised-learning deep-learning

我正在训练多层感知器。我有两个问题,第一个问题是 K 折叠如何防止过度拟合,因为 train-test-split 也做同样的事情,接受训练部分并验证模型,与 K 折叠相同,而不仅仅是有多个折叠。但是 train_test_split 有可能过度拟合,那么 K Fold 如何防止它,因为在我的感知中,模型也可能过度拟合 K Fold 的训练部分,你认为是这样吗?第二个问题是我从 K 折中获得了 95% 以上的准确率,先生告诉我方差太大,这里怎么可能因为 k 折解决了这种过度拟合?

Kur*_*ica 5

K-Fold 交叉验证本身不会减少过度拟合,但使用它通常会让您更​​好地了解模型,最终可以帮助您避免或减少过度拟合。

使用简单的训练/验证分割,如果分割方式不能表明真实的数据分布,则模型可能表现良好。K-Fold 交叉验证将数据分成块并通过使用特定块作为验证集和其余块作为训练集来k执行训练时间。k因此,模型可能在某些训练折叠上表现得很好,但在其他训练折叠上表现相对较差。这将使您更好地了解模型的真实性能。

如果获得相对较高的训练准确度,但验证准确度大幅降低,则表明过度拟合(高方差和低偏差)。目标是将方差和偏差保持在较低水平,可能会以训练准确性稍差为代价,因为这表明学习的模型已经很好地推广到了未见过的实例。您可以阅读有关偏差与方差权衡的更多信息。

正如此答案中所解释的,选择折叠数量也可能在这一见解中发挥作用。根据数据的大小,所使用的训练折叠与验证数据相比可能太大。