Machine learning 当培训Keras模型时,验证分割为0时,培训会发生什么情况?

Machine learning 当培训Keras模型时,验证分割为0时,培训会发生什么情况?,machine-learning,keras,Machine Learning,Keras,我指的是fit方法中的validation\u split参数,来自: 验证_分割:在0和1之间浮动。训练数据的分数 用作验证数据。该模型将区分这一部分 将不会在其上进行培训,并将评估损失 以及每个时代结束时该数据的任何模型度量。这个 从x和y数据中的最后一个样本中选择验证数据 在洗牌前提供 我注意到默认值是0,而不是传统的0.2或0.33。我无法理解为什么他们选择使用0作为默认值,因为我认为没有验证集总是会导致训练过度。我的假设是错误的吗?有时您想自己定义验证数据,然后传递参数validati

我指的是
fit
方法中的
validation\u split
参数,来自:

验证_分割:在0和1之间浮动。训练数据的分数 用作验证数据。该模型将区分这一部分 将不会在其上进行培训,并将评估损失 以及每个时代结束时该数据的任何模型度量。这个 从x和y数据中的最后一个样本中选择验证数据 在洗牌前提供


我注意到默认值是0,而不是传统的0.2或0.33。我无法理解为什么他们选择使用0作为默认值,因为我认为没有验证集总是会导致训练过度。我的假设是错误的吗?

有时您想自己定义验证数据,然后传递参数
validation\u data=(x\u val,y\u val)

有时,您需要K-折叠交叉验证

有时您根本不需要验证数据

系统不能假设您的培训数据包括验证,这对用户来说不是一件好事


至于过度拟合,则取决于模型和数据。它不一定总是过盈

有时您希望自己定义验证数据,并传递参数
validation\u data=(x\u val,y\u val)

有时,您需要K-折叠交叉验证

有时您根本不需要验证数据

系统不能假设您的培训数据包括验证,这对用户来说不是一件好事


至于过度拟合,则取决于模型和数据。它不一定总是过盈

验证集用于检测过拟合,没有验证集只意味着无法检测到过拟合。这并不意味着模型将自动过拟合。请记住,验证数据根本不用于训练模型,因此,如果未使用验证数据,则模型的行为不可能有所不同


这就是说,默认无验证集是有意义的,因为最终是一个人通过查看学习曲线以及训练和验证丢失之间的差异来检测过度拟合。此过程(目前)无法自动化,因此必须由人员决定验证拆分的值,或者仅在
validation\u data
参数中自行提供验证数据。

验证集用于检测过拟合,没有验证集仅意味着无法检测过拟合。这并不意味着模型将自动过拟合。请记住,验证数据根本不用于训练模型,因此,如果未使用验证数据,则模型的行为不可能有所不同


这就是说,默认无验证集是有意义的,因为最终是一个人通过查看学习曲线以及训练和验证丢失之间的差异来检测过度拟合。此过程(目前)无法自动化,因此必须由人员决定验证拆分的值,或者仅在
validation\u data
参数中提供验证数据。

您的假设没有错,但可以说,找出这种情况下到底发生了什么的最好方法是亲自进行实验。没有任何验证集本身不会导致任何问题(过度拟合或其他);这只会限制我们看到我们的模型在看不见的数据上的实际性能。你的假设没有错,但可以说,找出这种情况下到底发生了什么的最好方法是亲自进行实验。任何验证集本身都不会导致任何结果(过度拟合或其他);这只会限制我们了解我们的模型在看不见的数据上的实际性能。