我正在使用 Matlab 进行实验,设置一个 Narx 神经网络,其输入向量由 2 个值组成,每个值延迟 30 次,比我有一个具有 40 个神经元的隐藏 sigmoid 层,另一个具有 15 个神经元和输出层组成一个具有 purelin 函数的值。
我尝试将网络传输到 c/c++ lib fann,因此我尝试了解哪个层在做什么。
netc.b{3} = 0.2302
netc.LW{6} 给了我一个有 15 个值的向量。当我将值设置为零时
netc.LW{6} = zeros(1,15)
并通过以下方式为网络提供零
out = netc(con2seq([zeros(1,40);zeros(1,40)]))
我希望只有偏差会出现在输出中,但我得到的值是 311.7813 的 40 倍。将输出层上的偏差设置为零,我得到 255.5 的 40 倍作为输出。我怎么了?