我们如何决定一个PatternNet中隐藏层的数量?

4次浏览(最近30天)
你好,
好吧,因为我正在研究模式网络(分类),我的疑问是,我们如何决定网络需要的隐藏层的数量。
在此之前,我有8个预测器和1个包含4个类的输出响应。
我知道为了定义一个隐藏层,我们使用:
MyNet = patternnet(10);
但我如何决定我需要10而不是8或其他数字呢?
任何建议都会很有帮助。谢谢你!

接受的答案

格雷格·希斯
格雷格·希斯 2019年8月7日
编辑:格雷格·希斯 2019年8月7日
  1. patternnet(10)表示一个包含10个节点的隐藏层
  2. 注意层和节点的数量是很重要的。
  3. 输入节点集不被认为是一个层(可能是因为在那里没有执行数学操作)
  4. 三组节点(INPUT/HIDDEN/OUTPUT)就足够了。让
size(inputmatrix) = [I N]
size(targetmatrix) = [O N]
然后用一个大小为H的中间“HIDDEN”图层,
典型的大小 二层网
大小(净)= I - H - O
a.输入节点
b. H隐含层节点
c. O输出层节点
4.权重的总数是
Nw = (I + 1) * H + (H + 1) * O
= o + (I + o + 1) * h
其中“1”代表恒定偏差连接
5.数据通常分为Ntrn ~ 0.7*N大小的训练子集,Nval ~ 0.15*N大小的验证子集和Ntst ~ 0.15*N大小的测试子集。
6.对于良好的近似解,训练方程Ntrneq =金宝搏官方网站 Ntrn*O的数量应该足够大于未知权重Nw的数量
7.不等式Nw << Ntrneq导致
H << (0.7 * n * o - o)/(i + o +1)
8.10的倍数通常就足够了
希望这能有所帮助。
格雷格
1评论
abhisrisai
abhisrisai 2019年8月8日
你好格雷格,
非常感谢你的回答,很有帮助。另一个疑问是,当我们有充足的H节点时,预测性能会发生什么变化?在我的例子中,我有8个预测因子,我觉得10个H节点就足够了。如果我增加到40个H节点呢?它会影响我的预测吗?
谢谢你!

登录评论。

更多答案(0)

类别

了解更多机器学习和深度学习帮助中心文件交换

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!