前言
bp神经网络是模拟人体中神经元结构而设计出来的:
神经元大致可以分为树突、突触、细胞体和轴突。树突为神经元的输入通道,其功能是将其它神经元的动作电位传递至细胞体。其它神经元的动作电位借由位于树突分支上的多个突触传递至树突上。神经细胞可以视为有两种状态的机器,激活时为“是”,不激活时为“否”。神经细胞的状态取决于从其他神经细胞接收到的信号量,以及突触的性质(抑制或加强)。当信号量超过某个阈值时,细胞体就会被激活,产生电脉冲。电脉冲沿着轴突并通过突触传递到其它神经元。
一、什么是bp神经网络
**BP(BackPropagation) **算法是神经网络深度学习中最重要的算法之一,是一种按照误
差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一 。
基本结构如图:
其主要包含三部分(由左到右)
1:输入层:输入数据
2:隐含层:输入与输出之间的数据分析加工厂,通过各种参数(权重,偏差值)以及激活函数等其他数据处理方法与两边建立联系。
3:输出层:输出结果
但是仅仅根据图示进行一次显然无法保证结果的准确,所以接下来涉及两个重要概念:
1:正向传播
输入层的神经元负责接受外界发来的各种信息,并将信息传递给中间层 神经元,中间隐含层神经元负责将接收到的信息进行处理变换,根据需求处理信息, 实际应用中可将中间隐含层设置为一层或者多层隐含层结构,并通过最后一层的隐含层将信息传递到输出层,这个过程就是BP神经网络的正向传播过程。
2:反向传播
当实际输出与理想输出之间的误差超过期望时,就需要进入误差的反向 传播过程。它首先从输出层开始,误差按照梯度下降的方法对各层权值进行修正,并 依次向隐含层、输入层传播。通过不断的信息正向传播和误差反向传播,各层权值会 不断进行调整,这就是神经网络的学习训练。当输出的误差减小到期望程度或者预先设定的学习迭代次数时,训练结束,BP神经网络完成学习。
二、bp神经网络的推导过程
1:隐藏神经元设置方法
如果 BP 神经网络中输入层节点数为 m 个,输出层节点是为 n 个,则由下式式
可推出隐藏层节点数为 s 个。 其中 b 一般为 1-9 的整数。
2:激活函数(举例)
推导采用sigmoid函数
3.推导
正向传播:
反向调整权重:
1:求误差
Etotal:总误差
targert:目标值
output:实际输出值
2.改权值
版权归原作者 zhangshaozhong__ 所有, 如有侵权,请联系我们删除。