BP神经网络算法推导

我在这里有提前接触过一些介绍神经元的文章,所以,我不在多废话那些营养不高的单元介绍。在BP 算法推导我相信你一定了解一些基本的内容。所以我直接进入BP的算法推导过程。

BP网络的学习算法-学习过程 正向传播 输入样本-----输入层------各隐层--------输出层 判断是否转入反向传播阶段 若输入层的实际输出(h(x))与期望的输出(y)不符。 误差反传 误差以某种形式在各层表示-----修正各层单元的权值(w或者Θ) 最终结果 网络输出的误差减少到了可以接受的程度(或 进行到预先设定的学习次数为止)

在BP算法推导前,我们一定要学会对激活函数求导。这个是我对激活函数中的一种函数(sigmoid函数)求导过程

 

这个是推导思想的第一步: 输入样本-----输入层------各隐层--------输出层

 

这是一个单元细胞的正向传递过程,

 

这是上面符号对应的推导公式。

正向传递完了,接下来就是判断输出值是不是和预计的想象值一样不一样,不一样就进行反传,修正W和B。这就是推导思想最后一步(输出层 判断是否转入反向传播阶段 若输入层的实际输出(h(x))与期望的输出(y)不符。 误差反传 误差以某种形式在各层表示-----修正各层单元的权值(w或者Θ) 最终结果 网络输出的误差减少到了可以接受的程度(或 进行到预先设定的学习次数为止))在进行推导的时候,我们要先学会梯度梯度下降法的思想和欧几里得法

梯度梯度下降法:为了修正我们的函数曲线使得它越来越接近正确曲线,我们要使用梯度下降法。 在每一个位置求出当前位置函数的梯度,再沿着梯度的反方向(因为我们要减小误差,正方向使函数增加)移动一段距离,也就是每次都顺着坡最陡的方向往下走一步。 梯度即为代价函数对权值向量的每一个元素求偏导:

 欧几里得法:就是目标值减去实际值的平方的二分之一

输出层—->隐含层的参数更新:

 

输出层—->隐含层的B更新:

隐含层—->隐含层的参数更新:

隐含层—->隐含层的简化图:

隐含层—->隐含层的W更新:

隐含层—->隐含层的B更新:

第一次写这个,有不足的地方,有不懂可以私聊我,我来为大家讲解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值