network
创建自定义浅层神经网络
语法
net = network
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)
说明
network
创建新的自定义网络。它用于创建网络,这些网络随后通过 feedforwardnet
和 narxnet
等函数进行自定义。
不带参量的 net = network
返回没有输入、层或输出的新神经网络。
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)
接受以下可选参量(以默认值显示):
numInputs | 输入的数目,0 |
numLayers | 层数,0 |
biasConnect |
|
inputConnect |
|
layerConnect |
|
outputConnect | 1× |
并返回
net | 具有给定属性值的新网络 |
属性
架构属性
net.numInputs | 0 或正整数 | 输入的数目。 |
net.numLayers | 0 或正整数 | 层数。 |
net.biasConnect |
| 如果 |
net.inputConnect |
| 如果 |
net.layerConnect |
| 如果 |
net.outputConnect | 1× | 如果 |
net.numOutputs | 0 或正整数(只读) | 基于 |
net.numInputDelays | 0 或正整数(只读) | 基于所有 |
net.numLayerDelays | 0 或正数(只读) | 基于所有 |
子对象结构体属性
net.inputs |
|
|
net.layers |
|
|
net.biases |
| 如果 |
net.inputWeights |
| 如果 |
net.layerWeights |
| 如果 |
net.outputs | 1× | 如果 |
函数属性
net.adaptFcn | 网络自适应函数的名称或 |
net.initFcn | 网络初始化函数的名称或 |
net.performFcn | 网络性能函数的名称或 |
net.trainFcn | 网络训练函数的名称或 |
参数属性
net.adaptParam | 网络自适应参数 |
net.initParam | 网络初始化参数 |
net.performParam | 网络性能参数 |
net.trainParam | 网络训练参数 |
权重和偏置值属性
net.IW | 由输入权重值组成的 |
net.LW | 由层权重值组成的 |
net.b | 由偏置值组成的 |
其他属性
net.userdata | 结构体,可用于存储有用的值 |
示例
创建具有一个输入和两个层的网络
此示例说明如何创建一个没有任何输入和层的网络,然后将其输入和层的数量分别设置为 1 和 2。
net = network net.numInputs = 1 net.numLayers = 2
您也可以用一行代码创建相同的网络。
net = network(1,2)
创建前馈网络并查看属性
此示例说明如何创建一个单输入的两层前馈网络。只有第一层有偏置。输入权重从输入 1 连接到层 1。层权重从层 1 连接到层 2。层 2 是网络输出并有一个目标。
net = network(1,2,[1;0],[1; 0],[0 0; 1 0],[0 1])
您可以使用以下代码查看网络子对象。
net.inputs{1} net.layers{1}, net.layers{2} net.biases{1} net.inputWeights{1,1}, net.layerWeights{2,1} net.outputs{2}
您可以修改任何网络子对象的属性。以下代码可更改这两个层的传递函数:
net.layers{1}.transferFcn = 'tansig'; net.layers{2}.transferFcn = 'logsig';
您可以查看从第一个输入到第一个层的连接的权重,如下所示。从输入到层的连接的权重存储在 net.IW
中。如果值尚未设置,则这些结果为空。
net.IW{1,1}
您可以查看从第一个层到第二个层的连接的权重,如下所示。各层间的连接的权重存储在 net.LW
中。同样,如果值尚未设置,则结果为空。
net.LW{2,1}
您可以查看第一个层的偏置值,如下所示。
net.b{1}
要将输入 1 中的元素数更改为 2,请设置每个元素的范围:
net.inputs{1}.range = [0 1; -1 1];
在训练网络后,您可以使用 sim
对网络进行仿真。例如,对有一个二元素输入向量的网络进行仿真。
p = [0.5; -0.1]; y = sim(net,p)
版本历史记录
在 R2006a 之前推出