Machine learning 神经网络:为什么感知器规则只适用于线性可分数据?

Machine learning 神经网络:为什么感知器规则只适用于线性可分数据?,machine-learning,computer-science,neural-network,Machine Learning,Computer Science,Neural Network,我在前面讨论了线性可分数据的解释。还在读米切尔的机器学习书,我很难理解为什么感知器规则只适用于线性可分数据 Mitchell对感知器的定义如下: 也就是说,如果加权输入的总和超过某个阈值,则y为1或-1 现在,问题是确定一个权重向量,该向量使感知器为每个给定的训练示例生成正确的输出(1或-1)。实现这一点的一种方法是通过感知器规则: 学习可接受权重向量的一种方法是从随机变量开始 权重,然后迭代地将感知器应用于每个训练 例如,在感知器错误分类时修改感知器权重 举个例子。这个过程是重复的,在整个培

我在前面讨论了线性可分数据的解释。还在读米切尔的机器学习书,我很难理解为什么感知器规则只适用于线性可分数据

Mitchell对感知器的定义如下:

也就是说,如果加权输入的总和超过某个阈值,则y为1或-1

现在,问题是确定一个权重向量,该向量使感知器为每个给定的训练示例生成正确的输出(1或-1)。实现这一点的一种方法是通过感知器规则:

学习可接受权重向量的一种方法是从随机变量开始 权重,然后迭代地将感知器应用于每个训练 例如,在感知器错误分类时修改感知器权重 举个例子。这个过程是重复的,在整个培训过程中反复进行 在感知器对所有对象进行分类之前,可以根据需要多次使用示例 正确地训练示例。每一步都会修改权重 根据感知器训练规则,修改权重wi 与输入席有关的规则:


所以,我的问题是:为什么这只适用于线性可分数据?谢谢。

因为
w
x
的点积是
x
s的线性组合,事实上,您可以使用超平面
a_1 x_1+…+a_n x_n>0将数据分成两类


考虑一个2D示例:
X=(X,y)
W=(a,b)
然后
X*W=a*X+b*y
sgn
如果其参数大于0,则返回1,即对于类#1,您有
a*x+b*y>0
,这相当于
y>-a/b x
(假设b!=0)。这个方程是线性的,它把一个二维平面分成两部分。

对不起,我的头爆炸了。我不太懂(没有很强的数学背景)。你能详细说明一下吗?:)具体地说,我不太明白:“使用超平面a_1 x_1+…+a_n x_n>0的两个类”和“这个线性方程将二维平面分成两部分”…
a_1 x_1+…+a_n x_n
>0形成了n维空间中的((n-1)维超平面,但这并不重要)。它类似于二维空间(平面)中的直线(一维对象)。因此,对于任意点,要么是
w*x>0
,要么是
w*x
y>,a/b x
就是
y=-a/b x
,等式被不等式取代。很容易看出,对于任意
x
的不等式版本,我们应该取所有
y
s高于点
y=-a/bx