精品文档,仅供学习与交流,如有侵权请联系网站删除
【精品文档】第 1 页
一:BP算法程序流程图
结 束
参数初始化,最大训练次数,学习精度,隐节点数,初始权值、阈值,初始学习速率等
批量输入学习样本并且对输
入和输出量进行归一化处理
计算各层的输入和输出值
计算输出层误差E(q)
E(q)<ε
修正权值和阈值
Yes
N
Yes
开 始
二.变量归一化
X=(X-minX)/(maxX-minX),对每一组样本中的每个变量都要进行归一化。
例子:
变量一(x1)
变量二(x2)
变量三(x3)
变量四(x4)
结果Tk
样本一
1
2
2
4
0
样本二
5
6
7
8
1
样本三
9
10
11
12
2
归一化之后矩阵:
变量一(x1)
变量二(x2)
变量三(x3)
变量四(x4)
结果Tk
样本一
(1-1)/(9-1)
(2-2)/(10-2)
(2-2)/(11-2)
(4-4)/(12-4)
(0-0)/(2-0)
样本二
(5-1)/(9-1)
(6-2)/(10-2)
(7-2)/(11-2)
(8-4)/(12-4)
(1-0)/(2-0)
样本三
(9-1)/(9-1)
(10-2)/(10-2)
(11-2)/(11-2)
(12-4)/(12-4)
(2-0)/(2-0)
三.数学过程
精品文档,仅供学习与交流,如有侵权请联系网站删除
【精品文档】第 2 页
…
…
…
…
…
…
输出变量
输入变量
输入层
隐含层
输出层
输出层中M=14,隐含层中q=9,学习率ƞ=,L=1,ε=1e-10,,所以每组样本值输出一个值
一般取初始权值在(-1,1)之间的随机数,初始阈值取(0,1)之间的随机数
表示隐含层第i个节点到输入层第j个节点之间的权值;
表示隐含层第i个节点的阈值;
表示隐含层的激励函数;=1/(1+e-x)
表示输出层第个节点到隐含层第i个节点之间的权值,i=1,…,q;
表示输出层第k个节点的阈值,k=1,…,L;
表示输出层的激励函数,=x;
表示输出层第个节点的输出,k=1。
(1)信号的前向传播过程
隐含层第i个节点的输入neti:
(3-1)
隐含层第i个节点的输出yi:
(3-2)
输出层第k个节点的输入netk,k=1:
(3-3)
精品文档,仅供学习与交流,如有侵权请联系网站删除
【精品文档】第 3 页
输出层第k个节点的输出ok ,k=1:
(3-4)
(2)误差的反向传播过程
误差的反向传播,即首先由输出层开始逐层计算各层神经元的输出误差,然后根据误差梯度下降法来调节各层的权值和阈值,使修改后的网络的最终输出能接近期望值。 Tk为预期输出
对于每一个样本p的二次型误差准则函数为Ep:
BP算法过程 来自淘豆网m.daumloan.com转载请标明出处.