我对于为什么具有多个输入类别(例如具有三个输入和两个输出单元(无隐藏层))的感知器为何不能用于解决XOR问题感到困惑?是真的吗?

此外,我使用S形激活函数实现了一个具有三个输入单元和一个输出单元的感知器,并且似乎学习了XOR函数。但是文献似乎说这是不可能的。我想念什么吗?

最佳答案

简而言之:


  我对为什么感知器具有多类别感到困惑
  分类,例如,具有三个输入和两个输出单元(无
  隐藏层)不能用于解决XOR问题?是真的吗?


两个输出神经元是什么意思?作为结果,您将获得两个输出信号,例如

0 0 -> 0 1
1 0 -> 0 0
0 1 -> 0 0
1 1 -> 1 0


可以用它来表示xor吗?是的,您可以在其上构建另一个模型,然后将0 0分类为一个类,将0 11 0分类为另一类,但这等同于创建一个隐藏层。换句话说,您尝试做的实际上与隐藏层所做的完全相同。您正在寻找使问题更容易解决的中间表示形式,但是这种表示形式本身并不是解决方案。您需要再一层抽象。


  另外,我实现了一个具有三个输入单元和一个输出的感知器
  单元使用S形激活函数,似乎可以学习
  XOR功能。但是文献似乎说这不是
  可能。我想念什么吗?


不,您没有实现这一目标。根本不可能将XOR函数表示为单层隐藏层网络-实际上,输出神经元的激活功能对分离能力没有任何影响。如果您提供了代码,则现在可以向您显示错误-您只能确保至少在以下其中一项中犯了错误:


准备数据时,您的数据集不是XOR问题(您的第三个输入是什么?它只能是某个常量值-所谓的bias,否则不是XOR)
处理数据,您实际上并没有使用单个感知器
评估-您的方法实际上无法学习XOR,但评估却相反。

关于machine-learning - 可以使用感知器使用多类别分类来解决XOR功能吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31319292/

10-12 23:59