提问者:小点点

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


我目前正在阅读Tom Mitchell的机器学习书。在谈到神经网络时,Mitchell说:

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

我无法理解他所说的“线性可分”是什么意思?维基百科告诉我,“如果二维空间中的两组点可以被一条线完全分开,它们就是线性可分的。”

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

我不擅长几何和数学——有人能像我5岁一样给我解释一下吗?;)谢谢!


共3个答案

匿名用户

假设你想写一个算法,根据两个参数,大小和价格,决定一栋房子是否会在出售的同一年出售。所以你有两个输入,大小和价格,一个输出,将出售或不出售。现在,当你收到训练集时,可能会发生输出没有累积以使我们的预测变得容易(你能告诉我,根据第一张图,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

正如你在第一张图中看到的,你不能真的用一条直线将两个可能的输出(卖出/未卖出)分开,不管你怎么尝试,线的两边总是会有SN,这意味着你的算法将有很多可能的线,但没有最终的、正确的线来分割两个输出(当然还有预测新的输出,这是从一开始的目标)。这就是为什么线性可分离的(第二张图)数据集更容易预测。

匿名用户

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

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

编辑:例如,在这张图片中,如果蓝色圆圈代表一类的点,红色圆圈代表另一类的点,那么这些点是线性可分的。

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

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

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

匿名用户

查看以下两个数据集:

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

左边的数据集不是线性可分的(不使用内核)。右边的数据集通过指示的行可分为A'和B'的两部分。

即你不能在左图中画一条直线,这样所有的X都在一边,所有的O都在另一边。这就是为什么它被称为“不可线性可分”==不存在分隔两个类的线性流形。

现在著名的内核技巧(接下来肯定会在书中讨论)实际上允许许多线性方法用于非线性问题,通过虚拟地添加额外的维度来使非线性问题线性可分。