Main Content

feedforwardnet

生成前馈神经网络

说明

示例

net = feedforwardnet(hiddenSizes,trainFcn) 返回前馈神经网络,其隐藏层大小为 hiddenSizes,训练函数由 trainFcn 指定。

前馈网络由一系列层组成。第一层有来自网络输入的连接。每个后续层都有来自上一个层的连接。最终层产生网络的输出。

您可以将前馈网络用于任何类型的输入到输出映射。具有一个隐藏层且隐藏层中有足够多神经元的前馈网络可以拟合任何有限输入-输出映射问题。

前馈网络的专用版本包括拟合和模式识别网络。有关详细信息,请参阅 fitnetpatternnet 函数。

前馈网络的一个变体是级联前向网络,从输入到每层以及从每层到所有后续层,该网络都有额外的连接。有关级联前向网络的详细信息,请参阅 cascadeforwardnet 函数。

示例

全部折叠

此示例说明如何使用前馈神经网络来求解简单的问题。

加载训练数据。

[x,t] = simplefit_dataset;

1×94 矩阵 x 包含输入值,1×94 矩阵 t 包含相关联的目标输出值。

构造一个前馈网络,其中一个隐藏层的大小为 10。

net = feedforwardnet(10);

使用训练数据训练网络 net

net = train(net,x,t);

{"String":"Figure Neural Network Training (31-Aug-2022 02:00:18) contains an object of type uigridlayout.","Tex":[],"LaTex":[]}

查看经过训练的网络。

view(net)

使用经过训练的网络估计目标。

y = net(x);

评估经过训练的网络的性能。默认性能函数是均方误差。

perf = perform(net,y,t)
perf = 1.4639e-04

输入参数

全部折叠

网络中隐藏层的大小,指定为行向量。向量的长度确定网络中隐藏层的数量。

示例: 例如,您可以指定一个具有 3 个隐藏层的网络,其中第一个隐藏层大小为 10,第二个为 8,第三个为 5,如下所示:[10,8,5]

输入和输出大小设置为零。软件在训练期间根据训练数据调整这些项的大小。

数据类型: single | double

训练函数名称,指定为下列各项之一。

训练函数算法
'trainlm'

Levenberg-Marquardt

'trainbr'

贝叶斯正则化

'trainbfg'

BFGS 拟牛顿

'trainrp'

弹性反向传播

'trainscg'

量化共轭梯度

'traincgb'

带 Powell/Beale 重启的共轭梯度

'traincgf'

Fletcher-Powell 共轭梯度

'traincgp'

Polak-Ribiére 共轭梯度

'trainoss'

单步正割

'traingdx'

可变学习率梯度下降

'traingdm'

带动量的梯度下降

'traingd'

梯度下降

示例: 例如,您可以将可变学习率梯度下降算法指定为训练算法,如下所示:'traingdx'

有关训练函数的详细信息,请参阅训练与应用多层浅层神经网络选择多层神经网络训练函数

数据类型: char

输出参数

全部折叠

前馈神经网络,以 network 对象形式返回。

版本历史记录

在 R2010b 中推出