云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > MATLAB神经网络工具箱中的网络对象及属性

MATLAB神经网络工具箱中的网络对象及属性

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 1:55:20

在MATLAB中把定义的神经网络看作一个对象,对象还包括一些子对象:输入向量、网络层、输出向量、目标向量、权值向量和阈值向量等,这样网络对象和各子对象的属性共同确定了神经网络对象的特性。网络属性除了只读属性外,均可以按照约定的格式和属性的类型进行设置、修改、引用等。引用格式为:

网络名. [子对象] . 属性

例如:net.Inputs,net.biasConnect(1),net.inputConnect(1,2),net.inputs{1}.range。

在MATLAB命令窗口中逐条执行以下语句(newp、newff为网络创建函数),即可创建网络net1和net2。

p=[1,2;-1,1;0,1]; net1=newp(p,2);

net2=newff([-1 1;-1 1], [15,2], {'tansig','purelin'}, 'traingdx', 'learngdm');

1.结构属性

结构属性决定了网络子对象的数目(包括输入向量、网络层向量、输出向量、目标向量、阈值向量和权值向量的数目)以及它们之间的连接关系。无论何时,结构属性值一旦发生变化,网络就会自动重新定义,与之相关的其他属性值也会自动更新。

(1)numInputs属性

net.numInputs属性定义了网络的输入向量数,它可以被设置为零或正整数。其值一般在用户定义网络中才被设置,而由MATLAB神经网络工具箱中的网络定义函数所创建的网络,则输入向量就不止一个,而是多个。所以网络的输入向量数并不是网络输入元素的个数。

net.numInputs属性值一旦改变,与输入向量相关的输入层连接向量(net.inputConnect)和输入层向量(net.inputs)会自动随之改变。

(2)numLayers属性

numLayers属性定义了网络的层数,它可以被设置为零或正整数。

net.numLayers属性值一旦改变,下列与网络相关的布尔代数矩阵就会随之改变:

net.biasConnect net.inputConnect net.layerConnect net.targetConnect

下列与网络层相关的子对象细胞矩阵的大小也会随之改变: net.biases net.inputWeights net.layerWeights net.outputs net.targets

下列网络调整参数细胞矩阵的大小也会随之改变: net.IW net.LW net.b

细胞矩阵是将多个矩阵向量作为细胞矩阵的一个“细胞(Cell)”,细胞矩阵的各个元素值为对应细胞的大小和数值类型。

(3)biasConnect属性

net.biasConnect属性定义各个网络层是否具有阈值向量,其值为Nl*1布尔型向量(0或1),Nl为网络层数(net.Layers)。

可以通过访问net.biasConnect{i}的值,查看第i个网络层是否具有阈值向量。

net.biasConnect的属性值一旦改变,则阈值结构细胞矩阵(net.biases)和阈值向量细胞矩阵(net.b)将随之改变。

(4)inputConnect属性

net.inputConnect属性定义各网络层是否具有来自个输入向量的连接权,其值为Nl*Ni布尔型向量(0或1),Nl为网络层数(net.numLayers),Ni为网络输入向量数(net.numInputs)。

可以通过访问net.inputConnect(i,j)的值,来查看第i个网络是否具有来自第j个输入向量的连接权。

net.inputConnect的属性值一旦改变,输入层权值细胞结构矩阵(net.inputWeights)和权值向量细胞矩阵(net.IW)将随之改变。

(5)layerConnect属性

net.layerConnect属性定义一个网络层是否具有来自另外一个网络层的连接权,其值为Nl*Nl的布尔型向量(0或1),Nl为网络层数(net.numLayers)。 可以通过访问net.layerConnect(i,j)的值,来查看第i个网络层是否具有来自第j个网络层的连接权。

net.layerConnect的属性值一旦改变,网络层权值结构细胞矩阵

(net.layerWeights)和网络层权值向量细胞矩阵(net.IW)将随之改变。

(6)outputConnect属性

net.outputConnect属性定义各网络层是否作为输出层,其值为1*Nl的布尔型向量(0或1),Nl为网络层数(net.numLayers)。

可以通过访问net.outputConnect(i)的值来查看第i个网络层是否作为输出层。

net.outputConnect属性值一旦改变,网络输出层数目(net.numOutputs)和输出层结构细胞矩阵(net.outputs)将随之改变。

(7)targetConnect属性

net.targetConnect定义各网络层是否和目标向量有关,其值为1*Nl的布尔型向量(0或1),Nl为网络层数(net.numLayers)。

可以通过访问net.targetConnect(i)的值来查看第i个网络层是否和目标向量有关。

net.targetConnect属性值一旦改变,网络层目标向量的数目

(net.numOutputs)和目标向量结构细胞矩阵(net.targets)将随之改变。

(8)numOutputs属性(只读)

net.numOtputs属性值为输出向量的数目,它等于outputConnect矩阵中元素值为1(True) 的个数之和, 即:numOutputs=sum(net.outputConnect)。

(9)numTargets属性(只读)

net.numTargets属性值为输出向量的数目,它等于targetConnect矩阵中元素值为1(True) 的个数之和, 即:numTargets=sum(net.targetConnect)。

(10)numInputDelays属性(只读)

net.numInputDelays属性定义进行网络仿真时输入向量的延迟量。其值总是设置为与网络输入相连的权值延迟量的最大值,即

numInputDelays=0; for i=1:net.numLayers for j=1:net.numInputs if net.inputConnect(i,j)

numInputDelays=max([numInputDelays net.inputWeights{i,j}.delays]); end end

(11)numLayerDelays属性(只读)

net.numLayerDelays属性定义进行网络仿真时网络层输出到哪员的延迟量。其值总是设置为与网络相连的权值延迟量的最大值,即

numLayerDelays=0; for i=1:net.numLayers for j=1:net.numLayers if net.layerConnect(i,j)

numLayerDelays=max([numLayerDelays net.layerWeights{i,j}.delays]); end

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

在MATLAB中把定义的神经网络看作一个对象,对象还包括一些子对象:输入向量、网络层、输出向量、目标向量、权值向量和阈值向量等,这样网络对象和各子对象的属性共同确定了神经网络对象的特性。网络属性除了只读属性外,均可以按照约定的格式和属性的类型进行设置、修改、引用等。引用格式为: 网络名. [子对象] . 属性 例如:net.Inputs,net.biasConnect(1),net.inputConnect(1,2),net.inputs{1}.range。 在MATLAB命令窗口中逐条执行以下语句(newp、newff为网络创建函数),即可创建网络net1和net2。 p=[1,2;-1,1;0,1]; net1=newp(p,2); net2=newff([-1 1;-1 1], [15,2], {'tansi

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com