- 因为其从输出层计算到输入层的特性,所以称之为反向传播算法
- 通过这些偏差值可以计算偏导项为
- 多训练样本情况
- 最终就可以得到
理解
- 理解反向传播中一些固定的公式在做什么
- 一个比较简单的前向传播模型
- 反向传播的计算过程和前向十分类似,只是计算方向的不同
实际上是代价函数关于所计算出的中间项的偏导数,它们衡量的是,为了影响这些中间值,我们想要改变神经网络中的权重的程度,进而影响神经网络的输出,并影响所有的代价函数
- 反向传播计算过程
注意
- 展开参数
- 将参数从矩阵展开成向量
- 以便在高级优化步骤中的使用需要
在使用类似fminunc的高级优化步骤中,输入参数是模型参数的向量,输出是代价函数的偏导的向量
这在线性回归和逻辑回归中都没有问题
但是在神经网络中,过程参数均为矩阵形式
需要将这些矩阵展开成向量,从而代入到高级优化函数中
将矩阵所有元素展开成一个列向量
将长向量恢复成矩阵形式
在解决算法问题中
先实现代价函数
过程
- 将模型参数转换成列向量传入代价函数
- 在代价函数中恢复矩阵表示,方便计算前向传播/后向传播
- 得到代价函数的偏导
- 再将对应于每个模型参数的偏导以列向量形式传出,与每个模型参数对应
- 将两个列向量传入高级优化算法