您好,欢迎访问三七文档
神经网络学习报告一神经网络的特点及其应用神经网络是一种黑箱建模工具,所谓黑箱建模就是在对研究对象系统一无所知的情况下,将该系统看作“黑匣子”,借助已有的数据,通过数学计算得到系统输入与输出之间的关系。这一方法相对于其他的建模方式具有一下特点:(1)有很强的适应能力(2)有很强的学习能力(3)是多输入多输出的系统随着人们对神经网络的深入的研究,神经网络得以在很多场合都有了应用。尤其是在模式识别,人工智能,信息处理,计算机科学等方面;(1)模式识别及图像处理语音识别,人脸识别,指纹识别,签字识别,字符识别,目标检测与识别,图像压缩和图像还原等;(2)控制及优化工业过程控制,机器人运动控制,家电智能控制,集成电路设计等;(3)预测和信息管理股票市场数据预测,地震预测,证券管理,交通管理,IC卡管理等;(4)通信领域自适应均衡,回波抵消,ATM网络中的呼叫接纳识别以及控制和路由选择等;二人工神经网络的基本模型及其实现人工神经网络是由多个神经元构成的如下图1所示:..神经元的结构如下图2所示:隐含层输出层输入层图1:神经网络的模型结构∑f()X1X2yi。。。。。。Wi1WinWi2XnWi0X0=-1图2:人工神经元模型图中X1——Xn是该神经元的输入信号,当然此信号有可能来自系统的输入信号,也有可能来自前面的其他神经元。Wij表示从神经元i到神经元j的连接权值,Wi0表示一个阈值。所以神经元i的输入与输出的关系为:1niijjjnetwx(1)iiyfnet(2)neti称为神经元i的净激活,若neti大于零则该神经元处于激活状态,若小于零则处于抑制状态。三BP神经网络的设计BP神经网络的设计步骤如下图:(1)数据的读取数据很少可以直接在程序中给出,则无需读取。若数据很多,可以另外存储在一个text,mat文件中使用load函数就这可以直接读取。(2)数据归一化数据归一化就是把实验数据映射到[0,1]或[-1,1]或者更小的区间上。Matlab数据归一化函数有premnmx,postmnmx,tramnmx三个函数;语法为:[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t);[pn]=tramnmx(p,minp,maxp)[p,t]=postmnmx(pn,minp,maxp,tn,mint,maxt)(3)创建神经网络创建神经网络的函数有很多,常用的为newff函数语法为:net=newff(A,B,{C},’trainfun’)其中A我n*2矩阵,第i行的最大值和最小值;B为k维行向量,其元素为网络中各层的神经元个数;C为各层对应的激活函数;trainfun为学习规则采用的学习方法;读取训练和测试数据数据仿真开始训练设置训练参数数据归一化创建神经网络图2:BP神经网络设计步骤(4)训练参数的设置训练参数设置如下:目标误差:net.trainparam.goal;显示中间结果的周期:net.trainparam.show;最大迭代次数:net.trainparam.epochs;学习率:net.trainparam.Ir;(5)训练函数的格式语法:[net,tr,Y1,E]=train(net,X,Y)X为网络输入;Y为网络应有输出;tr为训练跟踪信息;Y1为网络实际输出;E为误差矩阵;(6)参数仿真语法:Y=sim(net,X)其中为网络,X为输入网络的K*N矩阵,K为样本数,N为数据样本数;Y:输出矩阵Q*N,Q为网络输出个数;四MatlabBP神经网络实例实例以Iris的特征和种类数据作为神经网络的测试数据。这种花有三种品种,不同品种之间花的花萼长度,宽度和花瓣长度,宽度不同,本实例目的是为了找到品种和花萼花瓣的特征的对应关系;本实例共150组数据其中75作为训练数据,其中三种花各25组数据;75组数据作为检验样本,三种花依次编号为1,2,3.因此数据有四个输入,三个输出;Matlab程序如下:[f1,f2,f3,f4,class]=textread('trainData.txt','%f%f%f%f%f',150);[input,minI,maxI]=premnmx([f1,f2,f3,f4]');s=length(class);output=zeros(s,3);fori=1:soutput(i,class(i))=1;endnet=newff(minmax(input),[103],{'logsig''purelin'},'traingdx');net.trainparam.show=50;net.trainparam.epochs=500;net.trainparam.goal=0.01;net.trainParam.lr=0.01;net=train(net,input,output');[t1,t2,t3,t4,c]=textread('testData.txt','%f%f%f%f%f',150);testInput=tramnmx([t1,t2,t3,t4]',minI,maxI);Y=sim(net,testInput)[s1,s2]=size(Y);hitNum=0;fori=1:s2[m,Index]=max(Y(:,i));if(Index==c(i))hitNum=hitNum+1;endendsprintf('识别率是%3.3f%%',100*hitNum/s2)程序运行结果Y=Columns1through140.94230.91821.03131.03450.98410.96140.93061.05041.00960.98141.04161.02381.10020.94130.03980.0800-0.0385-0.0458-0.00050.02160.0735-0.04780.0051-0.0019-0.0668-0.0230-0.12060.04200.0057-0.00070.00670.0130-0.00300.00020.00600.0016-0.00520.01260.03350.00690.01510.0168Columns15through281.03001.02270.56151.01050.81690.94690.89561.04031.00941.02931.03360.0308-0.0060-0.0119-0.0424-0.03510.4309-0.03210.19340.06430.0862-0.0426-0.0315-0.0288-0.05260.98560.92690.62850.00920.01790.04090.01520.0007-0.02210.02640.00030.01320.00230.0174-0.01510.09680.3848Columns29through42-0.03130.0654-0.00970.01830.0060-0.0479-0.03560.03600.0172-0.01580.0155-0.0416-0.0351-0.00550.90001.04771.07451.07131.09430.38160.85510.87850.91050.93551.10621.01410.99580.96140.1333-0.1197-0.0611-0.0938-0.08760.61440.19110.07120.07650.0473-0.09410.04320.04590.0393Columns43through56-0.01310.0480-0.03370.0431-0.00260.01550.0359-0.0146-0.0108-0.0238-0.03710.0317-0.0079-0.00941.07731.06461.04051.08891.08171.03351.13531.08560.25470.40090.4324-0.12230.47070.0772-0.0606-0.07170.0135-0.1319-0.0574-0.0483-0.1152-0.04540.78030.57020.55651.08320.57580.9472Columns57through700.09070.0533-0.0501-0.07490.0307-0.0140-0.0380-0.04010.02410.05230.0673-0.01210.01780.03580.0478-0.16950.64890.3663-0.0417-0.01880.26880.46350.1155-0.11900.04600.0001-0.0576-0.08530.84171.12230.37530.65880.98470.99110.71150.53170.85171.06210.84140.96461.06011.0573Columns71through750.06040.0497-0.0032-0.0249-0.0428-0.04430.07600.15930.04090.28570.93400.82370.79800.92040.6907ans=识别率是97.333%
本文标题:神经网络学习报告
链接地址:https://www.777doc.com/doc-2148076 .html