Main Content

patternnet

生成模式识别网络

说明

示例

net = patternnet(hiddenSizes,trainFcn,performFcn) 返回模式识别神经网络,该网络有一个大小为 hiddenSizes 的隐藏层、一个由 trainFcn 指定的训练函数和一个由 performFcn 指定的性能函数。

模式识别网络是前馈网络,可经过训练根据目标类对输入进行分类。模式识别网络的目标数据应由除元素 i 中的 1 之外的所有零值向量组成,其中 i 是它们要表示的类。

示例

全部折叠

此示例说明如何设计模式识别网络来对鸢尾花进行分类。

加载训练数据。

[x,t] = iris_dataset;

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

net = patternnet(10);

使用训练数据训练网络 net

net = train(net,x,t);

查看经过训练的网络。

view(net)

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

y = net(x);

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

perf = perform(net,t,y)
perf = 0.0302
classes = vec2ind(y);

输入参数

全部折叠

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

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

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

数据类型: single | double

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

训练函数算法
'trainlm'

莱文贝格-马夸特

'trainbr'

贝叶斯正则化

'trainbfg'

BFGS 拟牛顿

'trainrp'

弹性反向传播

'trainscg'

量化共轭梯度

'traincgb'

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

'traincgf'

弗莱彻-鲍威尔共轭梯度

'traincgp'

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

'trainoss'

单步正割

'traingdx'

可变学习率梯度下降

'traingdm'

带动量的梯度下降

'traingd'

梯度下降

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

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

数据类型: char

性能函数。默认值为 'crossentropy'

此参量定义用于测量网络性能的函数。在训练过程中使用性能函数来计算网络性能。

要查看函数列表,请在 MATLAB 命令行窗口中键入 help nnperformance

输出参量

全部折叠

模式识别神经网络,以 network 对象形式返回。

版本历史记录

在 R2010b 中推出