2021版吴恩达深度学习课程Deeplearning.ai Day2 9.7

学习内容

2.7 计算图

1.神经网络的计算由前向传播计算神经网络的输出,紧接着由反向传播计算梯度或导数。计算图解释了为什么用这种形式组织计算。如下是一个用于计算输出的计算图。
image.png

2.8 计算图求导数

1.如下是一个求导数的计算图,计算过程从右往左(这也是最高效的方式去计算导数)。
*在代码中,我们用dvar表示变量var的导数
*从J求出dv的过程,我们称为反向传播中的一步
image.png

2.9 逻辑回归梯度下降

1.如图是计算单一样本的损失函数的计算过程。
image.png
2.如图是计算单一样本损失函数的求导过程。我们用反向传播的方式,一步步计算出需要调整的参数w和b的导数。
image.png

2.10 m个样本上的梯度下降

1.
image.png
2.
image.png

2.11 向量化 vectorization

1.内置函数的向量化计算往往会比for循环快上几百倍,因为它能使python充分利用并行计算。CPU和GPU内部都有SIMD(单独指令多维数据)指令,但GPU往往能对并行计算处理的更好,而我们的内置函数的向量化计算往往就会调取这些SIMD指令去加速代码。image.png

2.12 更多向量化示例

1.
image.png
2.如图是常见的内置函数(进行并行化计算)API
image.png

2.13 向量化逻辑回归

1.我们通过Z=np.dot(W.T,X)+b得到了中间变量Z,通过A=sigmoid(Z)并行计算得到预测值A=[a1,a2,...,am]
image.png

2.14 向量化逻辑回归的梯度输出

1.
image.png
2.
image.png

2.15 python中的广播

1.常见广播机制
image.png

2.16 关于numpy/python向量的提示

1.一般我们使用(m,1),而不使用(m,),避免造成错误。
2.可以用reshape(m,)转化为(m,1)
3.可以用断言语句帮助确定
image.png

2.18 逻辑回归损失函数的解释

1.我们通过sigmoid函数得到的概率值是在给定x的情况下,预测y=1的概率。如果要预测y=0的概率,那么预测表达式为p(0|x)=1-y^hat。如果将y=1和y=0的预测整合起来,得到在给定x的情况下,预测y为?的概率,那么表达式为p(y|x)=y_hat^y*(1-y_hat)^(1-y)
2.由于log函数是单调递增的,因此可以将p(y|x)取对数,保持原幅度,得到log p(y|x) =-L(a,y)
image.png
3.求在m个样本上面的cost function,我们可以通过以下的思路。
*首先,考虑如何使p(label in training set)最大p(label in training set)=p(y_1|x_1)*p(y_2|x_2)*...p(y_m|x_m)
*而求p相乘,可以考虑为求log p相加,转化为log p(...)=log p(y_1|x_1)+ log p(y_2|x_2)+...log p(y_m|x_m),也即我们loss function的负值相加,使其最大。
*但考虑需要使用梯度下降法,因此我们需要求最小值,去除loss function的负号,从而得到cost function为各loss function的和。
image.png

3.1 神经网络概览

1.这节的知识我认为讲解的没有machine learning中的那节的好,所以我的笔记是用machine learning中的,但我也标注一下这节内容中相关的需要注意的知识点。
*上标[m]对应第几层神经网络,(i)表示第几个训练样本

3.2 神经网络的表现形式

1.
image.png

3.3 计算神经网络的输出(单样本)

1.在每一个节点中进行的计算
image.png
2.
image.png
3.
image.png

3.4 多样本向量化

1.如图是for循环的实现
image.png
2.
*我们的输出和输入,在水平方向上,是不同的训练样本按照列堆叠;在垂直方向上,是不同的节点按照行堆叠(神经网络将神经元堆叠起来,按照行堆叠)。
image.png

3.5 向量化的解释

1.
*W是同一层的节点的按行堆叠(每一行都是w列向量的转置)
*b是同一层节点的按行堆叠(广播机制计算)
image.png
2.总结
*输入输出,样本按列堆叠,每行为对应的节点
*参数w、b等,按行堆叠,每行是对应节点的参数
image.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值