chapter1 Using neural nets to recognize handwritten digits

本章主要介绍的是传统神经网络(BP),作者的比喻,启发想象写的很好。可以说是非常适合入门级选手


本章从手写数字出发,介绍了其历史,以及大脑视觉皮层的可能工作原理。依次介绍了几个概念:

1,Perceptrons感知器

神经元作为感知器,其工作原理:

于是申请网络的可以由一系列神经元及连接构成


作者还提到了复杂的问题使用浅层网络很难,而使用深度网络可以表达的很简单。举了与或门的例子。


2,Sigmoid neurons

为什么要引入Sigmoid函数? 由于感知器的输出是阶跃的(从0突然变到1),是非光滑函数;而我们希望它能够学习(即慢慢改正错误,慢慢向好的方向学习)是很难做到的。

因此引入Sigmoid函数,因为它是平滑函数,适合学习。


3,The architecture of neural networks 神经网络结构

介绍了神经网络:输入、隐藏、输出层。(并说明隐藏层之所以这么叫,纯粹是为了区分输入、输出层,没有其它含义)

还说明了本文主要研究feedforward神经网络,并提到有一种循环网络RNN。


4,A simple netword to classify handwritten digits 

手写数字例子说明神经网络的工作:一个数字的图片  784个像素* 隐藏层(15个神经元)*输出层(10个)

并形象解释了输出层10个,而不是4个的原因。(启发式,定性,而非定量)


5,Learning with gradient descent 梯度下降学习

为了训练神经网络,定义了代价函数C。文中还说明了为什么使用代价函数,而不是直接比较结果:代价函数是smooth,容易改变一点点权值向量,降低一点代价。

并分析了梯度方向降低,可以保证其代价是不断减小的。

为了减少复杂度,原代价函数需要所有样本的训练结果产生的代价,使用SGD stochastic gradient descent先将训练样本随机分为若干块,使用每一块的代价代替原代价,epoch所有块进行训练。


6, Implementing our network to classify digits 执行神经网络进行分类

例子:github上,python编程(并不太懂,所以未一步步执行)



总之:该书写的是极好的!  我是需要掌握python了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值