BP神经网络的应用
BP神经网络在分类与预测中的应用
一、 BP神经网络 二、 徽章的分类 三、光催化臭氧氧化处理自来水
BP神经网络模型
三层BP网络的拓扑结构
1.2.3 BP神经网络模型
(1) 激活函数(传输函数) 必须处处可导 一般都使用S型函数
Sigmoid函数
1
对数Sigmoid函数
0.8
0.5
0.6
-2
-1 -0.5
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 徽章问题的背景
从训练情况可以看出,在误差值比较大的时候训练就 停止了,将输入p带入训练后的矩阵,发现输出结果与t很 不一致,说明这里找不到分类的规律。
可以看到,这个结果不是很好, 由很多介于0和1之间 的数字,从这里的分析可以看出,选取字母的编码作为特 征值是合理的,但需要对特征值的选取方案进行细化。
BP神经网络在分类与预测中的应用
模型二
对所给出的280个人名取特征值,我们将人名的第一
个字母的进行编号,a ~ z分别对应 0 ~ 25,并将这些特 征值带入到BP网络中去进行训练,具体程序如下:
•
• • • • •
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的值尽量控制在 收敛比较快的范围内.
BP神经网络在分类与预测中的应用
模型一
训练次数与训练精度的关系图
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(后面数据略)
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
BP神经网络在分类与预测中的应用
初始化 给定导师信号
计算个节点网络输出
计算反向误差 权值学习 N
学习结束? Y 对测试样本分类
结束
BP神经网络在分类与预测中的应用
模型一 我们先做第一种尝试,将人名的前五个字母进行 编号,a ~ z 分别对应 0 ~ 25,即每个人名的特征值是 一个长度为5的一维列向量,总共280个人名就是个5*280 的矩阵p,作为网络输入。将题目中的徽章问题量化, 假设徽章为+则为1, 徽章为-则为0, 就形成一个1*280 的矩阵t,作为目标输出。 将这些特征值作为训练样本, 通过Matlab的工具箱 对BP分类算法进行训练,并确定权值,具体程序,注 释及结果如下:
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
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神经网络在分类与预测中的应用
二、徽章的分类
徽章问题的背景
徽章 代表姓名 徽章 代表姓名 + Welton Becket + Michael W. Barley - Cristina Baroglio + Haralabos Athanassiou … … … … - Eric Baum + Timothy P. Barber
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],[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.