神经网络学习笔记(十二):异或问题

来源:互联网 发布:手机版java通用版 编辑:程序博客网 时间:2024/06/03 23:38


       在Rosenblatt单层感知机中已经对异或问题做了介绍,并论证说明了只适用于线性分类问题的Rosenblatt感知机无法对异或问题进行分类。然而非线性问题是普遍存在的,下面就使用带隐藏节点的神经网络来解决异或问题。


异或问题:


        异或(XOR)问题可以看做是单位正方形的四个角,响应的输入模式为(0,0),(0,1),(1,1),(1,0)。第一个和第三个模式属于类0,即


输入模式(0,0)和(1,1)是单位正方形的两个相对的角,但它们产生相同的结果是0。另一方面,输入模式(0,1)和(1,0)是单位正方形另一对相对的角,但是它们属于类1,即



      很显然,无法找出一条直线作为决策边界可以使(0,0)和(1,1)在一个区域,而(1,0)和(0,1)在另一个区域。然而,可以使用如下图所示的一层有两个隐藏神经元的隐藏层来解决异或问题。

                                

这里做如下假设:

1、每一个神经元都由一个McCulloch-Pitts模型(见第一讲)表示,使用阈值函数作为它的激活函数。

2、比特符号0和1,分别由0和+1表示。

隐藏层顶部的神经元标注为“Neuron 1”,有


该隐藏神经元构造的决策边界斜率等于-1,在下图最上面的图中给出器位置,隐藏层底部的神经元标注为“Neuron 2”,有


隐藏元构造的决策边界方向和位置由下图中间的图给出。

       输出层的神经元标注为“Neuron 3”,有


输出神经元的功能是对两个隐藏神经元形成的决策边界构造线性组合。这个计算结果由下图中最下面的图给出。底部隐藏神经元由一个兴奋(正)链接到输出神经元,而顶部隐藏神经元由一个更强的抑制(负)连接到输出神经元。当两个隐藏神经元都断开时,这种情况当输入信号(0,0)发生时,输出神经元保持断开。当两个隐藏神经元都接通时,这种情况当输入信号时(1,1)是发生,输出神经元也保持断开。当输入模式是(0,1)或(1,0)时,输出神经元是连通的,因为正的权值连向了底部隐藏神经元。

                                                 




0 1