Math 神经网络0 vs-1

Math 神经网络0 vs-1,math,neural-network,Math,Neural Network,我曾见过一些人在使用神经网络输入数据时使用-1而不是0。这是如何更好地实现的?它对实现它的任何数学都有影响吗 编辑:使用前馈和反馈属性 编辑2:我尝试了一下,但网络停止了学习,所以我认为数学必须在某个地方改变 编辑3:终于找到了答案。二进制的数学与双极的不同。见下面我的答案 这已经有很长一段时间了,但我记得,它对实现网络所需的数学没有影响(假设您使用的网络类型由于某种原因将过程的任何部分限制为非负值)。其优点之一是,它使输入之间有更大的区别,并有助于放大学习信号。产出也是如此 最近做过这件事的人

我曾见过一些人在使用神经网络输入数据时使用
-1
而不是
0
。这是如何更好地实现的?它对实现它的任何数学都有影响吗

编辑:使用前馈和反馈属性

编辑2:我尝试了一下,但网络停止了学习,所以我认为数学必须在某个地方改变

编辑3:终于找到了答案。二进制的数学与双极的不同。见下面我的答案

这已经有很长一段时间了,但我记得,它对实现网络所需的数学没有影响(假设您使用的网络类型由于某种原因将过程的任何部分限制为非负值)。其优点之一是,它使输入之间有更大的区别,并有助于放大学习信号。产出也是如此


最近做过这件事的人可能有更多的话要说(比如0交叉是否会产生影响;我认为确实如此)。事实上,这部分取决于你使用的神经网络的类型。我想你说的是backprop或其变体

与0/1相比,网络使用-1/1输入快速学习。此外,如果使用-1/1输入,0表示“未知输入/噪声/无所谓”。我将使用-1/1作为我的神经网络的输入。

最近发现,如果使用双极型而非二进制,则需要更改sigmoid和sigmoid导数公式

双极乙状结肠功能:
f(x)=-1+2/(1+e^-x)


双极乙状结肠导数:
f'(x)=0.5*(1+f(x))*(1-f(x))

使用backprop是的。我可以理解加权输入会有所不同(即,如果权重为1.84,输入0将得到0,-1将得到-1.84),但我不知道这是否更好,也不知道原因。它确实会对数学产生影响。但我是否需要改变任何东西,或者用-1替换0是否有效。正如我所说,我尝试了一下,但我得到了奇怪的结果。MSE在每个历元中都输出相同的数字。查看此链接以供参考:感谢fin为什么我的网络不会使用双极目标进行训练,意识到signoid不是双极的,但找不到导数,现在效果很好。完成:从正常的
f(x)=sigmoid
扩展到
[a,b]sigmoid
[-1,+1]
在我们的例子中,取
g(x)=(b-a)f(x)+a
(在我们的例子中变成
2f(x)-1