gpt4 book ai didi

tensorflow - 验证准确性高于使用 Tensorflow 和 Keras 的训练准确性

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

我正在尝试使用深度学习从约会网站的 15 个 self 报告的属性中预测收入。

我们得到了相当奇怪的结果,与训练数据相比,我们的验证数据具有更好的准确性和更低的损失。这在不同大小的隐藏层中是一致的。这是我们的模型:

for hl1 in [250, 200, 150, 100, 75, 50, 25, 15, 10, 7]:
def baseline_model():
model = Sequential()
model.add(Dense(hl1, input_dim=299, kernel_initializer='normal', activation='relu', kernel_regularizer=regularizers.l1_l2(0.001)))
model.add(Dropout(0.5, seed=seed))
model.add(Dense(3, kernel_initializer='normal', activation='sigmoid'))

model.compile(loss='categorical_crossentropy', optimizer='adamax', metrics=['accuracy'])
return model

history_logs = LossHistory()
model = baseline_model()
history = model.fit(X, Y, validation_split=0.3, shuffle=False, epochs=50, batch_size=10, verbose=2, callbacks=[history_logs])

这是准确性和损失的示例: Accuracy with hidden layer of 250 neuronsthe loss .

我们尝试消除正则化和 dropout,正如预期的那样,最终导致过度拟合(训练准确度:~85%)。我们甚至尝试大幅降低学习率,得到了类似的结果。

有人看到过类似的结果吗?

最佳答案

当您使用Dropout时会发生这种情况,因为训练和测试时的行为不同。

训练时,一定比例的特征设置为零(在您的情况下为 50%,因为您使用的是 Dropout(0.5))。测试时,使用所有功能(并适当缩放)。因此,测试时的模型更加稳健 - 并且可以带来更高的测试精度。

关于tensorflow - 验证准确性高于使用 Tensorflow 和 Keras 的训练准确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43979449/

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