BP( Back Propagation)网络是由Rinehart等于1986年提出的,是一种按误差逆传播算法训练的,多层前馈网络,是目前
应用最广泛的神经网络模型之一。
CBP网络能学习和存储大量的输入、输出模式映射关系,而无须事前揭示描述这种映射关系的数学方程。
C其学习规则是使用梯度下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。
BP神经网络模型拓扑结构包括:
输入层(Input),这一区域相当于外界的刺激,是刺激的来源并且将刺激传递给神经元。
隐藏层( Hide layer),这一区域表示神经元相互之间传递刺激,相当于人脑里面。
输出层(Output layer),这一区域表示神经元经过多层次相互传递后,对外界的反应。
BP反馈机制
简单的描述就是,输入层将刺激传递给隐藏层,隐藏层通过神经元之间,联系的权重和激活函数,将刺激传到输出层,输出层整理隐藏层处理后的刺激,产生最终结果。
若有正确的结果,那么将正确的结果和产生的结果进行比较,得到误差,再逆推对神经网中的链接权重进行反馈修正,从而来完成学习的过程。
这就是BP (Back Propagation)神经网的反馈机制,也是名字的来源,即运用向后反馈的学习机制,来修正神经网中的权
重,最终达到输出正确结果的目的。
双向信号传播
BP算法由数据流的前向(正向)传播和误差信号的反向传播两个过程构成。
C正向传播时,传播方向为输入层-隐层-输出层,每层神经元的状态只影响下一层神经元。
C若在输出层得不到期望的输出,则转向误差信号的反向传播流程。
这两个过程的交替进行
C在权向量空间,执行误差函数梯度下降策略,动态迭代搜索一组权向量。
C使网络误差函数达到最小值,从而完成信息提取,和记忆过程。
正向传播
设BP神经网络的输入层有n个节点,隐层有q个节点,输出层有m个节点,输入层与隐层之间有权值为vki,隐层与输出层之间的权值为wjk,三层神经网络的拓扑结构,如下图所示。
隐层传递函数为1(),输出层的传递函数为2(),则隐层节点的输出为(将阈值写入求和项中,k=1,2,…q)
输出层节点的输出为(j=l,2,…,m):
至此BP网络完成n维空间向量对m维空间的近似映射
反向传播
反向传播,目的是传递误差信号
C所以要进行定义误差函数、输出层权值变化、以及隐层权值变化等操作。
C以上作用可分别以数据公式表达出来:
C式中x1,x2,…,xq为输入信号,wj1,wj2,…,wji,…,wjn为神经元k之权值,uk为线性组合结果,θk为阈值,f ()为激活函数,yk为神经元k的输出。
C若把输入的维数增加一维,则可把阈值θk包括进去。
本文出自 “中科院计算所培训” 博客,谢绝转载!