0

我在 Python 上使用 Keras 来训练 CNN 自动编码器。在fit()我必须提供的方法中validation_splitor validation_data。首先,我想使用 80% 的数据作为训练数据,20% 作为验证数据(随机拆分)。一旦我找到了最佳参数,我想在所有数据上训练自动编码器,即不再使用验证集。

是否可以在不使用验证集的情况下训练 Keras 模型,即使用所有数据进行训练?

此外,我图像中的像素都在 [0, -0.04] 范围内。是否仍然建议将训练和验证集中所有图像中所有像素的值标准化为范围 [0,1] 或 [-1,1] 或标准化(零均值,单位方差)?如果是这样,首选哪种方法?顺便说一句,我的图像实际上是 2D 热图(一个颜色通道)。

4

1 回答 1

2

是的,您可以在没有验证数据的情况下训练 keras 模型,但这不是一个好习惯,因为那样您将不知道该模型是否可以泛化。这同样适用于自动编码器,它们可以过拟合训练集。

始终建议标准化您的输入,特别是在范围很大或很小的情况下。没有首选的方法,任何归一化通常都是一样的。

于 2019-07-17T13:33:41.193 回答