z[1]=W[1]x+b[1]z^{[1]}=W^{[1]}x+b^{[1]}z[1]=W[1]x+b[1]a[1]=σ(z[1])a^{[1]}=\sigma(z^{[1]})a[1]=σ(z[1])z[2]=W[2]a[1]+b[2]z^{[2]}=W^{[2]}{a^{[1]}}+b^{[2]}z[2]=W[2]a[1]+b[2]a[2]=σ(z[2])a^{[2]}=\sigma (z^{[2]})a[2]=σ(z[2])Loss(a[2],y)Loss(a^{[2]},y)Loss(a[2],y)这里的损失函数使用的是逻辑回归的损失函数。da[2]=dLossda[2]=−ya[2]+1−y1−a[2]da^{[2]}=\frac{dLoss}{da^{[2]}}=-\frac{y}{a^{[2]}}+\frac{1-y}{1-a^{[2]}}da[2]=da[2]dLoss​=−a[2]y​+1−a[2]1−y​da[2]dz[2]=a[2](1−a[2])\frac{da^{[2]}}{dz^{[2]}}=a^{[2]}(1-a^{[2]})dz[2]da[2]​=a[2](1−a[2])dz[2]=dLossdz[2]=dLossda[2]∗da[2]dz[2]=a[2]−ydz^{[2]}=\frac{dLoss}{dz^{[2]}}=\frac{dLoss}{da^{[2]}}*\frac{da^{[2]}}{dz^{[2]}}=a^{[2]}-ydz[2]=dz[2]dLoss​=da[2]dLoss​∗dz[2]da[2]​=a[2]−ydW[2]=dz[2]a[1].T=(a[2]−y)a[1].TdW^{[2]}=dz^{[2]}a^{[1].T}=(a^{[2]}-y)a^{[1].T}dW[2]=dz[2]a[1].T=(a[2]−y)a[1].Tdb[2]=dz[2]=(a[2]−y)db^{[2]}=dz^{[2]}=(a^{[2]}-y)db[2]=dz[2]=(a[2]−y)这就完成了反向传播的一半。dz(2)da[1]=W[2].T\frac{dz^{(2)}}{da^{[1]}}=W^{[2].T}da[1]dz(2)​=W[2].Tda[1]dz[1]=g′[1](z[1])\frac{da^{[1]}}{dz^{[1]}}=g^{'[1]}(z^{[1]})dz[1]da[1]​=g′[1](z[1])dz[1]=W[2].Tdz[2]g′[1](z[1])dz^{[1]}=W^{[2].T}dz^{[2]}g^{'[1]}(z^{[1]})dz[1]=W[2].Tdz[2]g′[1](z[1])dW[1]=dz[1].x.TdW^{[1]}=dz^{[1]}.x^{.T}dW[1]=dz[1].x.Tdb[1]=dz[1]db^{[1]}=dz^{[1]}db[1]=dz[1]通过推导我们得到六个关键方程,如下图所示

通过向量化表示,可以表示为

在向量化的形式中,假设每一次只有m个训练数据用于进行反向传播,则dZ[2]dZ^{[2]}dZ[2]的维度为(1,m)(1,m)(1,m)。设隐层a的节点个数为n个,则A[1]A^{[1]}A[1]的维度为(m,n)(m,n)(m,n),隐层到输出层的参数WWW的维度为(n,1)(n,1)(n,1)。通过dZ[2]A[1]TdZ^{[2]}A^{[1]T}dZ[2]A[1]T得到的是m个训练数据反向传播之后的维度为(n,1)(n,1)(n,1)的关于WWW的参数的导数。

对于参数bbb,由于bbb不是一个向量,只是一个值,因此在进行反向求导时需要用到np.sum()np.sum()np.sum()进行mmm个训练数据的求和。

吴恩达深度学习 —— 3.10 直观理解反向传播相关推荐

  1. 吴恩达深度学习 —— 2.10 m个样本的梯度下降

    在之前的学习中,已经看到了如何计算导数,同时把梯度下降法应用到逻辑回归的一个训练样本上.现在要把它应用在m个训练样本上. 首先,时刻记住有关于成本函数J(w,b)的定义,前面介绍了针对单个训练数据怎么 ...

  2. 深度学习入门首推资料--吴恩达深度学习全程笔记分享

    本文首发于微信公众号"StrongerTang",可打开微信搜一搜,或扫描文末二维码,关注查看更多文章. 原文链接:(https://mp.weixin.qq.com/s?__bi ...

  3. 吴恩达深度学习教程——中文笔记网上资料整理

    吴恩达深度学习笔记整理 内容为网上博主博文整理,如有侵权,请私信联系. 课程内容: Coursera:官方课程安排(英文字幕).付费用户在课程作业中可以获得作业评分,每门课程修完可获得结课证书:不付费 ...

  4. 吴恩达深度学习 | (18) 卷积神经网络专项课程第二周学习笔记

    课程视频 第二周PPT汇总 吴恩达深度学习专项课程共分为五个部分,本篇博客将介绍第四部分卷积神经网络专项的第二周课程:深度卷积网络:实例探究. 目录 1. 为什么要进行实例探究 2. 经典网络 3. ...

  5. 吴恩达深度学习笔记(四)

    吴恩达深度学习笔记(四) 卷积神经网络CNN-第二版 卷积神经网络 深度卷积网络:实例探究 目标检测 特殊应用:人脸识别和神经风格转换 卷积神经网络编程作业 卷积神经网络CNN-第二版 卷积神经网络 ...

  6. 吴恩达深度学习笔记——卷积神经网络(Convolutional Neural Networks)

    深度学习笔记导航 前言 传送门 卷积神经网络(Convolutional Neural Networks) 卷积神经网络基础(Foundations of Convolutional Neural N ...

  7. 吴恩达深度学习 | (12) 改善深层神经网络专项课程第三周学习笔记

    课程视频 第三周PPT汇总 吴恩达深度学习专项课程共分为五个部分,本篇博客将介绍第二部分改善深层神经网络专项的第三周课程:超参数调试.Batch Normalization和深度学习框架. 目录 1. ...

  8. 吴恩达深度学习 | (2) 神经网络与深度学习专项课程第二周学习笔记

    课程视频 第二周PPT汇总 吴恩达深度学习专项课程共分为五个部分,本篇博客将介绍第一部分神经网络和深度学习专项的第二周课程:神经网络基础.由于逻辑回归算法可以看作是一个单神经元(单层)的网络结构,为了 ...

  9. 吴恩达深度学习课程笔记之卷积神经网络(2nd week)

    0 参考资料 [1]  大大鹏/Bilibili资料 - Gitee.com [2] [中英字幕]吴恩达深度学习课程第四课 - 卷积神经网络_哔哩哔哩_bilibili [3]  深度学习笔记-目录 ...

最新文章

  1. 看博客学学Android(十三)
  2. 内核功能导致重启_诊断修复 TiDB Operator 在 K8s 测试中遇到的 Linux 内核问题
  3. sqlserver的基本介绍
  4. 安装和配置sendmail
  5. 5阶无向完全图_运动轿跑风 全新上汽名爵5预告图发布
  6. python timer模块_Python timeit模块的使用实践
  7. 如何连接(合并)数据框(内部,外部,左侧,右侧)
  8. 单位转换及格式化显示
  9. KISSY - A Powerful JavaScript Framework
  10. 直接修改gba_gba修改教程完全版
  11. Axure RP 9.0.0.3716 Mac中文版
  12. 图书销售系统 php,php文学小说销售系统
  13. 什么是 ECC 内存?(memory with ECC)
  14. java16 新特性
  15. UEFI启动+GPT分区
  16. 屏幕录像软件有哪些?操作简单的屏幕录像方法推荐
  17. 163点游戏python算法
  18. iOS 按锁屏后重新打开APP直接退到后台问题
  19. java计算机毕业设计高校教师工作量管理系统MyBatis+系统+LW文档+源码+调试部署
  20. python爬取美女图片的练习

热门文章

  1. FMS 中文帮助 (下载)
  2. ZooKeeper管理员指南 部署和管理指南
  3. SpringBoot热加载实现与类加载浅谈
  4. WPF之XAML语法
  5. 深入理解Java虚拟机(第三版)-13.Java内存模型与线程
  6. portainer使用阿里云docker镜像加速器
  7. docsify搭建知识库
  8. C#LeetCode刷题之#747-至少是其他数字两倍的最大数( Largest Number At Least Twice of Others)
  9. 统计相关系数r与r2的区别_什么是相关系数? 统计解释中的r值
  10. R语言在金融中的应用二