gpt4 book ai didi

machine-learning - 建议在 Keras 训练中使用 Kfold splits 或validation_split kwarg?

转载 作者:行者123 更新时间:2023-11-30 08:46:40 46 4
gpt4 key购买 nike

在许多示例中,我看到使用 KfoldStratifiedKfold 或其他预构建的数据集拆分器执行训练/交叉验证数据集拆分。 Keras 模型有一个内置的 validation_split kwarg,可用于训练。

model.fit(self, x, y, batch_size=32, nb_epoch=10, verbose=1, callbacks=[], validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None)

( https://keras.io/models/model/ )

validation_split: float between 0 and 1: fraction of the training data to be used as validation data. The model will set apart this fraction of the training data, will not train on it, and will evaluate the loss and any model metrics on this data at the end of each epoch.

我是该领域和工具的新手,因此我对不同拆分器为您提供的功能有直觉。主要是,我找不到任何有关 Keras 的 validation_split 工作原理的信息。有人可以向我解释一下什么时候单独的方法更好吗?在我看来,内置的 kwarg 是分割测试数据集的最干净、最简单的方法,而无需以不同的方式构建训练循环。

最佳答案

两者之间的区别非常微妙,可以结合使用。

Kfoldscikit-learn 中的类似函数会将您的数据随机拆分为 k 折叠。然后,您可以训练模型每次都保留一次折叠并在折叠上进行测试。

validation_split 非随机获取一小部分数据。根据 Keras documentation它将从数据末尾取出分数,例如0.1 将保留输入矩阵中最后 10% 的行。验证分割的目的是让您能够评估模型在训练集和训练期间每个时期的保留集上的表现。如果模型在训练集上继续改进,但在验证集上没有改进,那么这是潜在过度拟合的明显迹象。

理论上,您可以使用 KFold 交叉验证来构建模型,同时使用 validation_split 来监控每​​个模型的性能。在每次折叠时,您都将从训练数据生成一个新的 validation_split

关于machine-learning - 建议在 Keras 训练中使用 Kfold splits 或validation_split kwarg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40641640/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com