Main Content

fitnet

函数拟合神经网络

说明

示例

net = fitnet(hiddenSizes) 返回函数拟合神经网络,其隐藏层大小为 hiddenSizes

示例

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

示例

全部折叠

加载训练数据。

[x,t] = simplefit_dataset;

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

构造函数拟合神经网络,其中一个隐藏层的大小为 10。

net = fitnet(10);

查看该网络。

view(net)

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

使用训练数据训练网络 net

net = train(net,x,t);

查看经过训练的网络。

view(net)

您可以看到输入和输出的大小均为 1。

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

y = net(x);

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

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

函数拟合网络的默认训练算法是莱文贝格-马夸特 ('trainlm')。使用贝叶斯正则化训练算法并比较性能结果。

net = fitnet(10,'trainbr');
net = train(net,x,t);

y = net(x);
perf = perform(net,y,t)
perf = 3.3416e-10

贝叶斯正则化训练算法提高了网络在估计目标值方面的性能。

输入参数

全部折叠

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

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

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

数据类型: single | double

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

训练函数算法
'trainlm'

莱文贝格-马夸特

'trainbr'

贝叶斯正则化

'trainbfg'

BFGS 拟牛顿

'trainrp'

弹性反向传播

'trainscg'

量化共轭梯度

'traincgb'

带鲍威尔/比尔重启的共轭梯度

'traincgf'

弗莱彻-鲍威尔共轭梯度

'traincgp'

波拉克-里比埃尔共轭梯度

'trainoss'

单步正割

'traingdx'

可变学习率梯度下降

'traingdm'

带动量的梯度下降

'traingd'

梯度下降

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

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

数据类型: char

输出参量

全部折叠

函数拟合网络,以 network 对象形式返回。

提示

  • 函数拟合是基于一组输入训练神经网络以生成一组相关目标输出的过程。在使用所需的隐藏层和训练算法构造网络后,必须使用一组训练数据对其进行训练。一旦神经网络进行了数据拟合,就会形成输入-输出关系的泛化。然后,您可以使用经过训练的网络对未用于训练的输入生成输出。

版本历史记录

在 R2010b 中推出