您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > matlab神经网络和程序-(3)
3MATLAB神经网络工具箱中的网络对象及其属性本章要点•MATLAB神经网络工具箱中的网络对象及其属性•MATLAB神经网络工具箱中的网络子对象及其属性3.1MATLAB神经网络工具箱中的网络对象在MATLAB中把定义的神经网络看作一个对象,对象还包括一些子对象:输入向量、网络层、输出向量、目标向量、权值向量和阈值向量等,这样网络对象和各子对象的属性共同确定了神经网络对象的特性。网络属性除了只读属性外,均可以按照约定的格式和属性的类型进行设置、修改、引用等。引用格式为:网络名.[子对象].属性例如:net.inputs{1}.range=[01;01];net.layers{1}.size=3;net.layers{1}.transferFCn=’hardlim’3.2MATLAB神经网络工具箱中的网络对象属性1.结构属性-结构属性决定了网络子对象的数目(包括输入向量、网络层向量、输出向量、目标向量、阈值向量和权值向量的数目)以及它们之间的连接关系。无论何时,结构属性值一旦发生变化,网络就会自动重新定义,与之相关的其他属性值也会自动更新。(1)numInputs属性:net.numInputs属性定义了网络的输入源数,它可以被设置为零或正整数。3.2MATLAB神经网络工具箱中的网络对象属性(2)numLayers属性:numLayers属性定义了网络的层数,它可以被设置为零或正整数。(3)biasConnect属性:net.biasConnect属性定义各个网络层是否具有阈值向量,其值为布尔型向量(0或1),为网络层数(net.numLayers)(4)inputConnect属性:net.inputConnect属性定义各网络层是否具有来自个输入向量的连接权,其值为布尔型向量(0或1),为网络输入向量维数(net.layers{1}.size)。(5)layerConnect属性:net.layerConnect属性定义一个网络层是否具有来自另外一个网络层的连接权,其值为的布尔型向量(0或1)。N1NNRRNN3.2MATLAB神经网络工具箱中的网络对象属性(6)targetConnect属性:net.targetConnect定义各网络层是否和目标向量有关,其值为的布尔型向量(0或1)。(7)outputConnect属性:net.outputConnect属性定义各网络层是否作为输出层,其值为的布尔型向量(0或1)。(8)targetConnect:该属性定义了神经网络的目标层,即网络哪些层的输出具有目标矢量。其属性值为维的布尔量矩阵。(9)numOutputs:该属性定义了神经网络输出矢量的个数,属性值为只读变量,其数值为网络中输出层的总数(sum(net.outputConnect))。1N1N1N3.2MATLAB神经网络工具箱中的网络对象属性(10)numTargets:该属性定义了网络目标矢量的个数,属性值为只读变量,其数值为网络中目标层的总数(sum(net.targetConnect))。(11)numInputDelays:该属性定义了神经网络的输入延迟,属性值为只读变量,其数值为网络各输入层输入延迟拍数(net.inputWeights{i,j}.delays)中的最大值。(12)numLayerDelays:该属性定义了神经网络的层输出延迟,属性值为只读变量,其数值为各层的神经元之间连接延迟拍数(net.layerWeights{i,j}.delays)中的最大值。3.2MATLAB神经网络工具箱中的网络对象属性2.函数属性-函数属性定义了一个网络在进行权值/阈值调整、初始化、误差性能计算或训练时采用的算法。(1)adaptFcn属性:net.adaptFcn属性定义了网络进行权值/阈值自适应调整时所采用的函数,它可以被设置为任意一个进行权值/阈值调整的函数名,包括trains函数。(2)performFcn属性net.performFcn属性定义了网络用于衡量网络性能所采用的函数,其属性值为表示性能函数名称的字符串。3.2MATLAB神经网络工具箱中的网络对象属性(3)trainFcn属性:net.trainFcn属性定义了网络用于训练网络性能所采用的函数,其属性值为表示训练函数名称的字符串。(4)initFcn属性:net.adaptFcn属性定义了网络初始化权值/阈值向量所采用的函数其属性值为表示网络初始化函数名称的字符串。包括层—层结构的初始化函数initlay,层初始化函数initnw,initwb。3.2MATLAB神经网络工具箱中的网络对象属性3.参数属性(1)adaptParam属性:net.adaptParam属性定义了网络当前自适应函数的各参数,其属性值为各参数构成的结构体。(2)initParam属性:net.initParam属性定义了网络当前初始化函数的各参数,其属性值为各参数构成的结构体。(3)performParam属性:net.performParam该属性定义了网络当前性能函数的各参数,其属性值为各参数构成的结构体。(4)trainParam属性:net.trainParam该属性定义了网络当前训练函数的各参数,其属性值为各参数构成的结构体。3.2MATLAB神经网络工具箱中的网络对象属性4.权值和阈值属性(1)IW属性:net.IW属性定义了从网络输入向量到网络层的权值向量(即输入层的权值向量)结构。其值为的细胞矩阵。(2)LW属性:net.LW定义了从一个网络层到另一个网络层的权值向量结构。其值为的细胞矩阵。(3)b属性:net.b属性定义各网络层的阈值向量结构。其值为的细胞矩阵。NRNNN13.3MATLAB神经网络工具箱中的网络子对象属性子对象的属性定义了网络的各个子对象:输入向量、网络层、输出向量、目标向量、权值向量和阈值向量的属性。1.输入向量(1)size属性:net.inputs{i}.size定义了网络各维输入向量的元素数目,可以被设置为零或正整数。(2)range属性:net.inputs{i}.range定义了第维输入向量中每个元素的取值范围,其值是一个的矩阵。(3)userdata属性:net.input{i}.userdata和net.userdata为用户提供了关于输入向量的用户信息的地方,它预先只定义了一个字段,其值为一提示信息。R23.3MATLAB神经网络工具箱中的网络子对象属性2.网络层(1)dimensions属性:net.Layers{i}.dimensions属性定义了每层神经元在多维空间中排列时各维的维数,其属性值为一个行矢量,该矢量中各元素的乘积等于该层神经元的个数(net.layers{i}.size)。(2)distanceFcn属性:net.layers{i}.distanceFcn,该属性定义了每层神经元间距的计算函数,其属性值为表示距离函数名称的字符串。(3)distances属性(只读):net.layers{i}.disances,该属性定义了每层网络中各神经元之间的距离,属性值为只读变量,其数值由神经元的位置坐标(net.layers{i}.positions)和距离函数(net.layers{i}.distanceFcn)来确定。3.3MATLAB神经网络工具箱中的网络子对象属性(4)initFcn属性:net.layers{i}.initFcn,如果网络初始化函数(net.initFcn)设置为initlay,则该属性定义为第层网络的初始化函数。(5)netInputFcn属性:net.layers{i}.netInputFcn属性定义一个网络输入函数,以给定的权值和阈值计算第层网络的输入。(6)positions属性(只读):该属性定义了每层网络中各神经元的位置坐标,属性值为只读变量,其值由拓扑函数(net.layers{i}.topologyFcn)和神经元在各维分布的维数(net.layers{i}.dimensions)来确定。(7)size属性:net.layers{i}.size,该属性定义第层网络中的神经元数目,其值可以设置为零或正整数。iii3.3MATLAB神经网络工具箱中的网络子对象属性3.输出向量(1)size属性:net.outputs{i}.size,该属性定义了第层网络输出向量中元素的个数,其值为第层网络神经元的数目(net.layers{i}.size)。(2)userdata属性:net.outputs{i}.userdata,该属性为用户提供了增加关于第层网络输出向量的用户信息的地方,它预先只定义一个字段,其值为一提示信息。ii3.3MATLAB神经网络工具箱中的网络子对象属性4.目标向量(1)size属性:net.targets{i}.size,该属性定义了第层网络目标向量中元素的个数,其值为第层网络神经元的数目(net.layers{i}.size)。(2)userdata属性:net.targets{i}.userdata,该属性为用户提供了增加关于第个网络层目标向量的用户信息的地方,它预先只定义一个字段,其值为一提示信息iii3.3MATLAB神经网络工具箱中的网络子对象属性5.阈值向量(1)initFcn属性:net.biases{i}.initFcn,该属性定义了第层网络阈值向量的初始化函数,如果网络的初始化函数为initlay,则第层网络阈值向量的初始化函数的函数为initwb。(2)learn属性:net.biases{i}.learn,该属性定义第个阈值向量在训练和调整过程中是否变化。其值可以设置为0或1。(3)learnFcn属性:net.biases{i}.learnFcn,如果网络的训练函数是trainb、trainc和trainr,或者网络的调整函数为trains,则该属性定义第层网络阈值向量在训练和调整学习过程中的学习函数。iiii3.3MATLAB神经网络工具箱中的网络子对象属性(4)learnParam属性:net.biases{i}.learnParam,该属性定义了第层网络阈值向量当前学习函数的参数及参数值,其值取决于当前的学习函数(net.biases{i}.learnFcn)(5)size属性(只读):net.biases{i}.size,该属性定义了第层网络阈值向量元素的数目,其值为第层网络神经元的数目(net.layers{i}.size)。(6)userdata属性:net.biases{i}.userdata,该属性为用户提供了增加关于第层网络阈值的用户信息的地方,它预先只定义一个字段,其值为一提示信息iii
本文标题:matlab神经网络和程序-(3)
链接地址:https://www.777doc.com/doc-6299486 .html