由浅到深的神经网络正向传播与反向传播公式推导(吴恩达老师深度学习第一课课程笔记)

神经网络正向与反向数学推导过程
一、前言(相关知识总结)
epoch,iterations,batch_size的区别:epochs被定义为向前和向后传播中所有批次的单次训练迭代。这意味着1个周期是整个输入数据的单次向前和向后传递。1个iteration等于使用batchsize个样本训练一次。

模型的超参数优化:网格搜索和随机搜索方法

反向传播的本质是链式法则

代价函数:为了训练逻辑回归模型的参数w参数和参数b我们需要一个代价函数J(w,b),通过训练代价函数来得到参数w和参数b。

反向传播也是求梯度的过程,其中梯度下降法可以在你的测试集上,通过最小化代价函数(成本函数)J(w,b)来训练参数w和b。(梯度下降法后面补充)
在这里插入图片描述
因为正向传播公式无需过多推导,所以在这只显示公式结果,不多赘述。

二、Logistic回归模型的正向传播与反向传播
在这里插入图片描述
在这里插入图片描述

上图为Logistic回归模型,逻辑回归学习算法适用于二分类问题,可以看出没有隐藏层,只有输入层与输出层,其激活函数为sigmoid函数。

1、损失函数与代价函数
我们在逻辑回归中用到的损失函数是:在这里插入图片描述
损失函数是在单个训练样本中定义的,它衡量的是算法在单个训练样本中表现如何,为了衡量算法在全部训练样本上的表现如何,我们需要定义一个算法的代价函数,算法的代价函数是对个样本的损失函数求和然后除以m(m为训练样本个数。)在这里插入图片描述

2、Logistic回归模型的正向传播与反向传播公式
(1)下图为单个训练样本的情况:
在这里插入图片描述
注意事项:

  • 上图仅为单个训练样本反向传播情况。
  • 图中红色箭头为反向传播过程,公式也是从后往前推得。
  • 图中变量"da",“dz”,“dw”,"db"其实都是损失函数L分别对变量a、z、w、b的求导。只是用来简写。

(2)下图为m个训练样本代价函数J与输出结果a的情况:
在这里插入图片描述
m 个样本的梯度下降算法:
(因为运用到两次for循环,时间效率大大降低,所以后面会进行向量化进行优化。)
在这里插入图片描述
下面两张图分别是向量化的过程与有无向量化对比结果:
在这里插入图片描述
在这里插入图片描述

三、浅层神经网络的正向传播与反向传播
这里的浅层神经网络即中间有了一层隐藏层。以下公式均进行了向量化。

1、单个训练样本
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
上图为正向传播公式向量化过程。方括号里的数字代表层数。下图为反向传播公式推导过程(多用链式法则,与逻辑回归反向传播公式推导过程相似)。
在这里插入图片描述
在这里插入图片描述
举个例子求dL/dZ[1]:
在这里插入图片描述
此处的W[2]转置是为了维度匹配。

2、m个训练样本
在这里插入图片描述
3、权重的随机初始化
如果你要将w初始化成0,由于所有的隐含单元都是对称的,无论你运行梯度下降多久,他们一直计算同样的函数。这没有任何帮助,因为你想要两个不同的隐含单元计算不同的函数,这个问题的解决方法就是随机初始化参数。你应该这么做:把W[1]设为np.random.randn(2,2)(生成高斯分布),通常再乘上一个小的数,比如0.01,这样把它初始化为很小的随机数。然后b没有这个对称的问题(叫做symmetry breaking problem),所以可以把b初始化为0,因为只要随机初始化你就有不同的隐含单元计算不同的东西,因此不会有symmetry breaking问题了。
在这里插入图片描述

四、深层神经网络的正向传播和反向传播
此处的深层神经网络指有较多隐藏层的神经网络。
1、深层神经网络正向传播
在这里插入图片描述
上图为深层神经网络正向传播公式推导,其中l代表层数。

2、核对矩阵的维度
在这里插入图片描述
上图为单个训练样本和m个训练样本矩阵维度对比。

3、深层神经网络反向传播
在这里插入图片描述
在这里插入图片描述

上图为深层神经网络正向传播与反向传播基本流程,下图为反向传播公式,左右对应单个训练样本和m个训练样本公式。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值