《神经网络 .docx》由会员分享,可在线阅读,更多相关《神经网络 .docx(2页珍藏版)》请在第壹文秘上搜索。
1、一、神经网络介绍神经网络是模仿大脑神经网络结构和功能而建立的一种信息处理系统。其最基本的单元是神经元,当大量的神经元构成神经网络后,该神经网络就可以完成诸如函数拟合、分类、降噪、预测等一系列的功能,实际上神经网络的构建过程就是对权值W=”,卬2,,叫进行训练的过程。这里以Matlab软件编写BP神经网络程序实现分类功能为例,假设有枣和梨两种水果,分别测定它们的重量和颜色,得到的数据如下(1代表枣,O代表梨):编写.m程序如下functionfenlei(.m文件均以function开头,fenlei是文件名)类别111111重量0.20.10.150.320.170.28颜色0.610.770
2、.530.820.920.73类别0000000重量0.690.730.510.620.740.810.96颜色0.260.190.340.510.240.170.33clcX=0.200.10,0.96;net.trainParam.epochs=500;net.trainParam.goal=0.0001;net.trainParam.show=50;net=train(net,xzy);savefenleinetyl=sim(net,x);yl=yl=O.5new=0.270.310.280.650.530.610.770.42y2=sim(net,new);y2=y2=0.5(ClC是
3、清屏命令,清楚Matlab工作区的其他内容)(输入自变量矩阵X,其每一个列向量都是个样本)0.610.77-0.33;(输入因变量y,1和0代表了不同的分类)y=l10;net=newff(minmax(x),201ztansig,purelin,traingdx);(“net”是网络的名字,可以任取)(newff”代表BP神经网络,不要修改)(minmax(x)”是矩阵X的极小值和极大值,不要修改)(u201”是神经网络第一、二层神经元的个数,第一层可以修改,第二层尽量不动)(1.tanSigI,PUrelinU是第一、二层神经元的算法,第二层不要改,第一层可以改为Iogsig)1.trai
4、ngdX,是训练函数,可以改为下面表中的函数)(训练次数为500次)(误差为0.0001)(每训练50次显示次结果)(正式开始训练网络)(保存训练好的网络,fenleiw是任取的名字)(训练之后,将原始数据X代入网络,看计算结果)(Sim是使用网络进行拟合的命令)0.720.59;(输入新的样本,起名字叫new)0.300.29;(将新的样本new代入网络,进行分类)以上程序运行的结果为:yl=l111110000000y2=l11000BP神经网络主要改进算法算法函数算法函数最速下降BP算法traingd黄金分割搜索srchgol动量BP算法traingdmBrent搜索srchbre学习率可变BP算法traingda/traingdx对分三次插值混合搜索srchhyb弹性BP算法trainrpCharalambous搜索srchcha变梯度算法F-R修正函数traincgf反向跟踪搜索srchbac变梯度算法P-R修正函数traincgp拟牛顿BFGS算法trainbfg变梯度算法P-B修正函数traincgb拟牛顿OSS算法trainoss变梯度SCG算法trainscg1.M算法trainlm