由浅到深的神经网络正向传播与反向传播公式推导(吴恩达老师深度学习课程笔记)
一、前言(相关知识总结)
反向传播的本质是链式法则。
代价函数:为了训练逻辑回归模型的参数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个训练样本
四、深层神经网络的反向传播
还没看完,之后补充。