神经网络:“线性可分”是什么意思?

时间:2012-12-20 16:34:12

标签: machine-learning neural-network

我正在阅读Tom Mitchell撰写的机器学习书。在讨论神经网络时,米切尔说:

  

“虽然感知器规则在找到成功的权重向量时   训练样例是线性可分的,它可能无法收敛   如果示例不是线性可分的。 “

我在理解“线性可分”的含义时遇到了问题?维基百科告诉我“如果二维空间中的两组点可以完全由一条线分开,则它们可以线性分离。”

但这如何适用于神经网络的训练集?输入(或动作单元)如何可线性分离?

我不是几何学和数学方面最好的 - 有人可以向我解释,好像我是5岁吗? ;)谢谢!

3 个答案:

答案 0 :(得分:38)

这意味着有一个超平面(将输入空间分成两个半空间),这样第一类的所有点都在一个半空间中,而第二类的所有点都在另一个半空间中。

在二维中,这意味着有一条线将一个类的点与另一个类的点分开。

编辑:例如,在此图片中,如果蓝色圆圈表示来自一个类别的点,而红色圆圈表示来自另一个类别的点,则这些点可线性分离。

enter image description here

在三维中,它意味着有一个平面将一个类的点与另一个类的点分开。

在更高的维度上,它是相似的:必须存在一个分离两组点的超平面。

你提到你不擅长数学,所以我不是写正式的定义,但是如果有帮助的话,请告诉我(在评论中)。

答案 1 :(得分:32)

假设你想要编写一个算法,根据两个参数,尺寸和价格,决定一个房子是否会在它出售的同一年内出售。因此,您有2个输入,大小和价格,以及一个输出,将出售或不会出售。现在,当你收到你的训练集时,可能会发生输出没有累积以使我们的预测变得容易(你能告诉我,基于第一张图,X是N还是S?怎么样?第二张图):

        ^
        |  N S   N
       s|  S X    N
       i|  N     N S
       z|  S  N  S  N
       e|  N S  S N
        +----------->
          price


        ^
        |  S S   N
       s|  X S    N
       i|  S     N N
       z|  S  N  N  N
       e|    N N N
        +----------->
          price

其中:

S-sold,
N-not sold

正如您在第一张图表中看到的那样,您无法用直线将两个可能的输出(已售出/未出售)分开,无论您如何尝试,都将始终同时为S和{在线的两边{1}},这意味着你的算法会有很多N行,但没有最终的,正确的线来分割2个输出(当然也可以预测新的输出,这是从一开始的目标)。这就是为什么possible(第二个图)数据集更容易预测的原因。

答案 2 :(得分:8)

查看以下两个数据集:

^                         ^
|   X    O                |  AA    /
|                         |  A    /
|                         |      /   B
|   O    X                |  A  /   BB
|                         |    /   B
+----------->             +----------->

左侧数据集可线性分离(不使用内核)。正确的一个可以用指定的行分成A' and B`的两个部分。

即。你不能在左侧图片中绘制,这样所有X都在一边,所有O都在其他。这就是为什么它被称为“不可线性分离”==不存在将两个类别分开的线性流形。

现在,着名的kernel trick(将在下一本书中讨论)实际上允许通过虚拟地添加额外的维度来使非线性问题线性分离,从而将许多线性方法用于非线性问题。