review backpropagation
The goal of backpropagation is to compute the partial derivatives ∂C/∂w and ∂C/∂b of the cost function C with respect to any weight ww or bias b in the network.
we use the quadratic cost function

two assumptions :
1: The first assumption we need is that the cost function can be written as an average
(case for the quadratic cost function)
The reason we need this assumption is because what backpropagation actually lets us do is compute the partial derivatives
∂Cx/∂w and ∂Cx/∂b for a single training example. We then recover ∂C/∂w and ∂C/∂b by averaging over training examples. In
fact, with this assumption in mind, we'll suppose the training example x has been fixed, and drop the x subscript, writing the
cost Cx as C. We'll eventually put the x back in, but for now it's a notational nuisance that is better left implicit.
2: The cost function can be written as a function of the outputs from the neural network

the Hadamard product
(s⊙t)j=sjtj(s⊙t)j=sjtj

The four fundamental equations behind backpropagation

BP1
:the error in the jth neuron in the lth layer

You might wonder why the demon is changing the weighted input zlj. Surely it'd be more natural to imagine the demon changing
the output activation alj, with the result that we'd be using ∂C/∂alj as our measure of error. In fact, if you do this things work out quite
similarly to the discussion below. But it turns out to make the presentation of backpropagation a little more algebraically complicated.
So we'll stick with δlj=∂C/∂zlj as our measure of error.
An equation for the error in the output layer, δL: The components of δL are given by

it's easy to rewrite the equation in a matrix-based form, as



BP2


BP3


BP4



The backpropagation algorithm


Of course, to implement stochastic gradient descent in practice you also need an outer loop generating mini-batches
of training examples, and an outer loop stepping through multiple epochs of training. I've omitted those for simplicity.
reference: http://neuralnetworksanddeeplearning.com/chap2.html
------------------------------------------------------------------------------------------------


reference:Machine Learning byAndrew Ng
review backpropagation的更多相关文章
- (Review cs231n) Backpropagation and Neural Network
损失由两部分组成: 数据损失+正则化损失(data loss + regularization) 想得到损失函数关于权值矩阵W的梯度表达式,然后进性优化操作(损失相当于海拔,你在山上的位置相当于W,你 ...
- A review of learning in biologically plausible spiking neural networks
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Contents: ABSTRACT 1. Introduction 2. Biological background 2.1. Spik ...
- Deep Learning论文翻译(Nature Deep Review)
原论文出处:https://www.nature.com/articles/nature14539 by Yann LeCun, Yoshua Bengio & Geoffrey Hinton ...
- 我们是怎么做Code Review的
前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享.探讨.我们为什么要推行Code ...
- Code Review 程序员的寄望与哀伤
一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...
- AutoMapper:Unmapped members were found. Review the types and members below. Add a custom mapping expression, ignore, add a custom resolver, or modify the source/destination type
异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 应用场景:ViewModel==>Mode映射的时候出错 AutoMappe ...
- Git和Code Review流程
Code Review流程1.根据开发任务,建立git分支, 分支名称模式为feature/任务名,比如关于API相关的一项任务,建立分支feature/api.git checkout -b fea ...
- 神经网络与深度学习(3):Backpropagation算法
本文总结自<Neural Networks and Deep Learning>第2章的部分内容. Backpropagation算法 Backpropagation核心解决的问题: ∂C ...
- 故障review的一些总结
故障review的一些总结 故障review的目的 归纳出现故障产生的原因 检查故障的产生是否具有普遍性,并尽可能的保证同类问题不在出现, 回顾故障的处理流程,并检查处理过程中所存在的问题.并确定此类 ...
随机推荐
- BZOJ5118:Fib数列2(O1快速模)
题意:输入N,输出fib(2^N)%1125899839733759.(P=1125899839733759是素数) 思路:欧拉降幂,因为可以表示为矩阵乘法,2^N在幂的位置,矩阵乘法也可以降幂,所以 ...
- cut---Linux下文本处理五大神器之四
转自:http://www.cnblogs.com/dong008259/archive/2011/12/09/2282679.html cut是一个选取命令,就是将一段数据经过分析,取出我们想要的. ...
- Genymotion的使用 -- A Faster Android Emulator
Genymotion 安装与配置 1,Genymotion 模拟器 EditText获取焦点时不自动弹出软件盘 选择该模拟器的设置--> 选中Use Virtual keyboard for t ...
- 难道调用ThreadPool.QueueUserWorkItem()的时候,真是必须调用Thread.Sleep(N)吗?
开门见山,下面的例子中通过调用ThreadPool.QueueUserWorkItem(WaitCallback callBack, object state)的方式实现异步调用: 1: class ...
- CEF源码编译
CEF的构造说明:https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding chromium的源码地址:https://c ...
- 反射ORM
七章 反射 1节获取dll文件中的type---------------------------------------------------------------------------- ...
- rtsp/rtp over http
转载:http://linux-expert.blog.163.com/blog/static/764585292008530912712/ rtsp/rtp over http C->S (g ...
- struts2中常用constant命令配置
struts.objectFactory这个属性用 于说明Struts2的 对象池创建工厂,Struts2也有自己的对象池,就像Spring那样,在配置文件中你可以引用对象池中的对象,你可以借助于Sp ...
- linux命令 把Windows 文件拷贝到linux
scp build.zip mesadmin@dpydalapp01.sl.bluecloud.ibm.com:/tmp // 把Windows上的build.zip拷贝到mesadmin@dpy ...
- rails的respond to format
Here are all the default Rails Mime Types: "*/*" => :all "text/plain" => : ...