backpropagation算法示例

下面举个例子,假设在某个mini-batch的有样本X和标签Y,其中\(X\in R^{m\times 2}, Y\in R^{m\times 1}\),现在有个两层的网络,对应的计算如下:
\[
\begin{split}
i_1 &= XW_1+ b_1\\
o_1 &= sigmoid(i_1)\\
i_2 &= o_1W_2 + b_2\\
o_2 &= sigmoid(i_2)
\end{split}
\]
其中\(W_1 \in R^{2\times 3}, b_1\in R^{1\times 3}, W_2\in R^{3\times 1}, b_2\in R^{1\times 1}\)都是参数,然后使用平方损失函数
\[
cost = \dfrac{1}{2m}\sum_i^m(o_{2i} - Y_i)^2
\]
下面给出反向传播的过程
\[
\begin{split}
\dfrac{\partial cost}{\partial o_2} &= \dfrac{1}{m}(o_2 - Y)\\
\dfrac{\partial o_2}{\partial i_2} &= sigmoid(i_2)\odot (1 - sigmoid(i_2)) = o_2 \odot (1 - o_2)\\
\dfrac{\partial i_2}{\partial W_2} &= o_1\\
\dfrac{\partial i_2}{\partial o_2} &= w_2\\
\dfrac{\partial i_2}{\partial b_2} &= 1\\
\dfrac{\partial o_1}{\partial i_1} &= sigmoid(i_1)\odot (1 - sigmoid(i_1)) = o_1\odot (1 - o_1)\\
\dfrac{\partial i_1}{\partial W_1} &= X\\
\dfrac{\partial i_1}{\partial b_1} &= 1
\end{split}
\]
所以有

\[
\begin{split}
\Delta W_2 &= \dfrac{\partial cost}{\partial o_2}\dfrac{\partial o_2}{\partial i_2}\dfrac{\partial i_2}{\partial W_2}\\
\Delta b_2 &= \dfrac{\partial cost}{\partial o_2}\dfrac{\partial o_2}{\partial i_2}\dfrac{\partial i_2}{\partial b_2}\\
\Delta W_1 &= \dfrac{\partial cost}{\partial o_2}\dfrac{\partial o_2}{\partial i_2}\dfrac{\partial i_2}{\partial o_1}\dfrac{\partial o_1}{\partial i_1}\dfrac{\partial i_1}{\partial W_1}\\
\Delta b_1 &= \dfrac{\partial cost}{\partial o_2}\dfrac{\partial o_2}{\partial i_2}\dfrac{\partial i_2}{\partial o_1}\dfrac{\partial o_1}{\partial i_1}\dfrac{\partial i_1}{\partial b_1}
\end{split}
\]
根据上述的链式法则,有
\[
\begin{split}
\Delta W_2 &= \left((\dfrac{1}{m}(o_2 - Y)\odot(o_2\odot (1 - o_2)))^T\times o_1\right)^T\\
\Delta W_1 &= \left((((\dfrac{1}{m}(o_2 - Y)\odot (o_2\odot (1 - o_2)))\times W_2^T)\odot o_1\odot (1 - o_1))^T\times X\right)^T
\end{split}
\]

backpropagation算法示例的更多相关文章

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

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

  2. Python实现的计算马氏距离算法示例

    Python实现的计算马氏距离算法示例 本文实例讲述了Python实现的计算马氏距离算法.分享给大家供大家参考,具体如下: 我给写成函数调用了 python实现马氏距离源代码:     # encod ...

  3. Python实现的寻找前5个默尼森数算法示例

    Python实现的寻找前5个默尼森数算法示例 本文实例讲述了Python实现的寻找前5个默尼森数算法.分享给大家供大家参考,具体如下: 找前5个默尼森数. 若P是素数且M也是素数,并且满足等式M=2* ...

  4. Backpropagation 算法的推导与直观图解

    摘要 本文是对 Andrew Ng 在 Coursera 上的机器学习课程中 Backpropagation Algorithm 一小节的延伸.文章分三个部分:第一部分给出一个简单的神经网络模型和 B ...

  5. JavaScript实现获取两个排序数组的中位数算法示例

    本文实例讲述了JavaScript排序代码实现获取两个排序数组的中位数算法.分享给大家供大家参考,具体如下: 题目 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个 ...

  6. TensorFlow简要教程及线性回归算法示例

    TensorFlow是谷歌推出的深度学习平台,目前在各大深度学习平台中使用的最广泛. 一.安装命令 pip3 install -U tensorflow --default-timeout=1800 ...

  7. 一种简单高效的音频降噪算法示例(附完整C代码)

    近期比较忙, 抽空出来5.1开源献礼. 但凡学习音频降噪算法的朋友,肯定看过一个算法. <<语音增强-理论与实践>> 中提及到基于对数的最小均方误差的降噪算法,也就是LogMM ...

  8. pcl曲面重建模块-poisson重建算法示例

    poisson曲面重建算法 pcl-1.8测试通过 #include <iostream> #include <pcl/common/common.h> #include &l ...

  9. 用PHP实现URL转换短网址的算法示例

    短网址就是把一个长的地址转换在超级短的网址,然后访问短网址即可跳转到长网址了,下面来看用PHP实现URL转换短网址的算法与例子. 短网址(Short URL) ,顾名思义就是在形式上比较短的网址.在W ...

随机推荐

  1. adc verilog spi 时序

    我用的是adc081sd芯片,(由于我们使用的是FPGA不用像单片机那样考虑极性cpol,相位cpha,下面仅仅介绍下跟单片机比较下) 什么是cpol:若cs被拉为低电平时sclk(时钟)是高那么cp ...

  2. java核心技术 要点笔记1

    第1章 1.java特性 简单性,java语法是一个C++语法的纯净版本. 面向对象,java将重点放在数据和对象的接口上.java与C++的主要不同点在于多继承,在java中实现多继承的机制是采用接 ...

  3. java Vamei快速教程08 继承

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 继承(inheritance)是面向对象的重要概念.继承是除组合(composit ...

  4. raspberrypi&linux

    Raspberrypi&linux 2018-01-23 19:54:01 Let's go!

  5. JS 中的string.lastIndexOf()

    一直转不过来一个弯,就是string.lastIndexOf(searchString,position)  当有position这个参数时,结果是什么 先看代码: var text = 'Missi ...

  6. xtrabackup 安装

    xtrabackup 安装   yum install -y perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL  perl-Dige ...

  7. IBM中国

    https://www.ibm.com/developerworks/cn/linux/l-memory/

  8. 自动生成 WebApi 在线说明文档。

    1.使用Swashbuckle实现 Swashbuckle 是.NET类库,可以将WebAPI所有开放的控制器方法生成对应SwaggerUI的JSON配置.再通过SwaggerUI 显示出来.类库中已 ...

  9. Nginx学习记录(二)

    1. 什么是反向代理 正向代理 反向代理: 反向代理服务器决定哪台服务器提供服务. 返回代理服务器不提供服务器.也是请求的转发. 反向代理(Reverse Proxy)方式是指以代理服务器来接受Int ...

  10. JQuery从服务器端取得数据绑定到dropdownlist(select)中

    http://blog.csdn.net/gaofang2009/article/details/5840783 http://www.cnblogs.com/Mac_Hui/archive/2010 ...