我对MatLab非常陌生。我有一个在MatLab中使用神经网络对非线性回归建模的任务。
我需要创建一个两层神经网络,其中:
第一层是具有S型激活功能的N个神经元。
第二层是具有一个神经元和线性激活的层功能。
这是我实施网络的方式:
net = network(N, 2);
net.layers{1}.transferFcn = 'logsig';
net.layers{1}.size = N
net.layers{2}.size = 1;
此实现正确吗?如何将线性激活函数分配给第二层?
您尚未确定第二层的传递函数。其余的还可以。net.layers {2} .transferFcn ='pureline'
nntransfer
功能上的Matlab帮助快速阅读,列出了可以使用的所有可能的传递函数。对于您的情况,我认为您应该尝试poslin
(正线性)或purelin
一个(纯线性)。
[当您有这样的问题时,最好的方法实际上是'询问'Matlab您所拥有的可能性。在这种情况下,我只需在Matlab控制台窗口中键入net.layers{2}
。这将显示第二层参数的列表。然后,您只需单击链接TransferFcn
,Matlab帮助将自动打开此参数值的可能选项。这适用于您的神经网络的任何参数;)