BP(backpropagation)神经网络学习笔记

本文深入解析BP(Backpropagation)神经网络的工作原理,包括其结构、权重与偏向的计算及更新过程,以及误差反向传播算法。介绍了如何通过迭代调整权重和偏向来最小化网络输出与目标值之间的误差。

BP(backpropagation)神经网络学习笔记

w:权重
θ:偏向
以下是我对B-P神经网络的理解:BP神经网络由3个层组成。上图是一个二层神经网络,下一层的输出都是由上一层计算得来
,最后得出输出层的输出即上图第六个小圆。然后再由此往回递推,计算出新的权重和偏向并更新。以此来减小误差。
:其实我没搞明白神经网络算法的目的是为了什么,我考完试就更新此项。

接下来一步一步整理该算法的计算步骤:

从左往右

已知:w,θ,输入层数据。
未知:4,5,6的输出,设为O4,O5,O6
以O4为例:
I4=x1*w14+…+x3*w344
O4=1/(1+e-I4)

:我看了两篇实现BP网络算法的代码,都没有加上偏向(θ),所以这个偏向是可加不可加的吗?
I:上一层数据与权重(w)相乘再加上偏向(θ)的值;
接下来我们对I这个值进行非线性转化得到各层的输出公式;
即:

O=1/(1+e-I)

从右往左:接下来反向递推出权重和偏向。
首先计算误差:
对于输出层:E6=O6(1-O6)(T6-O6)
T:输出层的标签值,我看过很多关于BP的介绍,我一直以为只有输入层才会初始化,一直没理解输出层也会初始化,写博客也一直卡在这。所以T是程序一开始对输出层的赋值。
所以关于输出层的误差公式是:Ej=Oj(1-Oj)(Tj-Oj)

对于隐藏层误差公式:
Ej=Oj(1-Oj)∑\sumwjkEk
Ek是下一层的误差。

对于权重和偏向的更新:
Δ\DeltaΔwij=lrEjOj
wij=wij+Δ\DeltaΔwij
lr:学习率(learning rate)
此公式中的误差和输出都是对应和权重相连的那个节点。
Δ\DeltaΔθ=lr
Ej
θ=θ+Δ\DeltaΔθ

以上内容就是BP算法的计算步骤。

终止整个算法的条件:
1.设置循环次数。
2.权重的更新低于某个值。
3.误差低于某个值。

:初始的权重,偏向以及学习率都是自己设置的,学习率不需要更新。权重和偏向都是在-1~1或 0.5~-0.5之间。
学习率是0~1之间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值