deeplearning.ai 吴恩达网上课程学习(五)——浅层神经网络理论学习

原创 2018年04月16日 16:38:21

本文主要来讲解包含一个隐藏层的神经网络结构及其原理。

本文参考链接: https://www.missshi.cn/api/view/blog/59a6ad67e519f50d040000e5

1.概念初识:

之前逻辑回归的模型:



一个包含隐藏的神经网络的网络结构:

2.神经网络的表示:

其中,x1,x2,x3表示其输入层,中间的四个圆圈则表示隐藏层,最后的一个节点是其输出层。而隐藏层数据是我们无法知道而需要进行训练学习的。对于上述网络结构而言,我们称其为一个两层的神经网络。(输入层不包含在内)

3.神经网络的前向传播计算:


第一个隐藏层神经元的计算逻辑:


第二个隐藏层神经元而言,计算逻辑相同:


其中,对于ai[l]而言,l表示它是在第l层,而i则表示它是该层的第i个节点,对于w和b而言,符号表示的含义相同。



4.训练样本的矢量化:



此时w是(m,3)的矩阵,x是(3,n)的矩阵,b是(m,1)的矩阵,在与wx相加时有广播效果,最后得到z(m,n)的矩阵。其中m是隐含层层数,n是样本个数。


5.激活函数:

对于隐藏层和输出层而言,我们通常会选择一个激活函数用于对其输出进行处理。

之前我们接触的激活函数都是sigmod函数,但实际上,还有一些可能更好用的激活函数。例如tanh函数通常会比sigmod函数用更好的性能。


tanh作为激活函数优点:由于其平均值更接近于0,可以起到中心化的作用,通常更有利用算法优化。

特殊情况:二分类问题输出层的激活函数,由于我们仅希望对其进行是否判断,其实更类似于0,1判断,此时选择sigmod函数是一个更加合理的选择。除二分类输出层外,几乎不使用:

sigmod函数和tanh函数共同的问题:当输入变量特别大或者特别小时,斜率非常小,此时并不利于梯度下降法进行学习。

在机器学习中,一个非常常用的激活函数叫做ReLU函数(修正线性单元函数)。(推荐)



6.激活函数不选择线性函数的原因

若激活函数选择线性函数,线性函数作用到线性函数上,结果还是线性函数,也就是说,无论最终有多少隐藏层,得到的最终输出结果仍然是输入的线性组合。(很简单,不会推导参看原文)

7. 激活函数求导:

① sigmod函数:


Ps:在后续的文章中,我们会使用g'(z)来表示dg(z)/dz。

② tanh函数



③ ReLU函数


当z=0时,ReLU函数的导数不存在,不过这个并不重要,我们可以假设其导数也是1即可。

④ Leaky ReLU函数:


7. 梯度下降法:



接下来,就让我们继续来看一个两层的神经网络吧:



8.参数为什么要随机初始化:

参数初始化一个常用的原则是:使用较小随机数来对参数进行初始化。

① 为什么不能使用一个固定参数(例如0)来对神经网络进行初始化。


② 实际初始化过程:


③ 为什么要乘以一个小系数




版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010327061/article/details/79958526

吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(1-3)-- 浅层神经网络

神经网络和深度学习 -------- 浅层神经网络
  • Koala_Tree
  • Koala_Tree
  • 2017-09-22 10:14:23
  • 5039

【deeplearning.ai】Neural Networks and Deep Learning——浅层神经网络

吴恩达的deeplearning.ai公开课,第二周内容的学习笔记。 一、基础知识 1、浅层神经网络结构 此网络为2层。在说神经网络的层数时,不包括输入层。 2、前向传...
  • u014157632
  • u014157632
  • 2017-08-30 15:14:19
  • 1060

Coursera吴恩达《神经网络与深度学习》课程笔记(4)-- 浅层神经网络

我的个人网站:红色石头的机器学习之路 我的知乎主页:红色石头 我的微博:RedstoneWill的微博 我的GitHub:RedstoneWill的GitHub 我的微信...
  • red_stone1
  • red_stone1
  • 2017-09-18 13:48:09
  • 4601

吴恩达Deeplearning.ai专项课程笔记(一)-- 神经网络基础

吴恩达深度学习专项课程Deeplearning.ai共开设五门课,目前已经学了大半,想起来忘了整理课程笔记,这几天抽空补上。1.基础概念 神经网络 :输入一些数据,经过隐藏层,最终得到输出,圆形节点...
  • esthermabel
  • esthermabel
  • 2017-11-02 18:42:42
  • 709

吴恩达deeplearning.ai课程系列笔记07

#写在最前,deeplearning.ai系列课程相较于之前的Andrew Ng在coursea上2014发布的机器学习课程内容更加丰富。 重要的是此次课程示例代码都是用python来实现,不需要去熟...
  • lahuilei
  • lahuilei
  • 2017-10-31 06:58:59
  • 244

吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(1-2)-- 神经网络基础

神经网络和深度学习 --------- 神经网络基础
  • Koala_Tree
  • Koala_Tree
  • 2017-09-20 21:14:18
  • 8205

深度学习DeepLearning.ai系列课程学习总结:1. 深度学习简介

本节内容对应吴恩达deeplearning.ai课程中,第一部分第一周的内容。 学习过程中的一些笔记与心得与大家分享! 原始课程请访问https://www.deeplearning.ai/来了解...
  • laodengbaiwe0838
  • laodengbaiwe0838
  • 2017-08-20 21:49:18
  • 5786

【程序员进阶之路】吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程

8 月 8 日,——基于 Coursera 的系列深度学习课程,希望将人工智能时代的基础知识传播到更多人身边。一周过去后,许多人已经学完了目前开放的前三门课程。这些新课适合哪些人,它是否能和经典的《机...
  • weixin_41718085
  • weixin_41718085
  • 2018-02-17 21:00:15
  • 266

吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程 By 路雪2017年8月14日 11:44 8 月 8 日,吴恩达正式发布了 Deepleanring.ai——基于 Cours

吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程 By 路雪2017年8月14日 11:44 8 月 8 日,吴恩达正式发布了 Deepleanring.ai—...
  • starzhou
  • starzhou
  • 2017-08-14 13:04:22
  • 2870

吴恩达Deeplearning.ai 全部课程学习心得分享

本文作者,加拿大国家银行首席分析师 Ryan Shrott 完成了迄今为止(2017 年 10 月 25 日)吴恩达在 Coursera 上发布的所有深度学习课程,并为我们提供了课程解读。 ...
  • Uwr44UOuQcNsUQb60zk2
  • Uwr44UOuQcNsUQb60zk2
  • 2017-10-28 06:43:27
  • 401
收藏助手
不良信息举报
您举报文章:deeplearning.ai 吴恩达网上课程学习(五)——浅层神经网络理论学习
举报原因:
原因补充:

(最多只允许输入30个字)