《Keras深度学习实战》—3.8.2 怎么做

举报
华章计算机 发表于 2019/06/15 13:53:47 2019/06/15
【摘要】 本节书摘来自华章计算机《Keras深度学习实战》一书中的第3章,第3.8.2节,作者是拉蒂普·杜瓦(Rajdeep Dua)[印] 曼普里特·辛格·古特(Manpreet Singh Ghotra) 著 罗 娜 祁佳康 译.

3.8.2 怎么做

和前几节一样,利用适当的网络拓扑创建一个序贯模型。本节中使用的优化器是Keras中的AdaDelta实现:

 image.png

AdaDelta优化器

Keras文档中建议将此优化器的参数保留为默认值。

优化器的初始化参数:

  • lr:大于等于0的浮点数,表示学习率。建议将其保留为默认值。

  • rho:大于等于0的浮点数。

  • epsilon:大于等于0的浮点数,表示模糊因子。如果未指定(None),则默认为K.epsilon()。

  • decay:大于等于0的浮点数,表示每次数据更新时,衰减的学习率。

 image.png

这里创建了一个具有两个隐藏层,丢弃率为0.2的网络。

该模型使用的是AdaDelta优化器。

以下是上述代码的输出:

 image.png

绘制AdaDelta的模型准确率曲线:

 image.png

image.png

基于AdaDelta优化器的训练集准确率和测试集准确率:

 image.png

同样,AdaDelta的模型损失曲线如下所示:

 image.png

AdaDelta的最终测试损失和测试准确率计算如下:

 image.png

上述程序的输出显示如下:

 image.png

使用AdaDelta获得的准确率高于SGD、Adam的结果,大约为0.9846。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。