声明:文中的两个案例matlab源码引用自网络,并非本人所写,在此感谢原作者。原链接http://wenku.baidu.com/view/d8df1821aaea998fcc220e03.html?from=search
1)traingd——梯度下降反向传播
traingd Gradient descent backpropagation.
traingd is a network training function that updates weight and
bias values according to gradient descent.
根据梯度下降法更新权值和偏置。
2)newff :前馈网络创建函数
newff Create a feed-forward backpropagation network.
3) train:训练网络
train Train a neural network.
[NET,TR] = train(NET,X,T) takes a network NET, input data X and target data T and returns the network after training it, and a a training record TR.
返回训练后的网络和训练记录TR
4)sim:利用网络进行仿真
sim Simulate a neural network.
sim(NET,X) takes a network NET and inputs X and returns the outputs Y generated by the network. This syntax is equivalent to NET(X).
返回由网络产生的输出。
5)matlab神经网络工具
Matlab实例1:
%BP算法训练:监督学习%
clear;
x=-4:0.01:4; %产生[-4,4]之间的行向量
y1=sin((1/2)*pi*x)+sin(pi*x);%期望输出
%step1:newff前馈网络创建函数
%minmax(x)获取输入x的取值范围,min和max,第一个隐藏层其实相当于对输入进行归一化
%第1个隐藏层含1个神经元,激活函数是tansig,第2个隐藏层含15个,激活函数是tansig,输出层含1个,激活函数是线性函数
%训练函数是梯度下降函数traingd
net=newff(minmax(x),[1,15,1],{'tansig','tansig','purelin'},'traingd');
net.trainparam.epochs=6000; %设置最大迭代次数
net.trainparam.goal=0.00001; %设置神经网络训练的目标误差
net=train(net,x,y1); %step2:训练神经网络,返回训练好的网络和误差记录
y2=sim(net,x); %step3:获取BP训练后的实际输出
%Pause %绘图,原图(蓝色光滑线)和仿真效果图(红色+号点线)
plot(x,y1);%画出期望图像
hold on
plot(x,y2,'r+'); %画出训练得到的图像
1)训练误差出现振荡:
可以看到,神经网络训练的目标误差0.00001,10的负5次方,迭代500次的时候,误差达到了一个最小值即best值,由于没有达到目标误差,所以继续迭代,之后误差逐渐增加,迭代到2000次时,迭代停止。
这里有一个疑问:发生这种情况时,迭代完成之后,采用的结果是Best值还是最后一次迭代的结果。
2)训练误差再最大迭代次数内收敛到目标误差
%利用BP算法监督学习2
clear;
clc;
%以每3个月的销售量经过归一化处理后作为输入
X=1:1:6;
Y1=[0.5152 0.8173 1;
0.8173 1 0.7380;
1 0.7380 0.1390;
0.7308 0.1309 0.1087;
0.1309 0.1087 0.3520;
0.1087 0.3520 0;]';
%以要预测的第4个月的销售量归一化处理后作为目标向量
T=[0.7308 0.1309 0.1087 0.3520 0 0.3761];
net=newff([0 1;0 1;0 1],[5,1],{'tansig','logsig'},'traingd');
net.trainParam.epochs=10000;%设置迭代次数
net.trainParam.goal=0.01;
LP.lr=0.1;
net=train(net,Y1,T);%开始训练
Y2=sim(net,Y1);%获取实际输出
scatter(X,T,'fill');
hold on
scatter(X,Y2,'r','fill');
版权声明:欢迎转载,转载注明出处。 https://blog.csdn.net/qq_24421591/article/details/50263073