1、BP函数逼近BP网络实现分类问题一, 问题的提出根据感知器的的相关理论易知感知器善于解决线性可分问题,而不能解决XOR问题,所以引进了BP网络,并通过相关知识来解决分类问题。反向传播网络(Back-Propagation Network,简称BP网络)是将W-H学习规则一般化,对非线性可微分函数进行权值训练的多层网络。BP网络主要用于函数逼近,模式识别,分类,数据压缩。在人工神经网络的实际应用中,80%90%的人工神经网络模型是采用BP网络或它的变化形式,也是前行网络的核心部分,体现了人工神经网络最精华的部分。一个具有r个输入和一个隐含层的神经网络模型结构如图所示 下图所示是S型激活函数的图型
2、,可以看到f ()是一个连续可微的函数,一阶导数存在。对于多层网络,这种激活函数所划分的区域不再是线性划分,而是有一个非线性的超平面组成的区域。它还可以严格利用梯度算法进行推算,他的权值修正的解析式十分明确,其算法被称为误差反向传播法,简称SP算法。BP算法是有两部分组成:信息的正向传递与误差的反向传播。在正向传播过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态值影响下一层神经元的状态。如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望的目标。BP网络分类问题原程序:func
3、tion main()InDim=2; % 样本输入维数OutDim=3; % 样本输出维数% figure% colordef(gcf,white)% echo off% clc% axis(-2,2,-2,2)% axis on% grid% xlabel(Input x);% ylabel(Input y);% line(-1 1,1 1)% line(1 -1,1 0)% line(-1 -1,0 1)% line(-1 1,-0.5 -0.5)% line(-1 1,-1.5 -1.5)% line(1 1,-0.5 -1.5)% line(-1 -1,-0.5 -1.5)% hol
4、d on% sj=plot(-1 1,1 1,1 -1,1 0,-1 -1,0 1);% hold on% set(sj,Color,r,LineWidth,4);% js=plot(-1 1,-0.5 -0.5,b,-1 1,-1.5 -1.5,b,1 1,.% -0.5 -1.5,b,-1 -1,-0.5 -1.5,b);% hold on% set(js,Color,b,LineWidth,4);%hold offfigurecolordef(gcf,white)echo offclcaxis(-2,2,-2,2)axis ongridxlabel(Input x);ylabel(Inp
5、ut y);hold onsj=plot(-1 1,1 1,1 -1,1 0,-1 -1,0 1);hold onjs=plot(-1 1,-0.5 -0.5,b,-1 1,-1.5 -1.5,b,1 1,. -0.5 -1.5,b,-1 -1,-0.5 -1.5,b);hold onset(sj,Color,r,LineWidth,4);set(js,Color,b,LineWidth,4);hold onSamNum=400; % 训练样本数rand(state, sum(100*clock)SamIn=(rand(2,SamNum)-0.5)*4; % 产生随机样本输入% 根据目标函数获
6、得训练样本输入输出,并绘制样本SamOut=;for i=1:SamNum Sam=SamIn(:,i); x=Sam(1,1); y=Sam(2,1); if(x-1)&(xx/2+1/2)&(y1)=1 plot(x,y,k+) class=0 1 0; elseif(y-1.5)=1 plot(x,y,ks) class=0 0 1; else plot(x,y,ko) class=1 0 0; end else plot(x,y,ko) class=1 0 0; end SamOut=SamOut class;endHiddenUnitNum=10; % 隐节点数MaxEpochs=1
7、0000; % 最大训练次数lr=0.1; % 学习率E0=0.1; % 目标误差W1=0.2*rand(HiddenUnitNum,InDim)-0.1; % 输入层到隐层的初始权值B1=0.2*rand(HiddenUnitNum,1)-0.1; % 隐节点初始偏移W2=0.2*rand(OutDim,HiddenUnitNum)-0.1; % 隐层到输出层的初始权值B2=0.2*rand(OutDim,1)-0.1; % 输出层初始偏移W1Ex=W1 B1; % 输入层到隐层的初始权值扩展, 10*3W2Ex=W2 B2; % 隐层到输出层的初始权值, 3*11SamInEx=SamIn
8、 ones(SamNum,1); % 样本输入扩展, 3*200ErrHistory=; % 用于记录每次权值调整后的训练误差for i=1:MaxEpochs% 正向传播计算网络输出 HiddenOut=logsig(W1Ex*SamInEx); HiddenOutEx=HiddenOut ones(SamNum, 1); NetworkOut=logsig(W2Ex*HiddenOutEx);% 停止学习判断 Error=SamOut-NetworkOut; SSE=sumsqr(Error); fprintf(Times: %7.0f,i); fprintf( SSE: %12.4fnn
9、,SSE); % 记录每次权值调整后的训练误差 ErrHistory=ErrHistory SSE; if SSE-1)&(xx/2+1/2)&(y1)=1 TestTargetOut=TestTargetOut 2; elseif(y-1.5)=1 TestTargetOut=TestTargetOut 3; else TestTargetOut=TestTargetOut 1; end else TestTargetOut=TestTargetOut 1; endend%显示计算结果NNC1Flag=abs(NNClass-1)0.1;NNC2Flag=abs(NNClass-2)0.1;
10、NNC3Flag=abs(NNClass-3)0.1;TargetC1Flag=abs(TestTargetOut-1)0.1;TargetC2Flag=abs(TestTargetOut-2)0.1;TargetC3Flag=abs(TestTargetOut-3)0.001 W = W0; y = zeros(1,N); for k =1:N R = exp(-(X(k)*ones(1,Nr)-c).2./(2*deta); y(k) = W*R;%输出 dW = a2*(T(k)-y(k)*R; W = W+dW; %更新权值 end dww = norm(W-W0); n2 = n2+
11、1; W0 = W; dE = 0; for k =1:N dE = dE+1/2*(T(k)-y(k)2; end E(n2) = dE; end % 测试 t1 = 0:0.1:1; Yout1 =zeros(1,N); for i =1:N R = exp(-(t1(i)*ones(1,Nr)-c).2./(2*deta); Yout1(i) = W*R; end t2 = 0:0.05:1; Yout2 =zeros(1,length(t2); for i =1:length(t2) R = exp(-(t2(i)*ones(1,Nr)-c).2./(2*deta); Yout2(i)
12、 = W*R; end figure(1); plot(t1,Yout1,b-,t2,Yout2,r+,X,T,g-); % 出师表两汉:诸葛亮先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。宫中府中,俱为一体;陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以咨之,然
13、后施行,必能裨补阙漏,有所广益。将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。 亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也。臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;故五月渡泸,深入不毛。今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。此臣所以报先帝而忠陛下之职分也。至于斟酌损益,进尽忠言,则攸之、祎、允之任也。愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。臣不胜受恩感激。今当远离,临表涕零,不知所言。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1