【发布时间】:2014-04-20 04:23:16
【问题描述】:
我正在尝试创建如下所示的神经网络。它有 3 个输入、2 个输出和 2 个隐藏层(总共 4 层,或 3 层权重矩阵)。第一个隐藏层有 4 个神经元,第二个隐藏层有 3 个神经元。有一个偏置神经元连接到第一个和第二个隐藏层,以及输出层。
我已经尝试在 MATLAB 中使用 "create custom neural network" 函数,但我无法让它按我想要的方式工作。
这就是我使用函数的方式
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个权重,第二层有1个,输出层有1个,只有一个输出。我该如何解决这个问题?
谢谢!
只是为了澄清我希望这个网络如何工作:
- 用户将在网络中输入 3 个数字。
- 3 个输入中的每一个都乘以 4 个不同的权重,然后将这些数字发送到第一个隐藏层中的 4 个神经元。
- 偏置节点的作用与其中一个输入相同,但它的值始终为 1。它乘以 4 个不同的权重,然后发送到第一个隐藏层中的 4 个神经元。
- 第一个隐藏层中的每个神经元将输入的 4 个数字相加,然后将该数字传递给 sigmoid 激活函数。
- 然后第一个隐藏层中的神经元输出 4 个数字,每个数字乘以 3 个不同的权重,并发送到第二个隐藏层中的 3 个神经元。
- 进入第二个隐藏层的偏置节点与第一个偏置节点的工作原理相同
- 第二个隐藏层中的每个神经元将输入的 5 个数字相加,然后通过 sigmoid 激活函数。
- 然后,第二层的神经元输出两个数字,这些数字再次乘以权重并进入每个输出
- 输出层还将其所有输入(包括其偏差输入)求和,然后将其传递给 sigmoid 激活函数以获得最后两个值。
【问题讨论】:
-
您好,请检查一下question
标签: machine-learning neural-network matlab