0

我对 MatLab 很陌生。我的任务是在 MatLab 中使用神经网络对非线性回归进行建模。

我需要创建一个两层神经网络,其中:

  1. 第一层是 N 个具有 sigmoid 激活函数的神经元。

  2. 第二层是具有一个神经元和一个线性激活函数的层。

这是我实现网络的方式:

net = network(N, 2);
net.layers{1}.transferFcn = 'logsig';
net.layers{1}.size = N
net.layers{2}.size = 1;

这个实现正确吗?我应该如何将线性激活函数分配给第二层?

4

2 回答 2

0

快速阅读有关该nntransfer函数的 Matlab 帮助可以为您提供可以使用的所有可能的传递函数的列表。在您的情况下,我认为您应该尝试poslin(正线性)或purelin(纯线性)。

当您有这样的问题时,最好的方法实际上是向 Matlab 询问您的可能性。在这种情况下,我只是net.layers{2}在 Matlab 控制台窗口中输入。这将显示第 2 层的参数列表。然后,您只需单击链接TransferFcn,Matlab 帮助就会自动打开该参数值的可能选项。这适用于您的神经网络的任何参数;)

于 2015-04-10T19:47:56.727 回答
0

您没有确定第二层的传递函数。

net.layers{2}.transferFcn='pureline'

其余的都可以。

于 2015-06-22T12:01:31.783 回答