newlin()
新建一个线性层
learnwh()
Widrow-Hoff的学习函数
purelin()
线性传输函数
mse()
最小均方误差性能函数
pMATLAB中线性神经网络相关的常用函数和基本功能
newlin()
功能 新建一个线性神经网络函数。
格式 (1) net = newlin
(2) net = newlin(PR,S,ID,LR)
说明 式(1)返回一个没有定义结构的空对象,并显示图形用户界面函数nntool的帮助文字;式(2)中net为生成的线性神经网络;PR为网络输入向量中的最大值和最小值组成的矩阵[Pmin,Pmax];S为输出向量的个数;ID为输入延时向量(可省略);LR为学习速率(可省略),默认值为0.01。
learnwh( )
功能 线性神经网络学习函数
格式 (1) [dW,LS] = learnwh(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
(2) [db,LS] = learnwh(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)
MATLAB中线性神经网络相关的常用函数和基本功能
Purelin()
功能 纯线性传输函数
格式 A = purelin(N)
说明 函数purelin(N)为返回网络输入向量N的输出矩阵a;神经元最简单的传输函数是简单地从神经元输入到输出的线性传输函数,输出仅仅被神经元所附加的偏差所修正,newlin和newlind函数建立的网络都可以用该函数做为传递函数。
mse()
功能 均方误差性能函数
格式 perf=mae(E,w,pp)
说明 perf表示均方误差,E为误差矩阵或向量(网络的目标向量与输出向量之差),w为所有权值和偏值向量(可忽略), pp为性能参数(可忽略)。
例2-2 要求设计一个线性神经网络,寻找给定数据之间的线性关系。
P=[1.1 -1.3];
T=[0.6 1];
%创建一个只有一个输出,输入延时为0,学习速率为0.01的线性神经网络,minmax(P)表示样
%本数据的取值范围
net=newlin(minmax(P),1,0,0.01);
%对创建的线性神经网络进行初始化,设置权值和阈值的初始值
net=init(net);
net.trainParam.epochs=500;
%设置网络训练后的目标误差为0.0001
net.trainParam.goal=0.0001;
net=train(net,P,T);
y=sim(net,P)
%求解网络的均方误差值
E=mse(y-T)
例2-2的输出结果
%使用TRAINB作为训练函数,最大训练次数为500,开始训练时的均方误差值为0.68,
%目标误差为0.0001
>> TRAINB, Epoch 0/500, MSE 0.68/0.0001.
......
TRAINB, Epoch 200/500, MSE 0.000193748/0.0001.
TRAINB, Epoch 217/500, MSE 9.87777e-005/0.0001.
%训练到217次时,达到目标误差要求,结束训练
TRAINB, Performance goal met.
y =
0.5883 0.9922
E =
9.8778e-005