BP学习算法
-------尹阳阳,魏永强,陈泽浩,
贾炎超,刘志鹏
反向传播算法人工神经网络(BP人工神经网络)是80年代初发展起来的人工神经网络中最有实用价值的部分之一。早在1969年,感知器的提出者M. Misky 和S. Papert 在他们的Perceptron 专著中指出:简单的线性感知器只能解决线性可分样本的分类问题。简单的线性感知器仅有一层计算单元,而要实现对复杂函数的逼近,必须采用多层前馈网络。于1988年Rumelhart lalland 提出了多层前馈网络的反向传播算法(BP算法),解决了感知器不能解决的多层网络学习算法的问题,其关键是引入了反向传播的误差信号来解决学习问题。 反向传播算法在多层前馈神经网络上学习,这种神经网络的一个例子如图所示:
1
x
2
x
m
x
Y1
Y2
yp
Wmi
Wij
Wjp
i=(1,2,….J)
j=(1,2,…J)
含有两个隐含层的BP网络
BP网络的标准学习算法
学习的过程:
神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。
学习的本质:
对各连接权值的动态调整
学习规则:
权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。
BP网络的标准学习算法-算法思想
学习的类型:有导师学习
核心思想:
将输出误差以某种形式通过隐层向输入层逐层反传
学习的过程:
信号的正向传播误差的反向传播
将误差分摊给各层的所有单元---各层单元的误差信号
修正各单元权值
BP网络的标准学习算法-学习过程
正向传播:
输入样本---输入层---各隐层---输出层
判断是否转入反向传播阶段:
若输出层的实际输出与期望的输出(导师信号)不符
误差反传
误差以某种形式在各层表示----修正各层单元的权值
网络输出的误差减少到可接受的程度
进行到预先设定的学习次数为止
BP学习的具体算法步骤
第一步:设置变量和参量
,为输入向量,或训练样本,N为训练样本的个数。
为第n次迭代输入层与隐含层I之间的的权值向量。
,为第n次迭代隐含层I与隐含层J之间的的权值向量。
,为第n次迭代隐含层J与输出层之间的的权值向量。
,为第n次迭代是网络的实际输出。
,为期望输出。
为学习效率。
n为迭代次数。
第二步,初始化,赋给
各一个较小的随机非零值,
n=0。
第三步,随机输入样本
第四步,对输入样本
,前向计算BP网络每层神经元的输入信号u和输出信号v。
其中
第五步,由期望值输出
和上一步求得的实际输出
计算误差
E(n),
判断是否满足要求,若满足转至第八步;不满足转至第六步。
第六步,判断是否大于最大迭代次数,若大于转至第八步,若不大于,对输入样本,反向计算每层神经元的局部梯度。其中
BP学习算法 来自淘豆网m.daumloan.com转载请标明出处.