net.layers{i}.distanceFcn,该属性定义一个函数,用于第i个网络层中的神经元之间距离的计算,它是根据神经元的位置
(net.layers{i}.positions)来进行计算的。神经元的距离用于自组织映射神经网络。
该属性可被设置成神经网络工具箱中的以下距离函数: boxdist---计算两个位置向量之间距离的距离函数; dist---欧几里得(Euclidean)距离权值函数; linkdist---连接距离函数;
mandist---曼哈顿(Manhattan)距离权值函数。 (3)distances属性(只读)
net.layers{i}.disances,该属性定义第i个网络层中神经元之间的距离,这些距离用于自组织映射神经网络。其值为网络层距离函数(net.layers{i}.distanceFcn)的计算结果,是通过网络层神经元的位置(net.layers{i}.positions)进行计算的。
(4)initFcn属性
net.layers{i}.initFcn,如果网络初始化函数(net.initFcn)设置为initlay,则该属性定义为第i个网络层的初始化函数。
该属性可被设置为:
initnw---NW(Nguyen-Widrow)网络层初始化函数;
initwb---通过权值和阈值进行初始化的网络层初始化函数。
(5)netInputFcn属性
net.layers{i}.netInputFcn属性定义一个网络输入函数,以给定的权值和阈值计算第i个网络层的输入。
该属性可被设置为:
netprod---求积网络输入函数;
netsum---求和网络输入函数。
(6)positions属性(只读)
net.layers{i}.positions,该属性定义第i个网络层中神经元的位置,这些位置用于自组织映射。其值为网络拓扑结构函数
(net.layers{i}.topologyFcn)关于位置的计算结果,它是通过网络层神经元维数(net.layers{i}.dimensions)进行计算的。
可以用plotsom函数画出网络层神经元的位置图。例如: plotsom(net2.layers{1}.positions)
(7)size属性
net.layers{i}.size,该属性定义第i网络层中的神经元数目,其值可以设置为零活正整数。
其值一旦发生变化,则所有的net.inputWeights{i,:}.size(连接到该网络层的输入权值向量元素的数目),net.layerWeights{:,i}.size(该网络层连接到其他网络层权值向量元素的数目),
net.inputWeights{i,:}.size(其他网络层连接到该网络层权值向量元素的数目),net.bias{i}.size(该网络层阈值向量元素的数目)等都将随之改变。 与之相关的net.IW{i,:},net.LW{i,:},net.LW{:,i}和biases(net.b{i})向量的维数也会随之改变。
同时网络层神经元的维数(net.layers{i}.dimensions)将被设置成与该属性相同的值,这仅适用于神经元的维数为一维的情况;对于多维情况,应该直接设置net.layers{i}.dimensions,而不应使用size属性进行设置。
(8)topologyFcn属性
net.layers{i}.topologyFcn,该属性定义一拓扑结构函数,用于计算第i个网络层中的神经元位置(net.layers{i}.positions),该位置是通过网络层神经元维数net.layes{i}.dimensions进行计算的。其值可以设成:
gridtop---网状网络层拓扑结构函数;
hextop---六边形网络层拓扑结构函数; randtop---随机网络层拓扑结构函数。
TopologyFcn的属性值一旦改变,则网络层神经元的位置(net.layers{i}.positions)也会随之更新。
(9)transferFcn属性
net.layers{i}.transferFcn,该属性定义网络的传输函数,用于计算第i个网络层的输出,该输出是通过给定的网络层输入值进行计算的。其值可以设置成:
compet---竞争型传递函数; hardlim---阈值型传递函数; hardlims---对称阈值型传输函数; logsig---S型传输函数; poslin---正线性传输函数; purelin---线性传输函数; radbas---径向基传输函数; satlin---饱和线性传输函数; satlins---饱和对称线性传输函数; softmax---柔性最大值传输函数; tanhsig---双曲正切S型传输函数; tribas---三角形径向基传输函数; 当sim被调用时,传输函数用于网络仿真:
[Y, Pf, Af]=sim(net, P,Pi, Ai)
(10)userdata属性
net.layers{i}.userdata,该属性为用户提供增加关于网络层向量的用户信息的地方,它预先只定义一个字段,其值为一提示信息: net.layers{i}.userdata=note:'Put your custom layer information here.'
用户可以通过修改net.layers{i}.userdata.note的值,增加关于网络层的用户信息。
? ? ?
MATLAB神经网络工具箱中的网络对象及属性(七)
2010-05-19 20:30 发表 系统分类:可编程逻辑 自定义分类:神经网络 标签:MATLAB 神经网络 网络对象
子对象的属性:
3.输出向量
net.outputs,该子对象的属性详细定义了网络的每一个输出向
量。每个输出向量的结构属性值可以通过net.outputs{i,j}进行访问。
(1)size属性
net.outputs{i}.size,该属性定义了第i个网络层输出向量中元素的个数,其值为第i个网络层神经元的数目(net.layers{i}.size)。
(2)userdata属性
net.outputs{i}.userdata,该属性为用户提供了增加关于第i个网络层输出向量的用户信息的地方,它预先只定义一个字段,其值为一提示信息:
net.outputs{i}=note:'Put your custom output information here.'
用户可以通过修改net.outputs{i}.userdata.note的值,增加关于第i个网络层输出向量的用户信息。
4.目标向量
net.targets,该子对象的属性详细定义了网络的每一个目标向量。
每个目标向量的结构属性值可以通过net.targets{i,j}来访问。
(1)size属性
net.targets{i}.size,该属性定义了第i个网络层目标向量中元素的个数,其值为第i个网络层神经元的数目(net.layers{i}.size)。
(2)userdata属性
net.targets{i}.userdata,该属性为用户提供了增加关于第i个网络层目标向量的用户信息的地方,它预先只定义一个字段,其值为一提示信息:
net.outputs{i}=note:'Put your custom output information here.'
用户可以通过修改net.targets{i}.userdata.note的值,增加关于第i个网络层目标向量的用户信息。
5.阈值向量
net.biases{i},该子对象的属性详细定义网络的每一个阈值向量。
每个阈值向量的结构属性值可以通过net.biases{i}进行访问。
(1)initFcn属性
net.biases{i}.initFcn,该属性定义了第i个网络层阈值向量的初始化函数,如果网络的初始化函数为initlay,则第i个网络层阈值向量的初始化函数的函数为initwb。其值可以设成神经网络工具箱中的以下初始化函数:
initcon---“良心(conscience)”阈值初始化函数;
initzero---零权值/阈值初始化函数; rands---对称随机权值/阈值初始化函数;