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的更多相关文章

  1. (Review cs231n) Backpropagation and Neural Network

    损失由两部分组成: 数据损失+正则化损失(data loss + regularization) 想得到损失函数关于权值矩阵W的梯度表达式,然后进性优化操作(损失相当于海拔,你在山上的位置相当于W,你 ...

  2. A review of learning in biologically plausible spiking neural networks

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Contents: ABSTRACT 1. Introduction 2. Biological background 2.1. Spik ...

  3. Deep Learning论文翻译(Nature Deep Review)

    原论文出处:https://www.nature.com/articles/nature14539 by Yann LeCun, Yoshua Bengio & Geoffrey Hinton ...

  4. 我们是怎么做Code Review的

    前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享.探讨.我们为什么要推行Code ...

  5. Code Review 程序员的寄望与哀伤

    一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...

  6. 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 ...

  7. Git和Code Review流程

    Code Review流程1.根据开发任务,建立git分支, 分支名称模式为feature/任务名,比如关于API相关的一项任务,建立分支feature/api.git checkout -b fea ...

  8. 神经网络与深度学习(3):Backpropagation算法

    本文总结自<Neural Networks and Deep Learning>第2章的部分内容. Backpropagation算法 Backpropagation核心解决的问题: ∂C ...

  9. 故障review的一些总结

    故障review的一些总结 故障review的目的 归纳出现故障产生的原因 检查故障的产生是否具有普遍性,并尽可能的保证同类问题不在出现, 回顾故障的处理流程,并检查处理过程中所存在的问题.并确定此类 ...

随机推荐

  1. Flea

    It is known that fleas in Berland can jump only vertically and horizontally, and the length of the j ...

  2. 洛谷 P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper

    题目描述 A little known fact about Bessie and friends is that they love stair climbing races. A better k ...

  3. Yii查看(输出)当前页面执行的sql语句(log记录)

    在Yii框架下查看当前页面执行的所有sql语句的方法,主要是通过配置相关文件来达到调试sql的目的,具体方法如下: (1)修改 index.php 开启调试模式 在 index.php 文件内增加如下 ...

  4. 学习动态性能表(8)--v$lock&v$locked_object

    学习动态性能表 第八篇-(1)-V$LOCK  2007.5.31 这个视图列出Oracle 服务器当前拥有的锁以及未完成的锁或栓锁请求.如果你觉着session在等待等待事件队列那你应该检查本视图. ...

  5. IIS调用批处理权限的处理[转]

    最近公司希望将Windows 2003升级为Windows 2008,做完安全设置后发现.net调用批处理拒绝访问的情况.网上很多说更改应用程序池的权限,建议不需要修改该权限,我这里强烈建议使用默认的 ...

  6. Xcode工具特性

    1.注释 #pragma mark 注释说明#pragma mark - 分类/分组注释说明 2.自定义代码块. 3.多文本编辑框 View>>Assistant Editor

  7. 蓝桥杯 算法训练 ALGO-142 P1103

    算法训练 P1103   时间限制:1.0s   内存限制:256.0MB 编程实现两个复数的运算.设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数. (2)复数之间 ...

  8. Linux驱动 - SPI驱动 之三 SPI控制器驱动

    通过第一篇文章,我们已经知道,整个SPI驱动架构可以分为协议驱动.通用接口层和控制器驱动三大部分.其中,控制器驱动负责最底层的数据收发工作,为了完成数据的收发工作,控制器驱动需要完成以下这些功能:1. ...

  9. Contiki学习笔记

    http://blog.chinaunix.net/uid-9112803-id-2975824.html

  10. SQL 2008提供几种数据同步方式

    SQL 2008提供几种数据同步的方式如下. 1.日志传送(Log Shipping),定时将主数据库的日志备份,恢复到目标数据库. 2.数据库镜像(Database Mirror),原理同日志传送, ...