10.19 记录
看了一篇关于神经网络Matlab入门的文章,有所收获,记录下。
先贴上代码:
clear;
clc;
X=-1:0.1:1;
D=[-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609…
0.1336 -0.2013 -0.4344 -0.5000 -0.3930 -0.1647 -.0988…
0.3072 0.3960 0.3449 0.1816 -0.312 -0.2189 -0.3201];
figure;
plot(X,D,’’); %绘制原始数据分布图
net = newff([-1 1],[4 1],{‘tansig’,‘tansig’});
net.trainParam.epochs = 10000; %训练的最大次数
net.trainParam.goal = 0.0001; %全局最小误差
net = train(net,X,D);
O = sim(net,X);
figure;
plot(X,D,’’,X,O,‘b’); %绘制训练后得到的结果和误差曲线
V = net.iw{1,1}%输入层到中间层权值
theta1 = net.b{1}%中间层各神经元阈值
W = net.lw{2,1}%中间层到输出层权值
theta2 = net.b{2}%输出层各神经元阈值
我来对这段代码进行解读,首先是X=-1:0.1:1;这个的意思是建立原始输入,在-1到1的范围内,以0.1为步长采样,即-1,-0.9,-0.8…这样。
接下来的D是Destination,即拟合的目标,目标输出。
net = new