chapter1 Using neural nets to recognize handwritten digits
来源:互联网 发布:中日贸易数据 编辑:程序博客网 时间:2024/06/06 08:23
本章主要介绍的是传统神经网络(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了。
- chapter1 Using neural nets to recognize handwritten digits
- Using neural nets to recognize handwritten digits
- CHAPTER 1 Using neural nets to recognize handwritten digits
- [神经网络]1.3-Using neural nets to recognize handwritten digits-The architecture of neural networks(翻译)
- [神经网络]1.4-Using neural nets to recognize handwritten digits-A simple network to classify ...(翻译)
- [神经网络]1.6-Using neural nets to recognize handwritten digits-Implementing our network to classify(翻译)
- Pattern Recoginition and Machine Learning Intro - Using neural nets to recognize handwritten digits
- [神经网络]1.1-Using neural nets to recognize handwritten digits-Perceptrons(翻译)
- [神经网络]1.2-Using neural nets to recognize handwritten digits-Sigmoid neurons(翻译)
- [神经网络]1.7-Using neural nets to recognize handwritten digits-Toward deep learning(翻译)
- 使用神经网络识别手写数字Using neural nets to recognize handwritten digits
- CHAPTER 1 Using neural nets to recognize handwritten digits By Michael Nielsen
- neural network -recognize handwritten digits
- Using convolutional neural nets to detect facial keypoints tutorial
- Using convolutional neural nets to detect facial keypoints tutorial
- Convolutional neural networks(CNN) (四) Learn features for handwritten digits Exercise(Vectorization)
- A simple network to classify handwritten digits
- THE MNIST DATABASE of handwritten digits
- Android-ContentProvide
- configure文件的生成
- 利用真值表法求取主析取范式以及主合取范式的实现
- 启动datanode后jps下无datanode的解决方法
- Android每日范例——密码输入框
- chapter1 Using neural nets to recognize handwritten digits
- 0-1背包模板
- web 代码规范
- drawable—hdpi、drawable—mdpi、drawable—ldpi详解
- HDU 4819 二维线段树
- Android 项目(详解三)—— 数据库类
- 系统启动后更新u-boot.bin zImage
- ios数据存储NSString,NSArray,NSDictionary
- struts 2配置文件的包继承