2022年MATLAB神经网络工具箱中的网络对象及属性 .pdf
《2022年MATLAB神经网络工具箱中的网络对象及属性 .pdf》由会员分享,可在线阅读,更多相关《2022年MATLAB神经网络工具箱中的网络对象及属性 .pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 目录结构属性.1 函数属性.4 参数属性.6 权值和阈值属性.7 子对象的属性.8 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 14 页 -1 在MATLAB 中把定义的神经网络看作一个对象,对象还包括一些子对象:输入向量、网络层、输出向量、目标向量、权值向量和阈值向量等,这样网络对象和各子对象的属性共同确定了神经网络对象的特性。网络属性除了只读属性外,均可以按照约定的格式和属性的类型进行设置、修改、引用等。引用格式为:网络名.子对象 .属性例如:net.Inputs,net.biasConnect(1),net.inputConnect(1,2),net.inputs1
2、.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)numInputs属性net.numInputs属性定义
3、了网络的输入向量数,它可以被设置为零或正整数。其值一般在用户定义网络中才被设置,而由MATLAB 神经网络工具箱中的网络定义函数所创建的网络,则输入向量就不止一个,而是多个。所以网络的输入向量数并不是网络输入元素的个数。net.numInputs属性值一旦改变,与输入向量相关的输入层连接向量(net.inputConnect)和输入层向量(net.inputs)会自动随之改变。(2)numLayers属性numLayers属性定义了网络的层数,它可以被设置为零或正整数。net.numLayers 属性值一旦改变,下列与网络相关的布尔代数矩阵就会随之改变:net.biasConnect net.
4、inputConnect net.layerConnect net.targetConnect 下列与网络层相关的子对象细胞矩阵的大小也会随之改变:net.biases net.inputWeights net.layerWeights net.outputs net.targets 下列网络调整参数细胞矩阵的大小也会随之改变:net.IW net.LW net.b 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 14 页 -2 细胞矩阵是将多个矩阵向量作为细胞矩阵的一个“细胞(Cell)”,细胞矩阵的各个元素值为对应细胞的大小和数值类型。(3)biasConnect 属性net
5、.biasConnect属性定义各个网络层是否具有阈值向量,其值为Nl*1 布尔型向量(0或 1),Nl为网络层数(net.Layers)。可以通过访问 net.biasConnecti的值,查看第i 个网络层是否具有阈值向量。net.biasConnect的属性值一旦改变,则阈值结构细胞矩阵(net.biases)和阈值向量细胞矩阵(net.b)将随之改变。(4)inputConnect 属性net.inputConnect属性定义各网络层是否具有来自个输入向量的连接权,其值为 Nl*Ni布尔型向量(0 或 1),Nl 为网络层数(net.numLayers),Ni为网络输入向量数(net.
6、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 个网络层是否具
7、有来自第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)和输出层结构细胞矩阵(ne
8、t.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 属性值为输出向量的数目,它等于outputCon
9、nect 矩阵中元素值为1(True)的个数之和,即:numOutputs=sum(net.outputConnect)。(9)numTargets属性(只读)net.numTargets属性值为输出向量的数目,它等于targetConnect矩阵中元素值为1(True)的个数之和,即:numTargets=sum(net.targetConnect)。(10)numInputDelays 属性(只读)net.numInputDelays属性定义进行网络仿真时输入向量的延迟量。其值总是设置为与网络输入相连的权值延迟量的最大值,即名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 14
10、 页 -3 numInputDelays=0;for i=1:net.numLayers for j=1:net.numInputs if net.inputConnect(i,j)numInputDelays=max(numInputDelays net.inputWeightsi,j.delays);end end(11)numLayerDelays属性(只读)net.numLayerDelays属性定义进行网络仿真时网络层输出到哪员的延迟量。其值总是设置为与网络相连的权值延迟量的最大值,即numLayerDelays=0;for i=1:net.numLayers for j=1:net
11、.numLayers if net.layerConnect(i,j)numLayerDelays=max(numLayerDelays net.layerWeightsi,j.delays);end end 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 14 页 -4 函数属性函数属性定义了一个网络在进行权值/阈值调整、初始化、误差性能计算或训练时采用的算法。(1)adaptFcn属性net.adaptFcn属性定义了网络进行权值/阈值调整时所采用的函数,它可以被设置为任意一个进行权值/阈值调整的函数名,包括trains函数。adapt 函数一旦被调用,就可以实现网络权值/阈
12、值的调整:net,Y,E,Pf,Af=adapt(NET,P,T,Pi,Ai)另外,用户可以自定义权值/阈值调整函数。adaptFcn 属性值一旦发生变化,网络的调整参数(net.adaptFcn)将被设置为新的调整函数所包含的参数及其默认参数值。(2)initFcn属性net.adaptFcn属性定义了网络初始化权值/阈值向量所采用的函数,它可以被设置为任意一个进行网络权值/阈值初始化的函数名,包括 initlay(网络层初始化函数)工具箱函数。init函数一旦被调用,就可以实现网络权值/阈值的初始化:net=init(net)init属性值一旦发生变化,网络的初始化参数(net.initP
13、aram)将被设置为新的初始化函数所包含的参数及其默认参数值。(3)performFcn 属性net.performFcn属性定义了网络用于衡量网络性能所采用的函数,它可以被设置为任意一个网络性能函数名。例如:mae-绝对平均误差性能函数(mean absolute error);mse-均方误差性能函数(mean squared error);msereg-归一化均方误差性能函数(mean squared error with regularization);sse-平方和误差性能函数(sum squared error)。performFcn 属性值一旦发生变化,网络性能参数(net.pe
14、rformParam)将被设置为新的性能函数所包含的参数及其默认值。(4)trainFcn 属性net.trainFcn属性定义了网络用于训练网络性能所采用的函数,它可以被设置为任意一个训练函数名。trainbfg-BFGS算法(拟牛顿反向传播算法)训练函数;trainbr-贝叶斯归一化法训练函数;traincgb-Powell-Beale共轭梯度反向传播算法训练函数;traincgp-Polak-Ribiere变梯度反向传播算法训练函数;traingd-梯度下降反向传播算法训练函数;名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 14 页 -5 traingda-自适应调整学习
15、率的梯度下降反向传播算法训练函数;traingdm-附加动量因子的梯度下降反向传播算法训练函数;traingdx-自适应调整学习率并附加动量因子的梯度下降反向传播算法训练函数;trainlm-Levenberg-Marquardt反向传播算法训练函数;trainoss-OSS(one step secant)反向传播算法训练函数;trainrp-RPROP(弹性 BP 算法)反向传播算法训练函数;trainscg-SCG(scaled conjugate gradient)反向传播算法训练函数;trainb-以权值/阈值的学习规则采用批处理的方式进行训练的函数;trainc-以学习函数依次对输
16、入样本进行训练的函数;trainr-以学习函数随机对输入样本进行训练的函数。当调用 train函数时,上述训练函数被用于训练网络:net,tr=train(NET,P,T,Pi,Ai)trainFcn的属性值一旦发生变化,网络训练参数(net.trainParam)将被设置为新的训练函数所包含的参数及其默认参数值。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 14 页 -6 参数属性(1)adaptParam属性net.adaptParam 属性定义为当前网络权值/阈值调整函数的参数及参数值,取决于当前的权值/阈值调整函数(net.adaptFcn),可以查看有关调整函数的帮助
17、以获得这些参数及参数值。在 MATLAB 命令窗口中输入命令:help(net.adaptFcn)也可以获得这些参数以及参数值的具体描述。(2)initParam 属性net.initParam属性定义当前初始化函数的参数及参数值,取决于当前的初始化函数(net.initFcn),可以查看有关初始化函数的帮助获得这些参数及参数值。在MATLAB 命令窗口中输入名利:help(net.initFcn)也可获得这些参数及参数值的具体描述。(3)performParam属性net.performParam属性定义当前函数的参数及参数值,取决于当前的性能函数(net.performFcn),可以查看有
18、关性能函数的帮助获得这些参数以及参数值。在MATLAB命令窗口中输入:help(net.performFcn)也可获得这些参数及参数值的具体描述。(4)trainParam 属性net.trainParam属性定义当前训练函数的参数及参数值,取决于当前的训练函数(net.trainFcn),可以查看有关训练函数的帮助获得这些参数以及参数值。在MATLAB 命令窗口中输入命令:help(net.trainFcn)也可获得这些参数及参数值的具体描述。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 14 页 -7 权值和阈值属性权值和阈值的属性定义了网络的可调整参数:权值向量和阈值向量
19、。(1)IW属性net.IW 属性定义了从网络输入向量到网络层的权值向量(即输入层的权值向量)结构。其值为 Nl*Ni 的细胞矩阵,Nl为网络层数(net.numLayers),Ni为输入向量数(net.numInputs)。通过访问 net.IWi,j,可以获得第 i 个网络层来自第j 个输入向量的权值向量值。(2)LW 属性net.LW定义了从一个网络层到另一个网络层的权值向量结构。其值为Nl*Nl 的细胞矩阵,Nl 为网络层数(net.numLayers)。通过访问 net.LWi,j,可以获得第 i 个网络层来自第j 个网络层的权值向量值。(3)b属性net.b 属性定义各网络层的阈值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年MATLAB神经网络工具箱中的网络对象及属性 2022 MATLAB 神经网络 工具箱 中的 网络 对象 属性
限制150内