用BP神经网络进行数据拟合

1 首先是数据准备
我是直接在MATLAB里面导入的原始数据simplefit_dataset

导入数据后,画出原始数据看看:
figure(1);
plot(simplefitInputs, simplefitTargets,’+’);
下图就是原始数据的图像
用BP神经网络进行数据拟合
2 用神经网络进行数据拟合
调用MATLAB里面的神经网络的函数,调用fitnet函数,并且设置中间层神经元个数为10个,net=fitnet(10);在调用训练函数train()对网络进行训练,之后对网络进行可视化view(net).
如下图所示为网络可视化界面:
用BP神经网络进行数据拟合
依次点击可视化界面里的不同键,可以实现不同的功能。
如下图是拟合图,可以看出效果还是不错的。

用BP神经网络进行数据拟合
下面给出完整代码,大家有需要可以自己练习。
%%%%采用BP神经网络进行数据拟合
clear all
load simplefit_dataset
figure(1);
plot(simplefitInputs, simplefitTargets,’+’);
[x,t]=simplefit_dataset;
net=fitnet(10);
net=train(net,x,t);
view(net);
y=net(x);
perf=perform(net,t,y);