神经网络作业函数逼近.docx
- 文档编号:4146239
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:14
- 大小:383.45KB
神经网络作业函数逼近.docx
《神经网络作业函数逼近.docx》由会员分享,可在线阅读,更多相关《神经网络作业函数逼近.docx(14页珍藏版)》请在冰豆网上搜索。
神经网络作业函数逼近
神经网络作业(函数逼近)
————————————————————————————————作者:
———————————————————————————————— 日期:
ﻩ
智能控制理论及应用作业
1资料查询
BP神经网络的主要应用:
人脸识别、风电功率预测、短时交通流混沌预测、高炉熔渣粘度预测、汇率预测、价格预测、函数逼近等
Rbf神经网络的主要应用:
函数逼近、短时交通流预测、模式识别、降水预测、民航客运量预测、遥感影像分析、声纹识别、语言识别、人脸识别、车牌识别、汇率预测
Hopfield网络应用:
车牌识别、图像识别、遥感影像分类、字母识别、交通标志识别、优化计算中的应用、联想记忆存储器的实现、
2 BP编程算法:
2.1利用样本训练一个BP网络
注:
此程序自李国勇书中学习而来
程序部分:
function[output_args]=bp( input_args)
%UNTITLED Summaryofthisfunction goes here
% Detailedexplanationgoeshere
%此设计为两层BP神经网络,3输入,3隐含层节点,两个输出
%初始化部分:
lr=0.05; %%需要给定学习速率
error_goal=0.001; %期望的误差
max_epoch=100000;%训练的最大步长
a=0.9; %惯性系数
Oi=0;
Ok=0;
%给两组输入,以及目标输出:
X=[111;-1-11;1-11;];%随便给一组输入输入,训练BP网络
T=[11 1;111];
%X=-1:
0.1:
1; %输入范围
%T=sin(pi*X);
%X=[]
q=3; %隐含层的节点数自己定义,在此给3个
%初始化
[M,N]=size(X); %输入节点个数为M,N为样本数
[L,N]=size(T); %输出节点个数为L
wij=rand(q,M); %先给定加权系数一组随机值
wki=rand(L,q);
wij0=zeros(size(wij));%加权系数矩阵的初始值
wki0=zeros(size(wki));
forepoch=1:
max_epoch %计算开始
NETi=wij*X; %各个隐含层的净输入
for j=1:
N
fori=1:
q
Oi(i,j)=2/(1+exp(-NETi(i,j)))-1; %再输入作用下,隐含层的输出
end
end
NETk=wki*Oi;%各个输出层的净输入
fori=1:
N
fork=1:
L
Ok(k,i)=2/(1+exp(-NETk(k,i)))-1; %在输入作用下,输出层的输出
end
end
E=((T-Ok)'*(T-Ok))/2; %性能指标函数,就是误差
if(E %不满足的话,就要修正加权系数 else deltak=Ok.*(1-Ok).*(T-Ok); %计算△k w=wki; wki=wki+lr*deltak*Oi'+a*(wki-wki0); wki0=w; deltai=Oi.*(1-Oi).*(deltak'*wki)'; %计算△i w=wij; wij=wij+lr*deltai*X'+a*(wij-wij0); wij0=w; end epoch %当前是第多少步 X1=X; %保护当前的输入 NETi=wij*X1; %再一次计算隐含层的输入输出 for j=1: N for i=1: q Oi(i,j)=2/(1+exp(-NETi(i,j)))-1; % end end NETk=wki*Oi; %再一次计算输出层的输出 fori=1: N for k=1: L Ok(k,i)=2/(1+exp(-NETk(k,i)))-1; end end %直到误差满足要求才跳到此步,输出修正的输出值 Oi % Ok %最终满足误差要求下的输出 wij %输出输入层与隐含层的最终修改后的权值 wki %输出隐含层与输出层之间的取值 end 仿真结果: epoch= 8 Oi= 0.9690-0.4804 0.9995 0.9995 0.9244 0.9989 0.97340.9991 0.9356 Ok= 1.00001.00001.0000 0.9982 0.96580.9981 wij= 3.5796 2.02822.5985 5.3497-0.46442.5773 5.5337 -0.4516 -1.6788 wki = 1.5490 6.1430 5.8803 2.05931.3288 3.8144 由仿真结果可以看出,网络在第八步就可以得到满足误差函数的输出,输出时OK。 由于初始权值是随机给定的,因此每次运行结果可能有所差异。 2.2用BP网路逼近sin函数: function[output_args ] =BP1(input_args ) %UNTITLED Summaryofthisfunctiongoeshere %Detailedexplanationgoes here %P=[0 1 234 56 7 89 10]; %T=[012 343 21234]; P=-1: 0.1: 1; %输入范围 T=sin(pi*P); %样本值 net=newff([010],[5,1],{'tansig','purelin'});%建立网络 %net=newff([010],[5,1],{'tansig','purelin'},'traingd','learngd','msereg'); %net=newff([010],[5,1],{'tansig','purelin'},'traingdx','learngd','msereg'); net.trainParam.epochs=200; %训练步长为200 net=train(net,P,T); %开始训练 figure; Y=sim(net,P);%输入下网络的输出 plot(P,T,'+',P,Y,'o')%将样本与实际输出作图显示 end 逼近结果: 其中+为目标值,O为实际输出值,从逼近小姑来看,效果还是比较理想的。 3GUI作业: MATLAB工具箱中常用的几类函数: 前向网络创建函数: newcf 创建级联前向网络 newff 创建前向BP网络 newffd 创建存在输入延迟的前向网络 传递函数: logsig S型的对数函数 dlogsig logsig的导函数 tansig S型的正切函数 dtansig tansig的导函数 purelin 纯线性函数 dpurelin purelin的导函数 学习函数: learngd 基于梯度下降法的学习函数 learngdm 梯度下降栋梁学习函数 训练函数: trainbrBayes 规范化BP训练函数 trainc 循环顺序渐增训练函数 traincgb Powell-Beale连接梯度BP训练函数 traincgf Fletcher-Powell连接梯度BP训练函数 traincgp Polak-Ribiere连接梯度BP训练函数 traingda 自适应lrBP的梯度递减训练函数 traingdx 动量及自适应lrBP的梯度递减训练函数 trainlm Levenberg-Marquardt BP训练函数 trainoss 一步正切BP训练函数 trainr 随机顺序递增更新训练函数 trainrp 带反弹的BP训练函数 trains 顺序递增BP训练函数 trainscg 量化连接梯度BP训练函数 性能函数: mse 均方误差函数 msereg 均方误差规范化函数 显示函数: plotperf 绘制网络的性能 plotes 绘制一个单独神经元的误差曲面 plotep 绘制权值和阈值在误差曲面的位置 errsurf 计算单个神经元的误差曲面 GUI的应用: 我选择的是建立BP网络逼近sin 函数 首先在MATLAB主窗口输入nntool即可进入神经网络工具箱 点击下方的creatnetwork ordata即可进行输入、目标输出及网络的选择。 1首先输入一个输入X: [-1: 0.1: 1]; 再输入期望输出T: [sin(pi*(-1: 0.1: 1))]; 2然后建立BP网络如下图所示: 命名为BP1 选取网络形式中选择: 前馈BP网络,输入选择X,期望输出选择T, 训练函数选择: TRAINLM(Levenberg-MarquardtBP训练函数) 学习函数选择: LEARNGD(基于梯度下降法的学习函数) 误差计算函数选择MSE(均方误差函数), 神经元传输函数选择: TANSIG( S型的正切函数) 单击creat即可建立网络。 3建立好后进行训练 进入训练界面,选择输入和期望输出,即可进行训练。 训练结果如下: 性能如下所示: 可以看出,当系统训练6步时,系统输出即可满足性能要求,此时停止训练。 再此图,我们可以清楚的看清系统的期望输出、实际输出和二者的误差。 从误差可以看出,逼近的sin函数误差是很小的。 同理可利用RBF网络逼近SIN函数 建立网络如图所示: 训练结果如下图所示: 此图显示了利用RBF网路逼近sin函数,总共进行了27步逼近,最后的误差要优于BP网络。 原理清晰之后,可进行多种神经网络的训练,比较不同算法以及不同训练规则及误差计算函数不同对逼近效果的影响,优于时间关系,在此不一一罗列。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 神经网络 作业 函数 逼近