如何在MATLAB神经网络工具箱中使用自定义神经网络功能

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

enter image description here

我尝试使用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个数字相加,然后通过S形激活函数传递这个数字。
  • 第一个隐藏层中的神经元然后输出4个数字,每个数字都乘以3个不同的权重,并发送到第二个隐藏层的3个神经元中。
  • 连接到第二个隐藏层的偏置节点的工作方式与第一个偏置节点相同
  • 第二个隐藏层中的每个神经元将进入它的5个数字相加,并通过S形激活函数传递。
  • 第二层中的神经元然后输出两个数字,这些数字再次乘以权重并发送到每个输出
  • 输出层也将所有输入,包括其偏置输入相加,然后通过S形激活函数传递以获得最终的两个值。

回答:

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

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

这创建了我所寻找的网络。

enter image description here

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注