【发布时间】:2014-05-19 23:04:34
【问题描述】:
最近,我正在尝试使用 Matlab 内置的神经网络工具箱来完成我的分类问题。不过,我对参数设置有一些疑问。
一个。隐藏层神经元个数:
此页面上的示例Matlab neural networks classification example 显示了一个两层(即一层隐藏层和一层输出层)的前馈神经网络。在这个例子中,它在隐藏层使用了 10 个神经元
net = patternnet(10);
我的第一个问题是如何为我的分类问题定义最佳的神经元数量?我应该使用交叉验证方法来获得使用训练数据集的最佳神经元数量吗?
b.有没有办法选择三层或更多的多层神经网络?
c。我们可以在神经网络工具箱中使用许多不同的训练方法。可以在Training methods list 找到一个列表。该页面提到最快的训练功能一般是'trainlm';但是,一般来说,哪一个表现最好?还是完全取决于我使用的数据集?
d。在每种训练方法中,都有一个参数叫做'epochs',就是我理解的训练迭代。对于每种训练方法,Matlab 定义了要训练的最大 epoch 数。但是,从example 看来,“epochs”似乎是我们可以调整的另一个参数。我对吗?或者我们只是设置最大 epoch 数还是保持默认?
欢迎有任何使用 Matlab 神经网络工具箱的经验,非常感谢您的回复。答:
【问题讨论】:
标签: matlab classification pattern-recognition neural-network