为什么我们将-1和+1作为二进制输入而不是0和1

时间:2013-10-01 11:25:59

标签: binary machine-learning artificial-intelligence neural-network bias-neuron

我正在尝试使用神经网络并实现像AND / OR这样的布尔函数。 它们不使用0和1作为二进制输入,而是使用-1和+1。有没有理由我们不能使用(0,1)? 例如:http://www.youtube.com/watch?v=Ih5Mr93E-2c

2 个答案:

答案 0 :(得分:2)

如果您的意思是输入,则使用{-1,1}没有限制。您可以轻松使用{0,1}或任何其他实数对(例如{6,42})来定义您的True / False输入值。

图表中可能让您感到困惑的是{-1,1}被用作神经元的输出。正如@Memming所说,其原因在于神经元的激活功能。如果tanh用于激活函数,则神经元的输出将在(-1,1)范围内,而如果使用logistic function,则其输出将在范围内(0,1) )。两者都适用于多层感知器 - 您只需相应地定义目标值(预期输出)。

答案 1 :(得分:1)

在大多数情况下,没有区别。只需使用逻辑函数激活而不是tanh。在某些特殊形式中,例如,Ising模型,它可以非常重要地改变参数空间。