资源描述:
《数学建模神经网络之算法课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、神经网络算法在数模中的应用实际应用问题1、蠓虫的分类问题2、DNA序列分类问题3、癌症诊断问题……一、引例1981年生物学家格若根(W.Grogan)和维什(W.Wirth)发现了两类蚊子(或飞蠓midges).他们测量了这两类蚊子每个个体的翼长和触角长,数据如下:翼长触角长类别1.641.38Af1.821.38Af1.901.38Af1.701.40Af1.821.48Af1.821.54Af2.081.56Af翼长触角长类别1.781.14Apf1.961.18Apf1.861.20Apf1.721.24Af2.001.26Apf2.001.28Apf1.961.30Apf1.741.3
2、6Af问:若抓到三只新的蚊子,它们的触角长和翼长分别为(1.24,1.80);(1.28,1.84);(1.40,2.04).问它们应分别属于哪一个种类?把翼长作纵坐标,触角长作横坐标;那么每个蚊子的翼长和触角决定了坐标平面的一个点.其中6个蚊子属于APf类;用黑点“·”表示;9个蚊子属Af类;用小圆圈“。”表示.得到的结果见图1图1飞蠓的触角长和翼长一、引例1989年美国大学生数学建模问题BP网络(Back-PropagationNetwork)目前,在人工神经网络的实际应用中,决大部分的神经网络模型是采用BP网络和它的变化形式。BP网络主要用于:◆函数逼近◆模式识别◆分类◆数据压缩学习过程
3、由信号的正向传播与反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望输出(教师信号)不符合时,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此信号作为修正各单元权值的依据。BP算法的基本思想:x1x2xixn-1xn……y1y2yjym……W1WkWlo1okol……输入层隐层输出层隐层到输出层之间的权值矩阵:W=[W1,W2,…,Wl]1、网络结构2、各层信号之间的数学关系输出层ok=f(netk),netk=∑j=0:mwjkyj,k=
4、1,2,…,l,对隐层yk=f(netj),netj=∑i=0:nvijxi,j=1,2,…,m,传递函数一般用:f(x)=1/(1+exp(-x))(s型函数)误差函数:Eh=0.5*(∑j=0:l(thj-ohj)2),thj,ohj分别为期望输出和网络的实际输出。MATLAB中有关BP网络的重要函数newff创建前向BP网络格式:net=newff(PR,[S1S2...SNl],{TF1TF2...TFNl},BTF,BLF,PF)其中:PR——R维输入元素的R×2阶最大最小值矩阵;Si——第i层神经元的个数,共N1层;TFi——第i层的转移函数,默认‘tansig’;BTF——BP网
5、络的训练函数,默认‘trainlm’;BLF——BP权值/偏差学习函数,默认’learngdm’PF——性能函数,默认‘mse’;(误差)MATLAB中有关BP网络的重要函数例如:net=newff([020;016;012;012;013],[51],{'logsig''purelin'},'traingdx');三层神经网络结构:中间层为5输出层为1输入层5维向量的取值范围训练函数转移函数(1)purelin——线性传递函数;(2)tansig——双曲正切S型(sigmoid)传递函数;(3)logsig——对数S型(sigmoid)传递函数;1、转移函数:(1)(2)(3)2、训练函数:
6、trainlm——Levenberg-Marquardt的BP算法训练函数;trainbfg——BFGS拟牛顿BP算法训练函数;trainrp——具有弹性的BP算法训练;traingd——梯度下降是BP算法训练;traingda——梯度下降自适应lr的BP算法训练;traingdm——梯度下降动量的BP算法训练;traingdx——梯度下降动量和自适应lr的BP算法训练;如果对神经网络的输入、输出数据进行一定的预处理,可以加快网络的训练速度。有三种方法:1)归一化将每组数据都变为-1至1之间的数,matlab中有函数:premnmx,postmnmx,tramnmx算法:pn=2*(p-min
7、p)/(maxp-minp)-1;2)标准化将每组数据变换为均值为0,方差为1的数,所涉及的函数有:prestd,posttd,trastd3)正交化主成分分析也可以将数据进行正交处理,减少输入数据的处理,函数有:prepca,trapca.注意:数据预处理范例:DNA序列模式分类问题一、问题假定已知两组人工已分类的DNA序列(20个已知类别的人工制造的序列),其中序列标号1—10为A类,11-2