Python Neurolab - 修正输出范围

时间:2014-03-12 18:17:31

标签: python neural-network

我正在学习基于示例$ {((x_ {i1},x_ {i2},....,x_ {ip}),y_i)} _ {i = 1 ... N} $的模型使用前馈多层感知器(newff)的神经网络(使用python库neurolab)。我希望NN的输出对于NN的任何进一步模拟都是正的。 如何确保我学习的NN的模拟结果总是正面的? (我如何在neurolab中做到这一点?)

1 个答案:

答案 0 :(得分:0)

只需在输出神经元上使用标准sigmoid / logistic激活功能。 sigmoid(x)> 0 forall实值x所以应该做你想要的。

默认情况下,许多神经网络库将使用线性或对称sigmoid输出(可能为负)。

请注意,使用标准sigmoid输出功能训练网络需要更长时间。在实践中通常更好的是让值变为负值,然后将输出从网络转换到事后的范围[0,1](向上移动最小值,除以范围(也称为max-min))。 / p>