我正在尝试开始使用神经网络并实现像 AND/OR 这样的 bool 函数。 它们不使用 0 和 1 作为二进制输入,而是使用 -1 和 +1。我们有什么理由不能使用 (0, 1) 吗? 例如:http://www.youtube.com/watch?v=Ih5Mr93E-2c
最佳答案
如果您确实指的是输入,则使用{-1,1}
没有限制。您可以轻松地使用 {0,1}
或任何其他实数对(例如 {6,42}
)来定义 True/False 输入值。
图表中可能让您感到困惑的是,{-1,1}
被用作神经元的输出。正如 @Memming 所说,其原因是神经元使用的激活函数。如果使用 tanh 作为激活函数,神经元的输出将在 (-1,1) 范围内,而如果使用 logistic function ,其输出将在 (0,1) 范围内。两者都适用于多层感知器 - 您只需相应地定义目标值(预期输出)即可。
关于binary - 为什么我们使用 -1 和 +1 作为二进制输入而不是 0 和 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19114946/