神经网络

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1MATLAB与数字信号处理神经网络26、神经网络技术6.1神经网络概述6.2感知机模型6.3图象增强6.4图象分割6.536.1神经网络概述神经网络的概念(ANN)神经网络技术的发展历史目前神经网络技术的研究神经网络已经应用到很多领域:如智能控制,模式识别,信号处理,计算机视觉,优化计算,知识处理,生物医学工程等。到目前为止,神经网络的模型有上百种,常用的也有几十种。国际上对神经网络的研究非常火热。4神经网络的优点自学习特性;非线性映射能力;自组织特性;鲁棒性;56.2感知机模型1.基本感知机(二层网络)输入层单元:接收外部输入模式,并传给输出层单元输出层单元:对输入模式处理,产生输出模式。输出为二进制,两层间全互连,权值可调最简单的感知机:M--P模型6单层感知器模型定义加权系数wij为第i个神经元到第j个神经元之间的连接值)2121hardlim(iininiiibppp个输出第72.MATLAB实现例:采用单一感知器神经元解决一个简单的分类问题:将四个输入矢量分为两类,其中两个矢量对应的目标值为1,另两个矢量对应的目标值为0,即输入矢量:P=[-0.5–0.50.30.0;-0.50.5-0.51.0]目标分类矢量:T=[1.01.00.00.0]8解首先定义输入矢量及相应的目标矢量:P=[-0.5–0.50.30.0;-0.50.5-0.51.0];T=[1.01.00.00.0];输入矢量可以用图来描述,对应于目标值0的输入矢量用符号‘0’表示,对应于目标值1的输入矢量符号‘+’表示。9下面给出本例的MATLAB程序%Example%NEWP——建立一个感知器神经元%INIT——对感知器神经元初始化%TRAIN——训练感知器神经元%SIM——对感知器神经元仿真clc%P为输入矢量P=[-0.5-0.5+0.3+0.0;-0.5+0.5-0.51.0];%T为目标矢量T=[1100];pause10%绘制输入矢量图plotpv(P,T);pause%定义感知器神经元并对其初始化net=newp([-0.50.3;-0.51],1);net.initFcn='initlay';net.layers{1}.initFcn='initwb';net.inputWeights{1,1}.initFcn='rands';net.layerWeights{1,1}.initFcn='rands';net.biases{1}.initFcn='rands';net=init(net);plotpc(net.iw{1,1},net.b{1})pause11%训练感知器神经元net=train(net,P,T);pause%绘制结果分类曲线plotpv(P,T)plotpc(net.iw{1,1},net.b{1});pause%利用训练完的感知器神经元分类p=[-0.5;0];a=sim(net,p)echooff12-0.8-0.6-0.4-0.200.20.40.6-1-0.500.511.5VectorstobeClassifiedP(1)P(2)-0.8-0.6-0.4-0.200.20.40.6-1-0.500.511.5VectorstobeClassifiedP(1)P(2)00.511.522.5300.10.20.30.40.50.60.70.80.913EpochsTraining-BlueGoal-BlackPerformanceis0,Goalis0-0.8-0.6-0.4-0.200.20.40.6-1-0.500.511.5VectorstobeClassifiedP(1)P(2)13训练结束后得到的分类结果,分类线将两类输入矢量分开,其相应的训练误差的变化图看出,经过几步训练后,就达到了误差指标的要求。p=[-0.5;0];a=sim(net,p)结果:a=114自适应线性元件模型是由美国斯坦福大学的Widrow和Hoff于1961年提出的。LMS学习规则(LeastMeanSquare)有导师学习(监督学习)在信号处理中:自适应滤波、预测、噪声消除§6.3自适应线性元件1516例:设计自适应线性元件实现输入矢量到输出矢量的变换关系。输入矢量P=[1.0-1.2]输出矢量T=[0.51.0]err_goal=0.001Max_epoch=200学习因子:0.117net=newlin([-1.21],1,[01],0.1);net=init(net);P1=[1.0-1.2];T1=[0.51.0];net.trainParam.epochs=200;net.trainParam.goal=0.001;net=train(net,P1,T1);Y=sim(net,P1)186.4多层前向神经网络模型多层前向神经网络输入层:接收外部输入模式,传递给隐层隐层:内部处理输出层:产生输出模式即信号从输入层输入,经隐层传给输出层,由输出层得到输出信号。19BP实现多层网络学习过程:正向传播和反向传播组成正向传播:对一给定的输入模式,由输入层传到隐层单元,经隐层单元的逐层处理后,传到输出层产生输出模式。若输出层不能得到期望的输出,转入反向传播。反向传播:将误差信号延原来的连接通路返回,通过修改各神经元的权值,使得误差信号减小。有导师学习对简单δ规则的推广。梯度最速下降法20例:函数逼近应用三层BP网络来完成函数逼近的任务,其中隐层的神经元个数选为5个。21解首先定义输入样本和目标矢量P=-1:.1:1;T=[-.9602-.5770-.0729.3771.6405.6600.4609.1336-.2013-.4344-.5000-.3930-.1647.0988.3072.3960.3449.1816-.0312-.2189-.3201];建立网络:newff(PR,[S1S2...SNl],{TF1TF2...TFNl},BTF,BLF,PF)进行训练:net=train(net,P,T);22下图给出了网络输出值随训练次数的增加而变化的过程,并给出了454次训练后的最终网络结果,以及网络的误差纪录。训练100次的结果训练300次的结果训练400次的结果23训练结束后的网络输出与误差结果24基于Simulink的神经网络设计基于GUI的神经网络设计256.5Hopfield网络单层全互连含有对称突触连接的反馈网络26例含有两个神经元的Hofield网络设计稳定点:解:建立:net=newhop(T);测试:[Y,Pf,Af]=sim(net,2,[],P);记忆样本随机产生矢量随机产生25矢量[1-1;-11]P[1-1;-11]T276.6竞争神经网络竞争神经网络:更接近于人脑工作特性特点:竞争层,竞争层神经元相互竞争以确定胜者。思路:竞争单元争相响应输入模式,胜者表示输入模式的所属类别。28无导师学习:学习时只需给定一个输入模式集作为训练集,网络自组织训练模式,并将其分成不同类型。竞争层:许多网络的重要组成部分。Hamming,SOM,LVQ,CPN,ART29例:竞争网络的聚类实验随机产生呈聚类分布的测试数据80个,用竞争网络分类P=nngenc(X,clusters,points,std_dev);net=newc([01;01],8,.1);net.trainParam.epochs=10;net=train(net,P);-0.200.20.40.60.811.2-0.200.20.40.60.811.2InputVectorsp(1)p(2)-0.200.20.40.60.811.2-0.200.20.40.60.811.230训练3次训练结束(10次)测试:p=[0.1;0.2];a=sim(net,p)p=[0.9;0.8];a=sim(net,p)p=[0.5;0.5];a=sim(net,p)a=(1,1)1a=(2,1)1a=(5,1)1-0.200.20.40.60.811.2-0.200.20.40.60.811.2-0.200.20.40.60.811.2-0.200.20.40.60.811.231习题1、设计一个感知器或自适应线性元件,将三维的八组输入矢量分成两类。输入矢量:P=[00001111;00110011;01010101]目标矢量:T=[10001000]322、用BP算法实现函数逼近。说明:1)网络结构为三层(输入层、1个隐层和输出层)2)获取两组数据,一组作为训练集,一组作为测试集3)用训练集训练网络4)用测试集检验训练结果()sin,02fxxx

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功