文档

网络

创建自定义神经网络

语法

网络
net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)

寻求帮助

类型帮助网络/网络

描述

网络创建新的自定义网络。它用于创建网络,然后由函数定制,如feedforwardnetnarxnet

网络没有参数返回一个没有输入、层或输出的新的神经网络。

net = network(numInputs,numLayers,biasConnect,inputConnect,layerConnect,outputConnect)接受以下可选参数(显示为默认值):

numInputs

输入的数量,0

numLayers

层数,0

biasConnect

numLayers-by-1布尔向量,0

inputConnect

numLayers——- - - - - -numInputs布尔矩阵,零

layerConnect

numLayers——- - - - - -numLayers布尔矩阵,零

outputConnect

1 -numLayers布尔向量,0

并返回

具有给定属性值的新网络

属性

体系结构属性

net.numInputs

0或正整数

输入数量。

net.numLayers

0或正整数

层数。

net.biasConnect

numLayer-by-1布尔向量

如果net.biasConnect(我)是1,然后是层有偏见,和net.biases{我}是描述这种偏见的结构。

net.inputConnect

numLayer——- - - - - -numInputs布尔向量

如果net.inputConnect (i, j)是1,然后是层权重是否来自输入j,net.inputWeights {i, j}是描述重量的结构。

net.layerConnect

numLayer——- - - - - -numLayers布尔向量

如果net.layerConnect (i, j)是1,然后是层权重来自于图层吗j,net.layerWeights {i, j}是描述重量的结构。

net.numInputs

0或正整数

输入数量。

net.numLayers

0或正整数

层数。

net.biasConnect

numLayer-by-1布尔向量

如果net.biasConnect(我)是1,然后是层有偏见,和net.biases{我}是描述这种偏见的结构。

net.inputConnect

numLayer——- - - - - -numInputs布尔向量

如果net.inputConnect (i, j)是1,然后是层权重是否来自输入j,net.inputWeights {i, j}是描述重量的结构。

net.layerConnect

numLayer——- - - - - -numLayers布尔向量

如果net.layerConnect (i, j)是1,然后是层权重来自于图层吗j,net.layerWeights {i, j}是描述重量的结构。

net.outputConnect

1 -numLayers布尔向量

如果net.outputConnect(我)是1,那么网络有来自层的输出,net.outputs{我}是描述该输出的结构。

net.numOutputs

0或正整数(只读)

网络输出数按net.outputConnect

net.numInputDelays

0或正整数(只读)

根据所有的最大输入延迟net.inputWeights {i, j} .delays

net.numLayerDelays

0或正数(只读)

根据所有的最大层延迟net.layerWeights {i, j} .delays

子对象结构属性

net.inputs

numInputs-by-1单元格数组

net.inputs{我}结构是否定义输入

net.layers

numLayers-by-1单元格数组

net.layers{我}结构定义层吗

net.biases

numLayers-by-1单元格数组

如果net.biasConnect(我)那么是1net.biases{我}是一个结构定义的偏向层

net.inputWeights

numLayers——- - - - - -numInputs单元阵列

如果net.inputConnect (i, j)那么是1net.inputWeights {i, j}是否有一个结构定义了层的权重从输入j

net.layerWeights

numLayers——- - - - - -numLayers单元阵列

如果net.layerConnect (i, j)那么是1net.layerWeights {i, j}是否有一个结构定义了层的权重从层j

net.outputs

1 -numLayers单元阵列

如果net.outputConnect(我)那么是1net.outputs{我}是一个结构定义从层的网络输出

函数属性

net.adaptFcn

网络适配函数名称或

net.initFcn

网络初始化函数的名称或

net.performFcn

网络性能函数名称或

net.trainFcn

网络培训功能名称或

参数属性

net.adaptParam

网络适配参数

net.initParam

网络初始化参数

net.performParam

网络性能参数

net.trainParam

网络训练参数

权重和偏置值属性

网信息战

numLayers——- - - - - -numInputs输入权重值的单元格数组

网LW

numLayers——- - - - - -numLayers单元格数组的层权重值

net.b

numLayers-by-1单元阵列的偏置值

其他属性

net.userdata

结构,可以用来存储有用的值

例子

创建一个输入两层的网络

这个例子展示了如何创建一个没有任何输入和层的网络,然后将其输入和层的数量分别设置为1和2。

Net =网络。numInputs = 1 net。numLayers = 2

或者,您也可以用一行代码创建相同的网络。

Net =网络(1,2)

创建前馈网络并查看属性

这个例子展示了如何创建一个单输入、两层、前馈网络。只有第一层有偏差。输入权重从输入1连接到第1层。一个层权重从层1连接到层2。Layer 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”;

您可以如下所示查看从第一个输入到第一个层的连接的权重。从输入到层的连接权重存储在网信息战。如果尚未设置值,则这些结果为空。

网信息战{1,1}

您可以如下所示查看从第一层到第二层的连接的权重。从一个层到另一个层的连接权重存储在其中网LW。同样,如果尚未设置值,则结果为空。

网LW{2,1}

您可以查看第一层的偏置值如下。

net.b {1}

要改变输入1到2中的元素数量,设置每个元素的范围:

net.inputs{1}。Range = [0 1;1 1];

为了模拟一个两元素输入向量的网络,代码可能是这样的:

P = [0.5;-0.1);Y = sim(净,p)

R2006a之前介绍

这个话题有用吗?