←上一篇 ↓↑ 下一篇→
2.19 总结习题 回到目录 3.2 神经网络表示

神经网络概览 (Neural Networks Overview)

本周你将学习如何实现一个神经网络。在我们深入学习具体技术之前,我希望快速的带你预览一下本周你将会学到的东西。如果这个视频中的某些细节你没有看懂你也不用担心,我们将在后面的几个视频中深入讨论技术细节。

现在我们开始快速浏览一下如何实现神经网络。上周我们讨论了逻辑回归,我们了解了这个模型如何与下面公式建立联系。

xwb}→z=wTx+b\left.\begin{matrix} x \\ w \\ b \end{matrix}\right\}\rightarrow z=w^Tx+bxwb​⎭⎬⎫​→z=wTx+b

如上所示,首先你需要输入特征 xxx ,参数 www 和 bbb ,通过这些你就可以计算出 zzz ,

xwb}→z=wTx+b→a=σ(z)→L(a,y)\left.\begin{matrix} x \\ w \\ b \end{matrix}\right\}\rightarrow z=w^Tx+b\rightarrow a=\sigma(z) \\ \rightarrow L(a,y)xwb​⎭⎬⎫​→z=wTx+b→a=σ(z)→L(a,y)

接下来使用就可以计算出 aaa 。我们将的符号换为表示输出 y^→a=σ(z)\hat{y}\rightarrow a=\sigma(z)y^​→a=σ(z) ,然后可以计算出loss function L(a,y)L(a,y)L(a,y)

神经网络看起来是如下这个样子。正如我之前已经提到过,你可以把许多sigmoid单元堆叠起来形成一个神经网络。对于图3.1.1中的节点,它包含了之前讲的计算的两个步骤:首先通过公式3.1计算出值 zzz ,然后通过 σ(z)\sigma(z)σ(z) 计算值 aaa 。

在这个神经网络(图3.1.2)对应的3个节点,首先计算第一层网络中的各个节点相关的数 z[1]z^{[1]}z[1] ,接着计算 a[1]a^{[1]}a[1] ,在计算下一层网络同理; 我们会使用符号 [m]^{[m]}[m] 表示第 mmm 层网络中节点相关的数,这些节点的集合被称为第 mmm 层网络。这样可以保证 [m]^{[m]}[m] 不会和我们之前用来表示单个的训练样本的 (i)^{(i)}(i) (即我们使用表示第 iii 个训练样本)混淆; 整个计算过程,公式如下: 公式3.3:

xW[1]b[1]}→z[1]=W[1]x+b[1]→a[1]=σ(z[1])\left.\begin{matrix} x \\ W^{[1]} \\ b^{[1]} \end{matrix}\right\}\rightarrow z^{[1]}=W^{[1]}x+b^{[1]}\rightarrow a^{[1]}=\sigma(z^{[1]})xW[1]b[1]​⎭⎬⎫​→z[1]=W[1]x+b[1]→a[1]=σ(z[1])

公式3.4:

a[1]=σ(z[1])W[2]b[2]}→z[2]=W[2]a[1]+b[2]→a[2]=σ(z[2])→L(a[2],y)\left.\begin{matrix} a^{[1]}=\sigma(z^{[1]}) \\ W^{[2]} \\ b^{[2]} \end{matrix}\right\}\rightarrow z^{[2]}=W^{[2]}a^{[1]}+b^{[2]}\rightarrow a^{[2]}=\sigma(z^{[2]})\\\rightarrow L(a^{[2]},y)a[1]=σ(z[1])W[2]b[2]​⎭⎬⎫​→z[2]=W[2]a[1]+b[2]→a[2]=σ(z[2])→L(a[2],y)

类似逻辑回归,在计算后需要使用计算,接下来你需要使用另外一个线性方程对应的参数计算 z[2]z^{[2]}z[2] , 计算 a[2]a^{[2]}a[2] ,此时 a[2]a^{[2]}a[2] 就是整个神经网络最终的输出,用 y^\hat{y}y^​ 表示网络的输出。

公式3.5:

da[1]=dσ(z[1])dW[2]db[2]}→dz[2]=d(W[2]a[1]+b[2])→da[2]=dσ(z[2])→dL(a[2],y)\left.\begin{matrix} da^{[1]}=d\sigma(z^{[1]}) \\ dW^{[2]} \\ db^{[2]} \end{matrix}\right\}\rightarrow dz^{[2]}=d(W^{[2]}a^{[1]}+b^{[2]})\rightarrow da^{[2]}=d\sigma(z^{[2]})\\\rightarrow dL(a^{[2]},y)da[1]=dσ(z[1])dW[2]db[2]​⎭⎬⎫​→dz[2]=d(W[2]a[1]+b[2])→da[2]=dσ(z[2])→dL(a[2],y)

我知道这其中有很多细节,其中有一点非常难以理解,即在逻辑回归中,通过直接计算 zzz 得到结果 aaa 。而这个神经网络中,我们反复的计算 zzz 和 aaa ,计算 aaa 和 zzz ,最后得到了最终的输出loss function

你应该记得逻辑回归中,有一些从后向前的计算用来计算导数 da、dzda、dzda、dz 。同样,在神经网络中我们也有从后向前的计算,看起来就像这样,最后会计算 da[2]、dz[2]da^{[2]}、dz^{[2]}da[2]、dz[2] ,计算出来之后,然后计算 dW[2]、db[2]dW^{[2]}、db^{[2]}dW[2]、db[2] 等,按公式3.4、3.5箭头表示的那样,从右到左反向计算。

现在你大概了解了一下什么是神经网络,基于逻辑回归重复使用了两次该模型得到上述例子的神经网络。我清楚这里面多了很多新符号和细节,如果没有理解也不用担心,在接下来的视频中我们会仔细讨论具体细节。

那么,下一个视频讲述神经网络的表示。

课程PPT



←上一篇 ↓↑ 下一篇→
2.19 总结习题 回到目录 3.2 神经网络表示

3.1 神经网络概览-深度学习-Stanford吴恩达教授相关推荐

  1. 3.2 神经网络表示-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.1 神经网络概览 回到目录 3.3 计算神经网络的输出 神经网络表示 (Neural Network Representation) 先回顾一下我在上一个视频画几张神经网 ...

  2. 4.5 搭建深层神经网络块-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 4.4 为什么使用深层表示 回到目录 4.6 前向和反向传播 搭建深层神经网络块 (Building Blocks of Deep Neural Networks) 这周的前 ...

  3. 2.19 总结-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 2.18 Logistic 损失函数的解释 回到目录 3.1 神经网络概览 文章目录 总结 习题 第 11 题 第 12 题 第 13 题 第 14 题 第 15 题 第 1 ...

  4. 3.12 总结-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.11 随机初始化 回到目录 4.1 深层神经网络 文章目录 总结 习题 第 21 题 第 22 题 第 23 题 第 24 题 第 25 题 第 26 题 第 27 题 ...

  5. 3.5 向量化实现的解释-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.4 多个例子中的向量化 回到目录 3.6 激活函数 向量化实现的解释 (Explanation for Vectorized Implementation) 在上一个视频 ...

  6. 2.5 导数-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 2.4 梯度下降法 回到目录 2.6 更多导数的例子 导数 (Derivatives) 这个视频我主要是想帮你获得对微积分和导数直观的理解.或许你认为自从大学毕以后你再也没有 ...

  7. 1.5 关于这门课-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 1.4 为什么深度学习会兴起 回到目录 1.6 课程资源 关于这门课 你的学习进度已经快接近这个专项课程的第一门课的第一周结尾了,首先,快速地介绍一下下周的学习内容: 在第一 ...

  8. 3.10 直观理解反向传播-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.9 神经网络的梯度下降法 回到目录 3.11 随机初始化 直观理解反向传播 (Backpropagation Intuition (Optional)) 这个视频主要是推 ...

  9. 4.1 深层神经网络-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.12 总结习题 回到目录 4.2 深层网络中的前向传播 深层神经网络 (Deep L-layer Neural Network) 目前为止我们学习了只有一个单独隐藏层的神 ...

最新文章

  1. DeepLearning tutorial(2)机器学习算法在训练过程中保存参数
  2. Spring-JDK Timer 以及在Spring(4.0以下)中使用JDK Timer
  3. ORACLE SQL Developer日期显示格式设置
  4. stringstream的基本用法
  5. python链表和树实验报告_数据结构树和森林实验报告
  6. Robots.txt 协议详解及使用说明
  7. 方法 -------JavaScript
  8. ActiveMQ消息重发
  9. 使用CSS控制表单样式/示例演示
  10. miRbase 数据库简介
  11. 计算机无法识别建行网盾,win7系统下建设银行二代网银盾无法被识别如何解决...
  12. DVD影视光盘制作全程指导
  13. 消费新品周报 | AWE海尔推出无尘洗衣机;卡西欧F1红牛车队合作新款运动手表...
  14. 两部手机怎样才能把数据都传过来_两台苹果手机怎么传数据最快(两台 iPhone 互传应用的 3 个小技巧)...
  15. 扬子苦荞啤酒 一杯苦荞啤酒,精彩你的世界
  16. wireshark学习系列————4、实时捕捉数据包
  17. hmmer 使用(转载)
  18. Git:git安装教程和检查是否安装成功
  19. 百度SEO教程-利于百度推送工具实现百度快速收录
  20. 基于Springboot的休闲娱乐代理售票系统

热门文章

  1. scrollview背景
  2. C# Marshal类基本概念和入门示例程序
  3. win32汇编实现拼接SQL语句
  4. asp.net 访问 access出现 ole_connection.ServerVersion引发了System.InvalidOperationException的解决
  5. 移动设备的配置测试(译)
  6. DataSnap 2009 系列之二 (方法篇)
  7. 二分图模板(女生赛要用)
  8. 使用css让页面变成黑白
  9. C#6.0语言规范(一) 介绍
  10. 洛谷P4016 负载平衡问题