感知机(Perceptron)无法解决异或(XOR)问题的原因

目录

1.异或问题

2.感知机(Perceptron)


感知机(Perceptron)为什么无法解决异或(XOR)问题呢?

1.异或问题

首先我们来分析一下什么是异或问题。通俗得说,这个是概念性的问题,搞懂概念即,相同的就是0,不同的就是1,比如:1000异或1000,结果就是0000,1000异或1001,结果就是0001。可用下图表示:

感知机(Perceptron)无法解决异或(XOR)问题的原因

即异或问题可以分为根据输出可以分为两类,显示在二维坐标系中如上图(右)所示:其中输出结果为1对应右图中红色的十字架,输出为0对应右图中蓝色的圆圈,我们可以发现对于这种情况无法找到一条直线将两类结果分开。

2.感知机(Perceptron)

感知机到底是什么呢?首先来看一下他的数学定义:
假设输入空间(即样本的特征空间)为X⊆感知机(Perceptron)无法解决异或(XOR)问题的原因,输出空间为y={+1,−1}。输入位x⊂X表示样本的特征向量,对应于输入空间(特征空间)的点;输出y⊂Y表示样本类别。由输入空间到输出空间对应的函数关系如下:

感知机(Perceptron)无法解决异或(XOR)问题的原因

 此函数被称为感知机。其中,w与b为感知机的模型参数,w⊂感知机(Perceptron)无法解决异或(XOR)问题的原因为权重(weight)或权值向量(weight vector),b⊂R为偏置(bias),w⋅x表示w与x的内积,而sign是符号函数,即:

感知机(Perceptron)无法解决异或(XOR)问题的原因

 感知机是一种线性分类模型,属于判别模型。而异或问题是线性不可分的,在异或问题的图示中,我们可以发现无法找到一条直线将两类结果分开,即无法找到一个线性模型将其进行划分,所以感知机无法解决异或问题。