• 使代价函数最小的算法

    公式

    image.png
    image.png

  • 为了计算代价函数的偏导项

  • 采用反向传播算法
  • 定义一个偏差值 【机器学习】反向传播算法 - 图3

image.png

  • 因为其从输出层计算到输入层的特性,所以称之为反向传播算法
  • 通过这些偏差值可以计算偏导项为

【机器学习】反向传播算法 - 图5

  • 多训练样本情况

image.png
image.png

  • 最终就可以得到

【机器学习】反向传播算法 - 图8

理解

  • 理解反向传播中一些固定的公式在做什么

image.png

  • 一个比较简单的前向传播模型

image.png

  • 反向传播的计算过程和前向十分类似,只是计算方向的不同

image.png

image.png
【机器学习】反向传播算法 - 图13实际上是代价函数关于所计算出的中间项的偏导数,它们衡量的是,为了影响这些中间值,我们想要改变神经网络中的权重的程度,进而影响神经网络的输出,并影响所有的代价函数

  • 反向传播计算过程

image.png
image.png

注意

  • 展开参数
  • 将参数从矩阵展开成向量
  • 以便在高级优化步骤中的使用需要

image.png
在使用类似fminunc的高级优化步骤中,输入参数是模型参数的向量,输出是代价函数的偏导的向量
这在线性回归和逻辑回归中都没有问题
但是在神经网络中,过程参数均为矩阵形式
image.png
需要将这些矩阵展开成向量,从而代入到高级优化函数中
image.png
image.png
将矩阵所有元素展开成一个列向量
image.png
将长向量恢复成矩阵形式

在解决算法问题中
image.png
先实现代价函数
image.png
过程

  • 将模型参数转换成列向量传入代价函数
  • 在代价函数中恢复矩阵表示,方便计算前向传播/后向传播
  • 得到代价函数的偏导
  • 再将对应于每个模型参数的偏导以列向量形式传出,与每个模型参数对应
  • 将两个列向量传入高级优化算法