BP算法

sigmoid函数

神经网络激活函数是sigmoid函数。

定义为:

sigmoid函数是一个非线性函数,值域是(0,1)。函数图像如下图所示:

sigmoid导数:

可以看得出sigmoid导数计算很方便。

 

神经网络

神经网络其实就是按照一定规则连接起来的多个神经元。

神经网络实际上就是一个输入向量到输出向量的函数:

神经网络的矩阵表示

反向传播算法(Back Propagation)

我们可以说神经网络是一个模型,那么这些权值就是模型的参数,也就是模型要学习的东西。

然而,一个神经网络的连接方式、网络的层数、每层的节点数这些参数,则不是学习出来的,而是人为事先设置的。对于这些人为设置的参数,我们称之为超参数(Hyper-Parameters)

推导

1、目标函数

2、使用随机梯度下降法进行优化

3、以某一个节点的权值优化过程来举例

前一层的输入向量:

前一层和下一层之间的权值矩阵:

其中mxn,意味着下一层的神经元格式(即维度是m),上一层的输入维度是n。

其中:

输出层:

其中:

综合得到:

 

隐藏层权值训练

例如,对于节点4来说,它的直接下游节点是节点8、节点9。

节点 j 的加权输入只能通过影响节点 j 的所有下游节点再影响目标函数。

 

 

posted @ 2019-06-27 16:42  Austin_anheqiao  阅读(988)  评论(0编辑  收藏  举报