Deep Learning with Python第二章(翻译)3

本文介绍了使用Python训练神经网络识别手写数字的步骤,包括选择失分方程、优化机制和监督度量标准,对数据进行预处理和标签编辑。训练中会出现损失和精度问题,测试精度略低于训练精度,存在过度适应现象。最后总结可在20行代码内完成训练。

为了让网络做好准备去训练,我们需要再选出三个东西作为编写的步骤:

失分方程——网络如何来衡量它在训练数据上的表现,以及它如何因此来使自己驱使向正确的方向。

优化——网络根据它看到的数据以及失分功能来更新自己的机制

在训练和测试时的用以监督的度量标准——这里,我们仅专注精度(正确分类了的那部分图片)

失分方程和优化的额外部分会在接下来的两章里说明清楚

在训练前,我们将会重新塑型数据成网络需求的形态并缩放他们的比例进[1,0]之间来进行预处理。之前,例如,我们训练的以(60000,28,28)uint8格式存储的有着[0,255]区间值的图片组。我们将它转变为以(60000,28,28)float32位格式存储的值在0到1之间的图片组

我们也需要明确的编辑标签,这一步在第三章有解释。

(略)

我们现在准备训练网络,这是Keras通过调用网络的fit方法做到的——我们fit模型来训练它的数据。

在训练的过程中这里有两个问题凸显出来:通过训练数据得到的网络的损失,以及通过训练数据得到的网络精度

我们很快就在训练数据上达到了0.989(98.9%)的精度。现在让我们看看模型是否在测试组也表现良好:

(略)

测试组达到了97.8%——这确实比训练组精度要低一点。训练精度与测试精度之间的微小差距就是过度适应的例子:事实上机器学习模型在新数据上的表现倾向于比在训练数据上糟糕。过度适应是第三章的主要内容。

我们第一个例子的总结——你仅仅看到了你怎样才能在20行python代码内建立并训练一个神经网络来分辨手写数字。在下一章,你会学到张量,进入网络中数据存储对象;由层制作的张量操作,和梯度下降,这让你的神经网络学习了它的训练例子。

转载于:https://www.cnblogs.com/zzheng-blog/p/10828820.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值