深度学习入门笔记(三)————BP神经网络算法推导

一 多层网络结构

《深度学习入门笔记(三)————BP神经网络算法推导》

 误差反向传播,把误差从最后输出层往上传,每一层神经元都可以不断调节权值,使其达到一个最好的状态。有几个类别设置几个输出单元。层数越多,数据提取的特征越高层。

二 常用激活函数

  1. Sigmoid函数

 

《深度学习入门笔记(三)————BP神经网络算法推导》

2. Tanh函数和Softsign函数

《深度学习入门笔记(三)————BP神经网络算法推导》

 

三 BP神经网络的具体实现

 1.基本思想:由信号的正向传播和误差的反向传播组成。首先是正向传播,数据从输入层输入,经各隐含层逐层处理后传向输出层。若输出层的实际输出与期望输出有差距,则进入误差的反向传播阶段,将输出层的输出误差以某种形式的信号通过隐含层向输入层,并将误差均分给每层的所有单元,从而获得各层单元的误差信号,将该误差信号作为修正各单元权值的依据。权值的不断调整,使实际输出更加接近期望输出 ,反复进行正向传播与反向误差传播,直到输出误差达到期望值,或者循环到要求的学习次为止。权值的不断调整的过程,就是网络的学习训练的过程。

2.网络模型 

《深度学习入门笔记(三)————BP神经网络算法推导》

 输入向量为《深度学习入门笔记(三)————BP神经网络算法推导》x0 = -1是为隐含层神经元引入阀值而设置的。

隐含层输出向量为《深度学习入门笔记(三)————BP神经网络算法推导》y0 = -1是为输出层神经元引入阀值而设置的。

输出层输出向量为《深度学习入门笔记(三)————BP神经网络算法推导》

期望输出向量为《深度学习入门笔记(三)————BP神经网络算法推导》

输入层到隐含层之间的权值矩阵为 《深度学习入门笔记(三)————BP神经网络算法推导》 ,《深度学习入门笔记(三)————BP神经网络算法推导》 为隐含层第j个神经元对应的权向量。

隐含层到输出层之间的权值矩阵为《深度学习入门笔记(三)————BP神经网络算法推导》,《深度学习入门笔记(三)————BP神经网络算法推导》为输出层第k个神经元对应的权向量。

输出层:

               《深度学习入门笔记(三)————BP神经网络算法推导》    k = 1,2,…,l   

               《深度学习入门笔记(三)————BP神经网络算法推导》    k = 1,2,…,l

隐含层:

            《深度学习入门笔记(三)————BP神经网络算法推导》 j = 1,2,…,m

            《深度学习入门笔记(三)————BP神经网络算法推导》 j = 1,2,…,m

转移函数f(x)均为单极性的Sigmoid函数

            《深度学习入门笔记(三)————BP神经网络算法推导》    f(x)连续 可导。

且导数为《深度学习入门笔记(三)————BP神经网络算法推导》

根据需要也可用双极性Sigmoid函数(双曲线正切函数)

《深度学习入门笔记(三)————BP神经网络算法推导》

3.算法

当实际输出与期望输出不等时,存在误差E,定义为:

《深度学习入门笔记(三)————BP神经网络算法推导》

将误差展开至隐含层:

《深度学习入门笔记(三)————BP神经网络算法推导》

再进一步展开至输入层:

《深度学习入门笔记(三)————BP神经网络算法推导》

可以看出,网络误差是指各层权值《深度学习入门笔记(三)————BP神经网络算法推导》的函数,因此调整权值可改变误差。

误差函数也称目标函数或代价函数。

调整权值的原则是使误差不断减小,以此应使权值的调整量与误差梯度下降成正比,即:

《深度学习入门笔记(三)————BP神经网络算法推导》   j=0,1,2,…,m       k=1,2,…,l

《深度学习入门笔记(三)————BP神经网络算法推导》     i=0,1,2,…,n       j=1,2,…,m

其中,’-‘表示梯度下降,常数《深度学习入门笔记(三)————BP神经网络算法推导》《深度学习入门笔记(三)————BP神经网络算法推导》(0,1)表示比例系数,即学习速率。属于《深度学习入门笔记(三)————BP神经网络算法推导》学习规则类,称为误差的梯度下降算法。

 

4.BP算法推导

首先定义,在推导中输出层为j=0,1,..,m,   k=1,2,…,l。 隐含层为i=0,1,2,…,n   j=1,2,..,m, 

 

《深度学习入门笔记(三)————BP神经网络算法推导》

 

《深度学习入门笔记(三)————BP神经网络算法推导》

 对于一般多层感知器,设一共有h个隐含层,按照前向的顺序各隐含层节点分别为:《深度学习入门笔记(三)————BP神经网络算法推导》, 各隐含层输出分别为《深度学习入门笔记(三)————BP神经网络算法推导》,各层权值矩阵分别为《深度学习入门笔记(三)————BP神经网络算法推导》,则各层权值调整计算公式为

输出层:

《深度学习入门笔记(三)————BP神经网络算法推导》     j=0,1,2,…,《深度学习入门笔记(三)————BP神经网络算法推导》   k=1,2,…,l

第h隐含层:

《深度学习入门笔记(三)————BP神经网络算法推导》    i=0,1,2,…,《深度学习入门笔记(三)————BP神经网络算法推导》   j=1,2,…,《深度学习入门笔记(三)————BP神经网络算法推导》

 

 

    原文作者:神经网络算法
    原文地址: https://blog.csdn.net/u013539952/article/details/82656177
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞