南京邮电大学吧 关注:328,513贴子:11,143,056
  • 9回复贴,共1

matlab神经网络函数逼近训练

只看楼主收藏回复

首先,确定一个逼近对象如:f(x)=exp(-1.7*x)*cos(10x).^3,因为目标函数是非线性变换函数(S型函数),所以样本数据与测试数据在【-1,1】之间选取效果较好。
如:样本数据选取:x=-0.8:0.01:0.98;
在MATLAB工作窗口中输入如下命令语句:
clear all;
close all;
x=-0.8:0.01:0.98;
m=-1.7*x;
m=exp(m);
m=m.*sin(10*x).^3;
figure(1);
plot(x,m,'bo');
ylabel('输出样本集m=f(x)','color','r');
xlabel('输入样本集','color','r');
显示的图形如下:
net=newff(minmax(x),[3,1],{'tansig','purelin'},'traingd');
>> y=sim(net,x);
>> figure(2);
>> plot(x,m,'bo',x,y,'r*');
>> ylabel('输出样本集m(o) 网络输出y(*)','color','r');
>> xlabel('输入样本集x')
接着对BP网络函数进行训练,在上面程序中输入下面的命令:
net.trainParam.show=100;
net.trainParam.epochs=1000;
net.trainParam.goal=0.001;
net=train(net,x,m);
各位大神,接下来如何操作才能得到训练后的网络输出与样本输出啊?
各位大神,这是摘抄别人的程序,她第三个图象是这样的,按照常理说,应该是蓝色和红色彼此无限逼近,近似重合!
求指教



来自Android客户端1楼2017-04-07 18:18回复
    大牛都在搞深度学习


    来自iPhone客户端4楼2017-04-08 22:51
    回复
      2025-05-24 07:17:14
      广告
      大神都是自学的吗?


      来自Android客户端6楼2017-04-08 23:36
      回复