首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MATLAB神经网络工具箱中使用自定义神经网络函数

如何在MATLAB神经网络工具箱中使用自定义神经网络函数
EN

Stack Overflow用户
提问于 2014-03-14 17:56:47
回答 1查看 5.2K关注 0票数 0

我试图创建如下所示的神经网络。它有3个输入、2个输出和2个隐藏层(总共4层,或3层权重矩阵)。第一隐层有4个神经元,第二隐层有3个,第一和第二隐层有一个偏置神经元,输出层有一个偏置神经元。

我试过在MATLAB中使用“创建自定义神经网络”函数,但我无法让它以我想要的方式工作。

我就是这样使用这个函数的

代码语言:javascript
复制
net1=network(3,3,[1;1;1],[1,1,1;0,0,0;0,0,0],[0,0,0;1,0,0;0,1,0],[0,0,0])
view(net1)

它给了我神经网络,如下所示:

如你所见,这不是我想要的。第一层只有三个权重,第二层只有一个,输出层只有一个,输出层只有一个。我该怎么解决这个问题?

谢谢!

为了澄清我希望这个网络是如何运作的:

  • 用户将输入3个号码到网络。
  • 三个输入中的每一个被乘以4个不同的权重,然后这些数字被发送到第一个隐藏层中的4个神经元。
  • 该偏置节点的作用与输入相同,但它的值总是1。它被乘以4个不同的权重,然后发送给第一个隐层中的4个神经元。
  • 第一个隐藏层中的每个神经元将进入它的4个数字相加,然后通过sigmoid激活函数传递这个数字。
  • 第一个隐层中的神经元输出4个数,每个数乘以3个不同的权重,然后发送给第二个隐藏层中的3个神经元。
  • 指向第二隐藏层的偏置节点与第一偏置节点的工作原理相同。
  • 第二隐层中的每个神经元将进入该层的5个数字之和,并通过乙状结肠激活函数传递。
  • 然后,第二层中的神经元输出两个数字,再乘以权重,然后进入每一个输出。
  • 输出层还将其所有输入(包括偏置输入)求和,然后通过sigmoid激活函数来获得最后的两个值。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-14 20:21:22

在玩了一段时间后,我想出了怎么做。我需要使用的代码是:

代码语言:javascript
复制
net = newff([0 1; 0 1; 0 1],[4,3 2],{'logsig','logsig','logsig'})
view(net)

这就创建了我一直在寻找的网络。

我最初误解了神经网络的matlab表示。绿色箭头显示所有数字的路径,而不仅仅是一个数字。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22412429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档