数学建模BP神经网络论文设计

实用标准文档

BP神经网络

算法原理:

输入信号xi通过中间节点(隐层点)作用于输出节点,经过非线形变换,产生输出信号yk,网络训练的每个样本包括输入向量x和期望输出量d,网络输出值y与期望输出值d之间的偏差,通过调整输入节点与隐层节点的联接强度取值wij和隐层节点与输出节点之间的联接强度Tjk以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。

变量定义:

设输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元 输入向量:x??x1,x2,,xn?

,hip?

隐含层输入向量:hi??hi1,hi2,隐含层输出向量:ho??ho1,ho2,输出层输入向量:yi??yi1,yi2,输出层输出向量:yo??yo1,yo2,期望输出向量: do??d1,d2,,hop? ,yiq? ,yoq?

,dq?

输入层与中间层的连接权值: wih 隐含层与输出层的连接权值: who 隐含层各神经元的阈值:bh 输出层各神经元的阈值: bo 样本数据个数: k?1,2,激活函数: f???

1q误差函数:e??(do(k)?yoo(k))2

2o?1m

文案大全

实用标准文档

算法步骤:

Step1.网络初始化 。给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精度值?和最大学习次数M。

Step2.随机选取第k个输入样本x(k)??x1(k),x2(k),,xn(k)?及对应期望输出

do(k)??d1(k),d2(k),,dq(k)?

nStep3.计算隐含层各神经元的输入hih(k)??wihxi(k)?bh?h?1,2,i?1,p?和输出

hoh(k)?f(hih(k)),??h?1,2,pyio(k)??whohoh(k)?bo?o?1,2,h?1p及

输出层各神经元的输入

q?和输出yoo(k)?f(yio(k))?o?1,2,,p?

Step4.利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数?o(k)。

?e?e?yio? ?who?yio?who?yio(k)??who?(?whohoh(k)?bo)hp?who?hoh(k)

1q?(?(do(k)?yoo(k)))2?e2o?1?(k) ???(do(k)?yoo(k))yoo?yio?yio??(do(k)?yoo(k))f?(yio(k))??o(k)Step5.利用隐含层到输出层的连接权值、输出层的?o(k)和隐含层的输出计算误差函数对隐含层各神经元的偏导数?h(k)。

?e?e?yio????o(k)hoh(k) ?who?yio?who?e?e?hih(k)??wih?hih(k)?wih?hih(k)??wih?(?wihxi(k)?bh)i?1n

?wih?xi(k)文案大全

实用标准文档

1q?(?(do(k)?yoo(k))2)?hoh(k)?e2o?1??hih(k)?hoh(k)?hih(k)1q?(?(do(k)?f(yio(k)))2)?hoh(k)2o?1??hoh(k)?hih(k)p1q?(?((do(k)?f(?whohoh(k)?bo)2))?hoh(k)2o?1h?1?

?hoh(k)?hih(k)???(do(k)?yoo(k))f?(yio(k))whoo?1q?hoh(k)?hih(k)??(??o(k)who)f?(hih(k))o?1q??h(k)Step6.利用输出层各神经元的?o(k)和隐含层各神经元的输出来修正连接权值

who(k)。

?who(k)????e???o(k)hoh(k)?who

N?1Nwho?who???o(k)hoh(k)Step7.利用隐含层各神经元的?h(k)和输入层各神经元的输入修正连接权wih(k)。

?wih(k)????e?e?hih(k)?????h(k)xi(k)?wih?hih(k)?wih

N?1Nwih?wih???h(k)xi(k)Step8.计算全局误差。

1mqE?(do(k)?yo(k))2 ??2mk?1o?1Step9.判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的

最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。

文案大全

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4