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

Machine learning 如何在MATLAB神经网络工具箱中使用自定义神经网络函数,machine-learning,neural-network,matlab,Machine Learning,Neural Network,Matlab,我正在尝试创建如下所示的神经网络。它有3个输入、2个输出和2个隐藏层(总共4层,或3层权重矩阵)。第一隐层有4个神经元,第二隐层有3个神经元。在第一和第二隐藏层以及输出层有一个偏置神经元 我曾尝试在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) 它给出了如下所示的神经网络: 正如你所看到的

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

我曾尝试在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)
它给出了如下所示的神经网络:

正如你所看到的,这不是我想要的。第一层中只有3个权重,第二层中有1个权重,输出层中有1个权重,并且只有一个输出。我该如何解决这个问题

谢谢


我只是想澄清一下我希望这个网络如何运作:

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

玩了一段时间后,我终于想出了办法。我需要使用的代码是:

net = newff([0 1; 0 1; 0 1],[4,3 2],{'logsig','logsig','logsig'})
view(net)
这创造了我一直在寻找的网络


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

您是如何指定每个连接权重值的?(我想知道您如何手动设置连接重量值?)