与matlab神经网络工具箱有关的问题



我对在matlab工具箱中使用nntool有一些担忧。以下链接,如这些来自训练的简单线性神经网络权重,与训练结果不兼容,无法理解为什么,我发现nntool默认情况下会将输入归一化到范围[-1]。所以我有点担心,我创建了一个神经网络,在第一层使用tansig激活,在输出层使用logsig激活。我手动将输出标准化为数据中[01]的范围,并将其提供给nntool。现在我的问题是nntool是否将其进一步规范化为范围[-11]。如果它是正确的,那么它是不正确的,logsig的输出不能在[-1 1]的范围内。

有什么建议吗?

我不是matlab用户,但如果你不想使用规范化,并且它在输入和输出上都是强制的,那么就简单地取消输出的规范化。我假设这是简单的线性归一化(压缩到[-1,1]区间),所以如果你想在[0,1]区间中输出,你可以简单地应用f(x) = (x+1)/2,它将[-1,1]线性映射到[0,1]。神经网络对规模敏感(因为它与激活函数斜率等不可调参数密切相关),因此内部归一化有其优点。如果在训练后应用规范化,这应该有效。

如果它只规范输入,那么您不应该担心,这并不意味着使用任何激活函数都会有任何问题(事实上,正如前面所述,它实际上应该会有所帮助)。

更新

由于这个问题也发布在Cross Validated上,有了更多详细信息,我在那里用更精确的解决方案回答了它。

最新更新