神经网络算法课件完整版_第1页
神经网络算法课件完整版_第2页
神经网络算法课件完整版_第3页
神经网络算法课件完整版_第4页
神经网络算法课件完整版_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

神(Shen)经网络算法第一页,共三十九页。实际应用(Yong)问题1、蠓虫的分类问题2、DNA序列分类问题3、癌(Ai)症诊断问题……第二页,共三十九页。神经网络算法(Fa)简介

感知器感知器(perceptron)是由美国科学家F.Rosenblatt于1957年提出的,其目的是为了模拟人(Ren)脑的感知和学习能力。感知器是最早提出的一种神经网络模型。它特别适合于简单的模式分类问题,如线性可分的形式。第三页,共三十九页。神经网络算(Suan)法简介以两个(Ge)输入的单层感知器神经元为例∑w(1,1)w(1,2)p(1)p(2)nabw——权重;b——阈值如果设w(1,1)=-1,w(1,2)=2,b=1L-b/w(1,2)-b/w(1,1)wp+b>0a=1wp+b<0a=0

单层感知器第四页,共三十九页。

多(Duo)层感知器w(1,1)w(1,2)p1p2na2∑b1∑b2n1a1n2a1∑b1w(2,1)w(2,2)第五页,共三十九页。性能(Neng)指标:均方误差达到最小涉及算(Suan)法注意:单层感知器的局限性是:仅对线性可分问题具有分类能力。第六页,共三十九页。分类问题的(De)MATLAB软件实现以蠓虫分类问(Wen)题为例%输入向量P=[1.24 1.361.381.381.381.41.481.541.561.141.181.21.261.281.3;1.721.741.641.821.91.71.821.822.081.781.961.862.02.01.96];%目标向量T=[111111111000000];%绘制输入向量plotpv(P,T);1)单层感知器∑w(1,1)w(1,2)p(1)p(2)nab第七页,共三十九页。%建立一个感知器net=newp([03;03],1);%绘制输入向量plotpv(P,T);E=1;%初始(Shi)化感知器net=init(net);linehandle=plotpc(net.IW{1},net.b{1});分类问题的MATLAB软(Ruan)件实现第八页,共三十九页。分(Fen)类问题的MATLAB软件实现%修正感知器网络while(sse(E))[net,Y,E]=adapt(net,P,T);%返回学习后的网络,Y是输出,E是误差

linehandle=plotpc(net.IW{1},net.b{1},linehandle);%分界线绘制函(Han)数

drawnow;%更新分界线end;第九页,共三十九页。%利用训练好的感(Gan)知器对未知类别样本进行分类p=[1.24,1.28,1.4;1.8,1.84,2.04];a=sim(net,p);plotpv(p,a);ThePoint=findobj(gca,'type','line');set(ThePoint,'Color','red');holdon;plotpv(P,T);plotpc(net.IW{1},net.b{1});holdoff;disp('Endofpercept')分(Fen)类问题的MATLAB软件实现分类结果:AfApf第十页,共三十九页。以上结果是图形化(Hua)的结果,如下给出数值化(Hua)的结果:mcfl1.mP=[1.24 1.361.381.381.381.41.481.541.561.141.181.21.261.281.3;1.721.741.641.821.91.71.821.822.081.781.961.862.02.01.96];%目标向量T=[111111111000000];%建立一个感知器net=newp([03;03],1);%网络训练次数net.adaptParam.passes=100net=adapt(net,P,T);%返回自适应(Ying)的神经网络%输出仿真结果Y=sim(net,P)%利用训练好的感知器进行分类p=[1.24,1.28,1.4;1.8,1.84,2.04];a=sim(net,p)第十一页,共三十九页。仿真结(Jie)果:Y=Columns1through1111111111100Columns12through150000a=111准确率达(Da)到100%。第十二页,共三十九页。BP网(Wang)络(Back-PropagationNetwork)

目前,在人工神经(Jing)网络的实际应用中,决大部分的神经(Jing)网络模型是采用BP网络和它的变化形式。BP网络主要用于:

◆函数逼近

◆模式识别

分类

◆数据压缩第十三页,共三十九页。

学习过程由信号的正向传播与反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望输出(教师信号)不符合时,则转入误差的反向传播阶(Jie)段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此信号作为修正各单元权值的依据。BP算(Suan)法的基本思想:第十四页,共三十九页。x1x2xixn-1xn……y1y2yjym……W1WkWlo1okol……输入层隐层输出层隐(Yin)层到输出层之间的权值矩阵:W=[W1,W2,…,Wl]1、网络结(Jie)构2、各层信号之间的数学关系输出层ok=f(netk),netk=∑j=0:mwjkyj,k=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网络(Luo)的重要函数newff创建前向BP网络(Luo)格式:net=newff(PR,[S1S2...SNl],{TF1TF2...TFNl},BTF,BLF,PF)

其中:PR——R维输入元素的R×2阶最大最小值矩阵;

Si——

第i层神经元的个数,共N1层;

TFi——

第i层的转移函数,默认‘tansig’;

BTF——BP网络的训练函数,默认‘trainlm’;BLF——BP权值/偏差学习函数,默认’learngdm’PF——

性能函数,默认‘mse’;(误差)第十六页,共三十九页。MATLAB中有(You)关BP网络的重要函数例(Li)如:net=newff([020;016;012;012;013],[51],{'logsig''purelin'},'traingdx');三层神经网络结构:中间层为5输出层为1输入层5维向量的取值范围训练函数转移函数第十七页,共三十九页。(1)purelin——

线性(Xing)传递函数;(2)tansig——

双曲正切S型(sigmoid)传递函数;(3)logsig——

对数S型(sigmoid)传递函数;1、转(Zhuan)移函数:(1)(2)(3)第十八页,共三十九页。2、训练(Lian)函数:trainlm——Levenberg-Marquardt的BP算(Suan)法训练函数;trainbfg——BFGS拟牛顿BP算法训练函数;trainrp

——

具有弹性的BP算法训练;traingd

——

梯度下降是BP算法训练;traingda

——

梯度下降自适应lr的BP算法训练;traingdm——梯度下降动量的BP算法训练;traingdx——梯度下降动量和自适应lr的BP算法训练;第十九页,共三十九页。

如果对神经网络的输入、输出数(Shu)据进行一定的预处理,可以加快网络的训练速度。有三种方法:

1)归一化将每组数据都变为-1至1之间的数,matlab中有函数:premnmx,postmnmx,tramnmx算法:

pn=2*(p-minp)/(maxp-minp)-1;2)标准化将每组数据变换为均值为0,方差为1的数,所涉及的函数有:prestd,posttd,trastd3)正交化主成分分析也可以将数据进行正交处理,减少输入数据的处理,函数有:prepca,trapca.注意(Yi):数据预处理第二十页,共三十九页。输入向量P=[012345678910];期望(Wang)输出T=[01234321234];例(Li):创建两层的BP网络:net=newff

(

[010],

[51],

{'tansig','purelin'}

);Y=sim(net,P);plot(P,T,P,Y,'o')或net.trainParam.epochs=50;net=train(net,P,T);Y=sim(net,P);plot(P,T,P,Y,'o')第二十一页,共三十九页。Y=-2.3431-2.7532-2.4510-1.2784-0.8590-0.29810.24950.48111.03751.22681.4232T=[01234321234];%期望(Wang)输出第一种情况(Kuang)的输出结果:误差很大!未训练,非线性映射能力差。第二十二页,共三十九页。Y=-0.00191.00451.98963.01573.96373.10211.81751.20561.83223.11623.9551T=[01234321234];%期(Qi)望输出第二种情况(Kuang)的输出结果:思考:究竟误差有多大?第二十三页,共三十九页。修改(Gai)程序:P=[012345678910];T=[01234321234];net=newff([010],[51],{'tansig''purelin'});net.trainparam.show=50;%每次循环50次net.trainParam.epochs=500;%最大循环500次net.trainparam.goal=0.01;%期望目标误差最小值net=train(net,P,T);%对网络进行反复训练Y=sim(net,P)Figure%打开另外一(Yi)个图形窗口plot(P,T,P,Y,'o')第二十四页,共三十九页。Y=0.00051.00261.99473.01343.9429

3.12111.84821.17551.85683.11503.9595第二种情况的输出(Chu)结果:第二十五页,共三十九页。范(Fan)例:DNA序列模式分类问题一、问(Wen)题

假定已知两组人工已分类的DNA序列(20个已知类别的人工制造的序列),其中序列标号1—10为A类,11-20为B类。要求我们从中提取已经分类了的DNA序列片段的特征和构造分类方法,并且还要衡量所用分类方法的好坏,从而构造或选择一种较好的分类方法。测试对象是20个未标明类别的人工序列(标号21—40)和182个自然DNA序列。例如A类:第二十六页,共三十九页。a1='aggcacggaaaaacgggaataacggaggaggacttggcacggcattacacggaggacgaggtaaaggaggcttgtctacggccggaagtgaagggggatatgaccgcttgg';b1='gttagatttaacgttttttatggaatttatggaattataaatttaaaaatttatattttttaggtaagtaatccaacgtttttattactttttaaaattaaatatttatt';……第二十七页,共三十九页。二(Er)、特征提取

序列中含有四个碱基a、g、t、c,反映该序列特征的(De)方面主要有两个:1、碱基的含量,反映了该序列的内容;

统计a、g、t、c序列中分别出现的频率;2、碱基的排列情况,反映了该序列的形式;①从字符出现的周期性来反映。②统计三个字符出现的频率;在遗传学中每三个碱基的组合被称为一个密码子,如agg,att,ggc,cgg等,共有43=64个,还可以由密码子组成20个氨基酸。第二十八页,共三十九页。三、神经网络对DNA序列分类问题(Ti)的应用

假定提取已知序列类别的三字(Zi)符串,如agg,att,ggc,cgg……,共有43=64个,将它简化成只有5个:ttt,tta,ggc,cgg,gga。统计出任意一个DNA序列片段的5维向量,即每个特征字符串在序列中出现的频数作为分量。a1='aggcacggaaaaacgggaataacggaggaggacttggcacggcattacacggaggacgaggtaaaggaggcttgtctacggccggaagtgaagggggatatgaccgcttgg';编程统计出该片段的字符串(ttt,tta,ggc,cgg,gga)的频数分别为:(0,1,5,7,10)第二十九页,共三十九页。经过(Guo)统计计算,得到已知类别的输入向量:p=[01051322211918231743122171923;12041114011315131199214127;5580109571190010003100;71016211965860001003200;10111521112129562111011011];待判类别(Bie)的输入向量:P=[9231331531032659222216218;744859612331247324410210;00415021702204213121;02801150701303311102;23912181502115413112];第三十页,共三十九页。由前20个已知类别的(De)DNA序列片段可以构造出目标向量:t=[11111111110000000000];1、应用感知器对(Dui)DNA序列进行分类:(DNAper1.m)net=newp([01;01;01;01;01],1);net.adaptParam.passes=110net=adapt(net,p,t);Y=sim(net,p)%回代检验a=sim(net,P)%对待判类别的序列进行分类A类B类第三十一页,共三十九页。a=01100010100001101000回代检验结果是100%的准确(Que)。待判序列的分类结果:A类:22,23,27,29,34,35,37;B类:21,24,25,26,28,30,31,32,

33,36,38,39,40;输(Shu)出结果:第三十二页,共三十九页。a=01100010100001101000并(Bing)附图形:获得数值分类结果:(DNAper.m)net=newp([01;01;01;01;01],1);net.adaptParam.passes=110net=adapt(net,p,t);Y=sim(net,p)%回代检验(Yan)a=sim(net,P)%对待判类别的序列进行分类输出结果:第三十三页,共三十九页。误差(Cha)曲线图第三十四页,共三十九页。2、应用BP网络对DNA序列进行分类:(DNAbp.m)net=newff([020;016;012;012;013],[31],{'logsig''purelin'},'traingdx');net.trainparam.show=100;%两次(Ci)显示之间的训练步数net.trainparam.lr=0.5;net.trainparam.mc=0.8;net.trainparam.epochos=20000;net.trainparam.goal=0.01;%训练目标[net,tr]=train(net,p,t);Y=sim(net,p)a=sim(net,P)第三十五页,共三十九页。Y=1.0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论