MATLAB神经网络工具箱的部分函数

来源:互联网 发布:淘宝店铺横幅尺寸 编辑:程序博客网 时间:2024/06/05 13:26

收藏啊

原文地址:MATLAB神经网络工具箱的部分函数作者:刚零

      学习面向MATLAB工具箱的人工神经网络的“同学”注意啦,以下是本人通过 help 命令,调出英文版的函数帮助文件,通过本人有限的英语知识、无所不能的互联网、给力的有道词典等等整理出来的几个中文版函数。

    在此,厚着脸皮与学习面向MATLAB工具箱的人工神经网络的“同学”分享,如有不足之处,请多多指教。

 

hardlim 硬限制型传递函数

用法

hardlim(N)

       info hardlim(code)

 

说明

hardlim 是一个传递函数,传递函数是通过层的网络输入来计算输出;

hardlim(N) 需要一组网络输入NN是一个S×Q的矩阵,由网络输入矢量组成,当N符合条件时,函数返回1,否则返回0

hardlim(CODE) 返回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 n>=0

  0,otherwise

 

 

purelin 线性传递函数

用法

purelin(N)

       info purelin(code)

 

说明

purelin 是一个传递函数,传递函数通过层的网络输入来计算输出;

purelin(N) 需要一组输入NN是一个S×Q的矩阵,有网络输入矢量组成,函数返回N

purelin(CODE) 返回CODE中每一条字符串的有用信息:

deriv 返回派生函数名

name 返回全名

output 返回输出范围

active 返回有效输入范围

 

实例

下面的代码用来创建purelin线性传递函数的图形

n=-5:0.1:5;

a=purelin(n);

plot(n,a)

 

网络使用

你可以通过调用NEWLINNEWLIND来创建一个使用了purelin的标准网络;

通过设置网络层的传递函数为purelin来改变网络,使得网络层使用了purelin

任何情况下,可以调用SIM来模拟使用了purelin的网络;

使用NEWLINNEWLIND获得模拟实例;

 

算法

purelin(n)=n

 

 

maxlinlr 线性层的最大学习速率

 

用法

lr maxlinlr(P)

lr maxlinlr(P,'bias')

 

说明

maxlinlr是用来为NEWLIN计算学习速率的

maxlinlr(P)需要一组参数PP是一个R×Q的矩阵,由输入矢量组成;函数返回零偏差的线性层的最大学习速率,也就是说,网络只用P中的矢量来训练;

maxlinlr(P,'bias') 返回带偏差bias的线性层的最大学习速率;

 

实例

下面我们定义了一个42元输入矢量来寻找一个带偏差的线性层的最大学习速率:

[1 -4 7; 0.1 10 6];

       lr maxlinlr(P,'bias')

 

 

 

learnp感知器权值/偏差学习函数

 

用法

[dW,LS] learnp(W, P, Z, N, A, T, E, gW, gA, D, LP, LS)

       [db,LS] learnp(b, ones(1,Q), Z, N, A, T, E, gW, gA, D, LP, LS)

       info learnp(code)

 

说明

learnp是感知器的权值/偏差学习函数;

     learnp(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) 需要多个输入值

WS×R的权矩阵(或者b,一个S×1的偏差矢量)

PR×Q的输入矢量(或1×Q的单位矩阵)

ZS×Q的加权输入矢量

NS×Q的网络输入矢量

AS×Q的输出矢量

TS×Q的层目标矢量

ES×Q的层误差矢量

gWS×R的梯度参数

gAS×Q的输出梯度参数

DS×S的神经元距离

LP是学习参数,为空,即LP=[]

LS是学习状态,初始值也为空

dWS×R的权(偏差)修正矩阵

LS是新的学习状态

learnp(CODE) 返回CODE中每条字符串的有用信息

pnames 返回学习参数的名称

pdefaults 返回默认的学习参数

needg 如果函数使用了gW或者gA时,返回1

 

实例

为一个具有二元输入和三个神经元的层定义了一个随机输入P和误差E

       p rand(2,1);

       e rand(3,1);

由于learnp计算权修正值仅需以上几个值(参阅下面的算法),这样我们就可以计算权修正值了:

dW learnp([],p,[],[],[],[],e,[],[],[],[],[])

 

网络使用

你可以使用NEWP来创建一个使用了learnp的标准网络;

  定义一个自定义网络每一层的权值和偏差来学习learnp

1)设定网络训练函数为trainb。网络训练参数将自动成为trainb的默认参数。

2)设定网络适应函数为trains。网络适应参数将自动成为trains的默认参数。

3)设定网络输入权值学习函数为learnp,设定网络层权值学习函数为learnp,设定网络偏差学习函数为learnp

(如果LEARNP没有学习参数时,每一个权值和偏差的学习参数属性将自动设定为空矩阵)

 

训练网络(或者使网络具有适应性):

1)设定网络训练参数(网络适应参数)的性能为期望值;

2)调用trainadapt);

 

使用NEWP获得适应性和训练实例;

 

算法

learnp根据感知器学习规则,通过神经元的输入矢量P和误差矢量E,计算一个给定的神经元的权修正值 dW

      dw  0,  if  0

        p',  if  1

            -p',  if -1

以上过程可总结为:

dw=e*p'

 

 

learnwh 威德罗-霍夫 权值/偏差学习函数

 

用法

[dW,LS] learnwh(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)

       [db,LS] learnwh(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)

       info learnwh(code)

 

说明

learnwh 威德罗-霍夫 权值/偏差学习函数,遵循[转载]MATLAB神经网络工具箱的部分函数规则或最小均方差算法(LMS);

learnwh(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) 需要多个输入,如下:

—— S×R的权矩阵(或bS×1的偏差矢量)

—— R×Q的输入矢量(或1×Q的单位矢量)

—— S×Q的权输入矢量

—— S×Q的网络输入矢量

—— S×Q的输出矢量

—— S×Q的层目标矢量

—— S×Q的层误差矢量

gW —— S×R的梯度参数

gA —— S×Q的输出梯度性能

—— S×S的神经元距离

LP —— 学习参数,为空,即LP=[]

LS —— 学习状态,初始LS=[]

函数返回值

dW —— S×R的权(偏差)修正矩阵

LS —— 新的学习状态

 

学习过程根据learnwh的学习参数进行,学习速率的默认值为0.01

 

learnwh(CODE) 返回CODE中每一条字符串的有用信息:

pname —— 返回学习参数的名称

pdefault —— 返回默认的学习参数

needg —— 如果函数使用了gWgA时,返回1

 

实例

下面的例子我们为一个具有2元输入和3个神经元的层定义了一个随机输入矢量P、误差矢量E,以及学习速率   lp.lr

       p rand(2,1);

       e rand(3,1);

       lp.lr 0.5;

由于learnwh计算权修正值仅需要以上几个值(参阅下面的算法),这样我们就可以计算权修正值了:

dW learnwh([],p,[],[],[],[],e,[],[],[],lp,[])

 

网络使用

你可以通过NEWLIN来创建一个使用了learnwh的标准网络;

定义一个自定义网络中每一层的权值和偏差来学习learnwh

1)设定网络学习函数为trainb。网络训练参数将自动成为trainb的默认参数。

2)设定网络适应性函数为trains。网络适应参数将自动成为trains的默认参数。

3)设定每一网络输入权值的学习函数为learnwh,设定每一网络层权值的学习函数为learnwh,设定网络偏差学习函数为learnwh。每一个权值和偏差学习参数的性能将自动被设定为learnwh的默认参数。

 

训练网络(或使网络具有适应性):

1)设定网络训练参数(或网络适应参数)的性能为期望值;

2)调用trainadapt);

 

使用NEWLIN获得适应性或训练实例;

 

算法

learnwh根据WH学习规则,通过神经元的输入矢量P、误差矢量E以及权值(偏差)的学习参数LR,计算给定神经元的权修正值:

dw=lr*e*pn

0 0
原创粉丝点击