gpt4 book ai didi

machine-learning - 如何使用 MATLAB 神经网络工具箱中的自定义神经网络函数

转载 作者:行者123 更新时间:2023-11-30 09:38:10 27 4
gpt4 key购买 nike

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

enter image description here

我尝试过使用 "create custom neural network" MATLAB 中的函数,但我无法让它按照我想要的方式工作。

这就是我使用该功能的方式

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)

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

enter image description here

如您所见,这不是我想要的。第一层只有3个权重,第二层有1个,输出层有1个,只有一个输出。我该如何解决这个问题?

谢谢!

<小时/>

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

  • 用户将在网络中输入 3 个数字。
  • 3 个输入中的每一个都乘以 4 个不同的权重,然后这些数字被发送到第一个隐藏层中的 4 个神经元。
  • 偏置节点的作用与其中一个输入相同,但其值始终为 1。它会乘以 4 个不同的权重,然后发送到第一个隐藏层中的 4 个神经元。
  • 第一个隐藏层中的每个神经元将进入其中的 4 个数字相加,然后将该数字传递给 sigmoid 激活函数。
  • 然后,第一个隐藏层中的神经元输出 4 个数字,每个数字乘以 3 个不同的权重,然后发送到第二个隐藏层中的 3 个神经元。
  • 进入第二个隐藏层的偏置节点与第一个偏置节点的工作方式相同
  • 第二个隐藏层中的每个神经元将进入其中的 5 个数字相加,并将其传递给 sigmoid 激活函数。
  • 然后,第二层中的神经元输出两个数字,这些数字再次乘以权重并转到每个输出
  • 输出层还将其所有输入(包括其偏差输入)相加,然后将其传递给 sigmoid 激活函数以获得最终的两个值。

最佳答案

经过一段时间的尝试,我已经弄清楚了该怎么做。我需要使用的代码是:

net = newff([0 1; 0 1; 0 1],[4,3 2],{'logsig','logsig','logsig'})
view(net)

这将创建我正在寻找的网络。

enter image description here

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

关于machine-learning - 如何使用 MATLAB 神经网络工具箱中的自定义神经网络函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22412429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com