吴恩达神经网络和深度学习——第三周笔记

Week 3

目录

Week 3

3-1神经网络概述

3-2神经网络的表示

3-3计算神经网络的输出

3-4多个栗例子中的向量化

3.5 向量化实现的解释

3-6、3-7、3-8激活函数

3-11随机初始化权重


3-1神经网络概述

这就是神经网络:

3-2神经网络的表示

这个神经网络是“双层神经网络”,只有两层,虽然有输入层、隐藏层、输出层,但从上标来看,输入层是为第0层,所以隐藏层才是第一层,输出层为第二层:

3-3计算神经网络的输出

圆圈代表了回归计算的两个步骤:所以,神经网络只不过重复的计算这些步骤很多次。

这是神经网络的第一个小圆圈,也是第一个节点,它所作的事情就是做了这两步计算。

其余三个节点,同样的计算着这两步,唯一的差别就是下标发生了变化,从1逐渐变为4,上标不发生变化,因为始终都在第一层,所以始终为1.如下图所示:

如上图所示,如果采用for循环来执行这些计算,那么效率会非常低下,所以我们将这四个等式向量化:首先,我们有四个logistic回归单元(也就是隐藏层的四个小圆圈),每一个回归单元,都有对应的W,b参数。那么我们把4个向量W堆叠在一起:如下图所示,就形成了一个4×3的矩阵——4表示有4个隐藏单元(4个圈),3表示有3个输入特征(x1,x2,x3)

然后和X相乘,在加上b结果就为Z:

所以,我们就可以将等式向量化,变成更容易理解的符号:

第一层隐藏层的参数就变成:

第二层输出层参数就变为:

3-4多个栗例子中的向量化

如何将不同训练样本向量化??

如果没有向量化的话,那么只能用for循环来实现:对m个训练样本内循环:

上面循环里的四步,就是我们要做的,我们可以将其转化为:

大家也许会很好奇,圈起来的4个东西怎么和上面的不一样,还有,怎么x变成了X,原因就是,我们将向量横向堆叠起来,构成了另一个向量:

所以就有了

横向代表不同的训练样本,竖向代表每一个节点)

3.5 向量化实现的解释

3-6、3-7、3-8激活函数

到目前为止,一直用的都是sigmoid函数,其实也有其他更好的选择

tanh()函数是-1~1,用在哪都比较好,一个例外是用在输出层不太好,因为我们更希望输出是一个0~1的值,所以输出还是可以用sigmoid函数的。也反映出,不同层可以有不同的激活函数。

因此我专门总结了一篇关于激活函数的博客https://blog.csdn.net/LLyj_/article/details/82945025

3-9、3-10神经网络的梯度下降算法

前向传播(Forward propagation)

反向传播(Back propagation)

3-11随机初始化权重

训练神经网络的时候,随机初始化权重非常重要,对于logistic回归,可以将权重初始化为0.但如果将神经网络的各参数数组全部初始化为0,再使用梯度下降算法,那会完全无效。

  •  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值