快捷搜索: 王者荣耀 脱发

Tensorflow基础:使用验证数据集判断模型效果

在大部分情况下,配置神经网络的这些参数都是需要通过实验来调整的。使用测试数据来选取参数可能会导致神经网络模型过度拟合测试数据,从而失去对未知数据的预判能力。需要保证测试数据在训练过程中是不可见的。

于是,为了评测神经网络模型在不同参数下的效果,一般会从训练数据中抽取一部分作为验证数据。使用验证数据就可以评判不同参数取值下的模型的表现。

为了说明验证数据在一定程度上可以作为模型效果的评判标准,我们将对比在不同迭代轮数的情况下,模型在验证数据和测试数据上的正确率。

if i % 1000 == 0:
                validate_acc = sess.run(accuracy, feed_dict=validate_feed)
                test_acc = sess.run(accuracy, feed_dict=test_feed)
                print("After %d training steps, validation accuracy"
                      "using average model is %g, test accuracy"
                      "using average model is %g " % (i, validate_acc, test_acc))

虽然两条曲线不完全重合,但是这两条曲线的趋势基本一样,而且他们的相关系数大于0.9999。

一般来说,选取的验证数据分布越接近测试数据分布,模型在验证数据上的表现越可以体现模型在测试数据上的表现。

经验分享 程序员 微信小程序 职场和发展