专栏首页人工智能LeadAI最终章 | TensorFlow战Kaggle“手写识别达成99%准确率

最终章 | TensorFlow战Kaggle“手写识别达成99%准确率

这是一个TensorFlow的系列文章,本文是第三篇,在这个系列中,你讲了解到机器学习的一些基本概念、TensorFlow的使用,并能实际完成手写数字识别、图像分类、风格迁移等实战项目。 文章将尽量用平实的语言描述、少用公式、多用代码截图,总之这将是一份很赞的入门指南。欢迎分享/关注。

上一篇文章,我们用CNN实现了手写识别

CNN网络模型举例

改进方案

1、 使用Keras框架,而不是用TensorFlow自己实现,提升编程效率

2、增加网络的深度,这里增加到了20层

3、每次卷积完之后,加入规范层

4、使用最新的SELU激活函数,这是Sepp Hochreiter最新发表在arXiv上的激活函数,Sepp是当年和Jürgen Schmidhuber 一起发明 LSTM 的神级人物。介绍参考这个链接:「自归一化神经网络」提出新型激活函数SELU(https://www.iana.org/domains/reserved)

理论知识补充(最小知识集)

1、BatchNormalization 的计算原理,优缺点

为了避免对数据的感应不铭感,会对数据做处理,使得数据的变化范围不会太大,这个处理叫normalization预处理。Batch normalization 的 batch 是批数据, 把数据分成小批小批进行随机梯度下降. 而且在每批数据进行前向传递 forward propagation 的时候, 对每一层都进行 normalization 的处理。 优点是可以避免数据对激活函数的饱和从而收敛到更好的结果,并且能减少训练时长。

2、rmsprop 优化器的原理,优缺点

RMSprop 是 Geoff Hinton 提出的一种以梯度的平方来自适应调节学习率的优化方法。 优点是,对于常见参数更新较小,自动更新,不用手动调节学习率 缺点是,因为公式中分母上会累加梯度平方,这样在训练中持续增大的话,会使学习率非常小,甚至趋近无穷小

3、池化层的计算原理

池化层是在几个数据中挑选出最能代表这个区域的,把一个区域简化成一个数值,可以取最大值、最小值、平均值。这样可以降低计算量,降低过拟合。

4、softmax与 sigmoid 激活函数的区别

sigmoid将一个real value映射到(0,1)的区间(当然也可以是(-1,1)),这样可以用来做二分类。

而softmax把一个k维的real value向量(a1,a2,a3,a4….)映射成一个(b1,b2,b3,b4….)其中bi是一个0-1的数值,b1到bn累加为1,然后可以根据bi的大小来进行多分类的任务,如取权重最大的一维。

5、categorical_crossentropy 的计算原理,为什么选择交叉熵而不是平均平方误差(MSE)

交叉熵计算原理是−[ylna+(1−y)ln(1−a)]。不选择MSE的原因是,使用MSE在Y取较大值时,权重和偏置的更新速度会很慢,而用交叉熵作为损失函数可以克服这个问题

代码实现

1、加载数据集,对数据集进行处理,把输入和结果进行分开

2、设相关参数

3、定义模型

4、查看模型结构,可视化模型

5、训练模型,保存和载入模型

6、生成预测结果

上传Kaggle看结果

请注意,训练是有一定随机性的,如果一次训练的不好,可以反复尝试训练。尽量准确度在99.2%以上,再生成提交结果。

kaggle结果

虽然手写识别已经有无数人做过了,但提交到Kaggle的只有1600多人,我们的结果在200多位,进入了前20%,对于新手来错,应该还可以了。

祝大家好运~~~~

本文分享自微信公众号 - 人工智能LeadAI(atleadai),作者:一虎笔记

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • TensorFlow从0到1 | 第七篇:TensorFlow线性回归的参数溢出之坑

    上一篇 6 解锁梯度下降算法 解释清楚了学习率(learning rate)。本篇基于对梯度下降算法和学习率的理解,去填下之前在线性回归中发现的一个坑。 在5 ...

    用户1332428
  • 请不要把数据分析和机器学习混为一谈

    经常看到有很多人把机器学习和数据分析混为一谈,因此我想分析一下机器学习和数据分析这两个职位之间有什么不同,他们干的事情有什么不同,并且借此来分析下两者的技术背景...

    用户1332428
  • 决策树会有哪些特性?

    决策树(Decision Tree)是机器学习中最常见的算法, 因为决策树的结果简单,容易理解, 因此应用超级广泛, 但是机器学习的专家们在设计决策树的时候会考...

    用户1332428
  • 数据资产管理的演变过程及未来发展趋势

    数据是资产的概念已经成为行业共识。然而现实中,对数据资产的管理和应用往往还处于摸索阶段,数据资产管理面临诸多挑战。主要分为以下三点:

    用户7220666
  • 国家、数据、治理:排列组合文字游戏下的思考(附PPT下载)

    韩亦舜:讲到国家数据治理,难点、痛点、特点,有几个方面:一是不想用数据;二是不会用数据;三是不愿用数据;四是不敢用数据;五是不善用数据。 1月26日,清华大学数...

    数据派THU
  • MySQL数据清理的需求分析和改进

    昨天帮一个朋友看了MySQL数据清理的问题,感觉比较有意思,具体的实施这位朋友还在做,已经差不多了,我就发出来大家一起参考借鉴下。 为了保证信息的敏感,里面的...

    jeanron100
  • 元数据是什么?举例告诉你什么是元数据

    元数据,一个简单的定义是描述数据的数据。在企业中,无论哪里有数据,都有相应的元数据。只有存在完整而准确的元数据,我们才能更好地理解数据并充分利用数据的价值。为了...

    数据前沿
  • 【推荐收藏】这些数据获取网站,帮你工作提质增效!

    在这个用数据说话的时代,能够打动人的往往是用数据说话的理性分析,无论是对于混迹职场的小年轻,还是需要数据进行分析和研究的同学,能够找到合适的数据源都是非常重要的...

    钱塘数据
  • 张茉楠:全球数据开放战略的路线图

    摘要:大数据重新定义大国博弈的空间,世界主要国家早已认识到大数据对于国家的战略意义,认为谁掌握了数据的主动权和主导权,谁就能赢得未来。西方主要国家通过全面谋划大...

    灯塔大数据
  • 这些数据获取方式,一般人不知道

    在这里给大家推荐一些能够用上数据获取方式,有了这些资源,不仅可以在数据收集的效率上能够得到很大的提升,同时也可以学习更多思维方式。

    华章科技

扫码关注云+社区

领取腾讯云代金券