我正在处理一个包含368609个样本和34个特征的数据集,我希望使用Keras中的神经网络来预测延迟(真实值),模型有3个隐藏层,每层有1024个神经元,我在每个隐藏层使用了50%的dropout和0.001的L2正则化。问题是我得到的测试平均绝对误差为3.5505毫秒,训练平均绝对误差为3.4528毫秒。这里,训练误差比测试误差小一个微小的差距,这是否意味着我们这里存在过拟合问题?
回答:
不完全是,但查看你的模型对新数据的泛化情况总是好的做法。
保留原始数据集的10%-20%作为测试集,并尝试预测测试集中每条记录的输出。
有时候,当我们多次尝试改进模型时,处理相同的验证集,我们也会倾向于过拟合评估数据集。
通常,拥有用于训练、评估和测试的三个不同数据集可以全面解决过拟合问题。