MATLAB神经网络工具箱中的网络对象及属性
更新时间:2023-11-01 07:45:01 阅读量: 综合文库 文档下载
目录
结构属性 ...................................................................... 1 函数属性 ...................................................................... 4 参数属性 ...................................................................... 6 权值和阈值属性 .......................................................... 7 子对象的属性 .............................................................. 8
1
在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)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
1
细胞矩阵是将多个矩阵向量作为细胞矩阵的一个“细胞(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属性定义进行网络仿真时输入向量的延迟量。其值总是设置为与网络输入相连的权值延迟量的最大值,即
2
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 end
3
函数属性
函数属性定义了一个网络在进行权值/阈值调整、初始化、误差性能计算或训练时采用的算法。
(1)adaptFcn属性
net.adaptFcn属性定义了网络进行权值/阈值调整时所采用的函数,它可以被设置为任意一个进行权值/阈值调整的函数名,包括trains函数。
adapt函数一旦被调用,就可以实现网络权值/阈值的调整: [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.initParam)将被设置为新的初始化函数所包含的参数及其默认参数值。
(3)performFcn属性
net.performFcn属性定义了网络用于衡量网络性能所采用的函数,它可以被设置为任意一个网络性能函数名。例如:mae---绝对平均误差性能函数(mean absolute error);mse---均方误差性能函数(mean squared error);msereg---归一化均方误差性能函数(mean squared error with regularization);sse---平方和误差性能函数(sum squared error)。
performFcn属性值一旦发生变化,网络性能参数(net.performParam)将被设置为新的性能函数所包含的参数及其默认值。
(4)trainFcn属性
net.trainFcn属性定义了网络用于训练网络性能所采用的函数,它可以被设置为任意一个训练函数名。
trainbfg---BFGS算法(拟牛顿反向传播算法)训练函数; trainbr---贝叶斯归一化法训练函数;
traincgb---Powell-Beale共轭梯度反向传播算法训练函数; traincgp---Polak-Ribiere变梯度反向传播算法训练函数; traingd---梯度下降反向传播算法训练函数;
4
正在阅读:
机床主轴设计最低转速80,公比1.41,级数8-3kw05-09
某时代广场智能化项目深化设计 - 图文05-13
浅谈移动流媒体技术08-17
液相色谱仪检测器最小检测浓度测量结果不确定度的评定03-02
申诉书格式02-18
单位接收证明格式4篇02-08
防句练习105-10
计算激光光束M_2因子的两种新方法_贺平08-13
时间格言02-18
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 神经网络
- 工具箱
- 属性
- 对象
- MATLAB
- 网络
- 尿素催化反应
- 2019备战中考数学专题练习(全国通用)-几何体的展开图(含答案)学习精品
- 2019年医院放射科主任述职报告(3篇)
- 基因工程作业
- 城市地下综合管廊项目培训教材 - 图文
- 2010年秋季学期施工组织与管理第一次作业
- 2016思考题机械
- 2017-2018学年高中数学人教A版选修1-2创新应用教学案:第三章 3.1数系的扩充和复数的概念 Word版含答案
- 营养午餐教案
- 苏教版 五年级语文下册期末复习试卷(语文)无答案
- 质量风险应急预案管理制度
- 西方法律思想史
- 《你的N岁孩子》
- 我司标准工时之MOD法
- 重要句型(要打印的)
- 飞宫小奇门
- 劳动经济学教学大纲
- 河北省邯郸市2018届高三第二次模拟考试文综地理试题
- 量子力学A卷真题2007年
- 公告离婚的判决书内容