收藏啊
原文地址:MATLAB神经网络工具箱的部分函数作者:刚零
hardlim
用法
A
说明
hardlim
hardlim(N)
hardlim(CODE)
deriv
name
output
active
实例
下面的代码将告诉你如何创建hardlim传递函数的图形
n=-5:0.1:5;
a=hardlim(n);
plot(n,a)
网络使用
你可以通过调用NEWP来创建一个使用了hardlim的标准网络;
通过设置网络层的传递函数为hardlim来改变网络结构,使得网络使用了hardlim;
任何情况下,可以调用SIM来模拟使用了hardlim的网络;
使用NEWP获得模拟实例;
算法
hardlim(n)=1,if
purelin
用法
A
说明
purelin
purelin(N)
purelin(CODE)
deriv
name
output
active
实例
下面的代码用来创建purelin线性传递函数的图形
n=-5:0.1:5;
a=purelin(n);
plot(n,a)
网络使用
你可以通过调用NEWLIN或NEWLIND来创建一个使用了purelin的标准网络;
通过设置网络层的传递函数为purelin来改变网络,使得网络层使用了purelin;
任何情况下,可以调用SIM来模拟使用了purelin的网络;
使用NEWLIN或NEWLIND获得模拟实例;
算法
purelin(n)=n
maxlinlr
用法
lr
lr
说明
maxlinlr是用来为NEWLIN计算学习速率的
maxlinlr(P)需要一组参数P,P是一个R×Q的矩阵,由输入矢量组成;函数返回零偏差的线性层的最大学习速率,也就是说,网络只用P中的矢量来训练;
maxlinlr(P,'bias')
实例
下面我们定义了一个4组2元输入矢量来寻找一个带偏差的线性层的最大学习速率:
P
learnp感知器权值/偏差学习函数
用法
[dW,LS]
说明
learnp是感知器的权值/偏差学习函数;
W是S×R的权矩阵(或者b,一个S×1的偏差矢量)
P是R×Q的输入矢量(或1×Q的单位矩阵)
Z是S×Q的加权输入矢量
N是S×Q的网络输入矢量
A是S×Q的输出矢量
T是S×Q的层目标矢量
E是S×Q的层误差矢量
gW是S×R的梯度参数
gA是S×Q的输出梯度参数
D是S×S的神经元距离
LP是学习参数,为空,即LP=[]
LS是学习状态,初始值也为空
dW是S×R的权(偏差)修正矩阵
LS是新的学习状态
learnp(CODE)
pnames
pdefaults
needg
实例
为一个具有二元输入和三个神经元的层定义了一个随机输入P和误差E
由于learnp计算权修正值仅需以上几个值(参阅下面的算法),这样我们就可以计算权修正值了:
dW
网络使用
你可以使用NEWP来创建一个使用了learnp的标准网络;
1)设定网络训练函数为trainb。网络训练参数将自动成为trainb的默认参数。
2)设定网络适应函数为trains。网络适应参数将自动成为trains的默认参数。
3)设定网络输入权值学习函数为learnp,设定网络层权值学习函数为learnp,设定网络偏差学习函数为learnp
(如果LEARNP没有学习参数时,每一个权值和偏差的学习参数属性将自动设定为空矩阵)
训练网络(或者使网络具有适应性):
1)设定网络训练参数(网络适应参数)的性能为期望值;
2)调用train(adapt);
使用NEWP获得适应性和训练实例;
算法
learnp根据感知器学习规则,通过神经元的输入矢量P和误差矢量E,计算一个给定的神经元的权修正值
以上过程可总结为:
dw=e*p'
learnwh
用法
[dW,LS]
说明
learnwh
learnwh(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
W
P
Z
N
A
T
E
gW
gA
D
LP
LS
函数返回值
dW
LS
学习过程根据learnwh的学习参数进行,学习速率的默认值为0.01
learnwh(CODE)
pname
pdefault
needg
实例
下面的例子我们为一个具有2元输入和3个神经元的层定义了一个随机输入矢量P、误差矢量E,以及学习速率
由于learnwh计算权修正值仅需要以上几个值(参阅下面的算法),这样我们就可以计算权修正值了:
dW
网络使用
你可以通过NEWLIN来创建一个使用了learnwh的标准网络;
定义一个自定义网络中每一层的权值和偏差来学习learnwh:
1)设定网络学习函数为trainb。网络训练参数将自动成为trainb的默认参数。
2)设定网络适应性函数为trains。网络适应参数将自动成为trains的默认参数。
3)设定每一网络输入权值的学习函数为learnwh,设定每一网络层权值的学习函数为learnwh,设定网络偏差学习函数为learnwh。每一个权值和偏差学习参数的性能将自动被设定为learnwh的默认参数。
训练网络(或使网络具有适应性):
1)设定网络训练参数(或网络适应参数)的性能为期望值;
2)调用train(adapt);
使用NEWLIN获得适应性或训练实例;
算法
learnwh根据WH学习规则,通过神经元的输入矢量P、误差矢量E以及权值(偏差)的学习参数LR,计算给定神经元的权修正值:
dw=lr*e*pn