机器学习实战:模型构建与应用
上QQ阅读APP看书,第一时间看更新

2.4 训练神经网络

执行代码,你将会看到网络一遍一遍地训练。运行训练代码后,你会在最后看到如下内容:

注意,网络现在正在报告准确率。所以在这种情况下,使用训练数据,我们的模型仅在5个回合过后就达到了约89%的准确率。

但是测试数据呢?model.evaluate在测试数据上的结果将看起来像这样:

在这种情况下,模型的准确率为87.36%。考虑到我们只训练了5个回合,这个结果还不错。

你可能想知道为什么在测试数据上的准确率低于在训练数据上的准确率。这很常见,而且这是合理的:神经网络只真正知道如何匹配它所训练用的输入和那些输入值对应的输出。我们希望,提供足够的数据后它能够从看到的例子中归纳,“学习”什么看起来是鞋子或裙子。但是总会有它没有看到过的例子,这些例子足够不同而使模型感到困惑。

例如,如果你从小只见过运动鞋,这就是你认为鞋子的样子。当你第一次看到高跟鞋时,可能会有点困惑。基于你的经验,它可能是一只鞋子,但你不确定。这是一个类似的概念。