这是学习吴恩达《机器学习》的相关笔记

相关内容:[深度学习计划][1]

神经网络参数的反向传播算法

代价函数

我们可以将神经网络的分类问题分为两种情况:

二类分类:$S_L=0, y=0 or 1$表示哪一类

$K$类分类:$S_L=k, y_i = 1$表示分到第$i$类

截屏2020-02-12下午6.01.10

在逻辑回归中的代价函数如下:

image-20200212182048883

对于神经网络,$y^{(i)}$ 不再只有一个输出单元,取而代之的是 K 个输出单元,因此,代价函数如下:

截屏2020-02-12下午6.22.37

反向传播算法(BP算法,Backpropagation)

前向传播:

截屏2020-02-12下午8.12.07

为了计算代价函数的偏导数$\frac{\partial}{\partial\Theta^{(l)}_{ij}}J\left(\Theta\right)$,我们需要采用一种反向传播算法,也就是首先计算最后一层的误差,然后再一层一层反向求出各层的误差,直到倒数第二层。

截屏2020-02-12下午8.28.35

$\delta_j^{(i)}$ 是第 $l$ 层的第 $j$ 个节点的误差,也就是预测值减去真实值。

上面是一个四层的神经网络,当我们计算第四层的误差时:

image-20200212203144540

计算其他几层误差:

image-20200212203200805

image-20200212203203995

不需要计算第一层,因为第一层为输入层,没有误差。

反向传播算法:

截屏2020-02-12下午8.39.34

展开参数

梯度检测

随机初始化

组合在一起

无人驾驶