BP神经网络的应用

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BP神经网络在分类与预测中的应用
一、 BP神经网络 二、 徽章的分类 三、光催化臭氧氧化处理自来水
BP神经网络模型
三层BP网络的拓扑结构
1.2.3 BP神经网络模型
(1) 激活函数(传输函数) 必须处处可导 一般都使用S型函数
Sigmoid函数
1
对数Sigmoid函数
0.8
0.5
0.6
-2
-1 -0.5
BP神经网络在分类与预测中的应用
二、徽章的分类
徽章问题的背景
徽章 代表姓名 徽章 代表姓名 + Welton Becket + Michael W. Barley - Cristina Baroglio + Haralabos Athanassiou … … … … - Eric Baum + Timothy P. Barber
BP神经网络在分类与预测中的应用
模型一
训练次wenku.baidu.com与训练精度的关系图
BP神经网络在分类与预测中的应用
模型一 将用于训练的输入数据p代入训练后的神经网络, 输出结果为a矩阵 将它和用于训练的目标输出矩 a=sim(net,p) 阵t对比可以看出,吻合得很好 a= Columns 1 through 9 1.0000 0.0000 1.0000 1.0000 0.0000 1.0000 -0.0000 1.0000 1.0000 Columns 10 through 18 1.0000 1.0000 1.0000 1.0000 1.0000 -0.0000 1.0000 -0.0000 1.0000(后面数据略)
BP神经网络在分类与预测中的应用
模型二
>> net=newff([0 25],[100,1],{'logsig','purelin'},'trainlm'); >> net=train(net,p,t); TRAINLM, Epoch 0/100, MSE 36.4541/0, Gradient 10111.3/1e-010 TRAINLM, Epoch 6/100, MSE 0.115783/0, Gradient 7.80296e-013/1e-010 TRAINLM, Minimum gradient reached, performance goal was not met. >> net.trainParam.min_grad= 1e-020; >> net=train(net,p,t); TRAINLM, Epoch 0/100, MSE 0.115783/0, Gradient 7.80296e-013/1e-020 TRAINLM, Epoch 3/100, MSE 0.115783/0, Gradient 1.18794e-012/1e-020 TRAINLM, Maximum MU reached, performance goal was not met.
1.2.4 BP网络学习算法的MATLAB实现
(2) 实例

– %以每三个月的销售量经归一化处理后作为输入 P=[0.5152 0.8173 1.0000 ; 0.8173 1.0000 0.7308; 1.0000 0.7308 0.1390; 0.7308 0.1390 0.1087; 0.1390 0.1087 0.3520; 0.1087 0.3520 0.1065; ]'; – %以第四个月的销售量归一化处理后作为目标向量 T=[0.7308 0.1390 0.1087 0.3520 0.1065 0.3761]; – %创建一个BP神经网络,每一个输入向量的取值范围为[0 ,1],隐含层 有5个神经%元,输出层有一个神经元,隐含层的激活函数为tansig, 输出层的激活函数为%logsig,训练函数为梯度下降函数. net=newff([0 1;0 1;0 1],[5,1],{'tansig','logsig'},'traingd'); net.trainParam.epochs=15000; net.trainParam.goal=0.01; – %设置学习速率为0.1 LP.lr=0.1; net=train(net,P,T);
BP神经网络在分类与预测中的应用
二、徽章的分类
徽章问题的背景 徽章 代表姓名 Merrick L. Furst William Gasarch Yolanda Gil David Gillman Kate Goelz Sally Goldman Geoffrey Gordon 14名未参加会议的代表 徽章 代表姓名
BP神经网络在分类与预测中的应用
二、徽章的分类
徽章问题的背景 徽章 + + + + + + 代表姓名 Naoki Abe David W. Aha Eric Allender Minoru Asada Lars Asker Peter Bartlett Peter Bartlett 徽章 + + + + + 代表姓名 Myriam Abramson Kamal M. Ali Dana Angluin Chidanand Apte Javed Aslam Jose L. Balcazar Jose L. Balcazar
BP神经网络在分类与预测中的应用
模型一
>> net=newff([0 25;0 25;0 25;0 25;0 25],[100,1],{'logsig','purelin'},'trainlm'); //创 建一个神经网络,每个字母所对应的量化值的输入范围0~25,神经网络有2 层,第一层有100个神经元,第二层1个,传递函数分别是S型和线性,训练 方式trainlm。 >> net=init(net); //初始化神经网络 >> net.trainParam.min_grad= 1e-020; //设定最小梯度值,提高训练效果 >> net=train(net,p,t); TRAINLM, Epoch 0/100, MSE 4.78695/0, Gradient 4628.35/1e-020 TRAINLM, Epoch 25/100, MSE 0.000969475/0, Gradient 4.93588/1e-020 TRAINLM, Epoch 50/100, MSE 6.16266e-005/0, Gradient 4.48141/1e-020 TRAINLM, Epoch 72/100, MSE 4.00219e-031/0, Gradient 1.53435e-013/1e-020 TRAINLM, Maximum MU reached, performance goal was not met.
BP神经网络在分类与预测中的应用
模型一 将14个待分类的人名的前五个字母编码输入神经网 络,得到的结果如下:
a=sim(net,n) a= Columns 1 through 8 1.3889 0.8504 1.0000 0.9551 -0.0006 -0.0515 1.0000 -0.7714 Columns 9 through 14 1.0776 0.9977 2.0655 0.4673 0.4794 1.0000
Jean Gabriel Ganascia
Ricard Gavalda Melinda T. Gervasio Attilio Giordana Paul W. Goldberg Diana Gordon Jonathan Gratch
BP神经网络在分类与预测中的应用
二、徽章的分类
14名未参加会议的代表 徽章 代表姓名 徽章 代表姓名 ? Merrick L. Furst ? Jean Gabriel Ganascia ? William Gasarch ? Ricard Gavalda ? Yolanda Gil ? Melinda T. Gervasio ? David Gillman ? Attilio Giordana ? Kate Goelz ? Paul W. Goldberg ? Sally Goldman ? Diana Gordon ? Geoffrey Gordon ? Jonathan Gratch 徽章问题的背景
1
2
0.4
0.2
-1
-2
-1
1
1 e f ( x) 1 e 2 x
2 x
1 f ( x) 1 e 2 x
1.2.3 BP神经网络模型
(2)使用S型激活函数时BP网络输入与输出关系 输入 net x1w1 x2 w2 ... xn wn b 1 输出 y f (net ) 1 e net
可以看到,这个结果不是很好, 由很多介于0和1之间 的数字,从这里的分析可以看出,选取字母的编码作为特 征值是合理的,但需要对特征值的选取方案进行细化。
BP神经网络在分类与预测中的应用
模型二
对所给出的280个人名取特征值,我们将人名的第一
个字母的进行编号,a ~ z分别对应 0 ~ 25,并将这些特 征值带入到BP网络中去进行训练,具体程序如下:
BP神经网络在分类与预测中的应用
初始化 给定导师信号
计算个节点网络输出
计算反向误差 权值学习 N
学习结束? Y 对测试样本分类
结束
BP神经网络在分类与预测中的应用
模型一 我们先做第一种尝试,将人名的前五个字母进行 编号,a ~ z 分别对应 0 ~ 25,即每个人名的特征值是 一个长度为5的一维列向量,总共280个人名就是个5*280 的矩阵p,作为网络输入。将题目中的徽章问题量化, 假设徽章为+则为1, 徽章为-则为0, 就形成一个1*280 的矩阵t,作为目标输出。 将这些特征值作为训练样本, 通过Matlab的工具箱 对BP分类算法进行训练,并确定权值,具体程序,注 释及结果如下:
BP网络学习算法的MATLAB实现
例 下表为某药品的销售情况,
月份 销量 月份 销量 1 2056 7 1873 2 2395 8 1478 3 2930 9 1900 4 2298 10 1500 5 1634 11 2046 6 1600 12 1556
现构建一个如下的三层BP神经网络对药品的销售进行预测:输入 层有三个结点,隐含层结点数为5,隐含层的激活函数为tansig;输 出层结点数为1个,输出层的激活函数为logsig,并利用此网络对药品 的销售量进行预测,预测方法采用滚动预测方式,即用前三个月的销 售量来预测第四个月的销售量,如用1、2、3月的销售量为输入预测 第4个月的销售量,用2、3、4月的销售量为输入预测第5个月的销售 量.如此反复直至满足预测精度要求为止。
从训练情况可以看出,在误差值比较大的时候训练就 停止了,将输入p带入训练后的矩阵,发现输出结果与t很 不一致,说明这里找不到分类的规律。

• • • • •
1.2.4 BP网络学习算法的MATLAB实现
(2) 实例 BP网络应用于药品预测对比图
由对比图可以看出预测效果与实际存在一定误差,此误 差可以通过增加运行步数和提高预设误差精度使其进一 步缩小
BP神经网络在分类与预测中的应用
二、徽章的分类
徽章问题的背景 徽章问题是一个典型的分类问题。我们可以用一 个具体的例子描述:在某个国际会议上,参加会议的 280名代表每人收到会议组织者发给一枚徽章,徽章 的标记为“+”或“-”。会议的组织者声明:每位 代表得到徽章“+”或“-”的标记只与他们的姓名 有关,并希望代表们能够找出徽章“+”与“-”的 分类方法。由于客观原因,有14名代表没能参加此次 会议。按照代表们找出的方法判断,如果他们参加会 议将得到的徽章类型。
x1
x2
w1 w2

xk
wk wn

net
传输函数 f ( )
y f ( net )
输出端y

xn
输入端
1.2.3 BP神经网络模型
(2)使用S型激活函数时BP网络输入与输出关系 输入 net x1w1 x2 w2 ... xn wn b 1 输出 y f (net ) 1 e net 1 1 输出的导数 f '(net ) y (1 y ) - net net 2 1 e (1 e ) 根据S型激活函数的图形可 知,对神经网络进行训练, 应该将net的值尽量控制在 收敛比较快的范围内.
相关文档
最新文档