神经网络:“线性可分”是啥意思?
Posted
技术标签:
【中文标题】神经网络:“线性可分”是啥意思?【英文标题】:Neural Networks: What does "linearly separable" mean?神经网络:“线性可分”是什么意思? 【发布时间】:2012-12-08 05:34:49 【问题描述】:我目前正在阅读 Tom Mitchell 的机器学习书。在谈到神经网络时,Mitchell 表示:
"虽然感知器规则在当 训练样本是线性可分的,它可能无法收敛 如果示例不是线性可分的。 "
我无法理解他所说的“线性可分”是什么意思?***告诉我“二维空间中的两组点如果可以被一条线完全分开,则它们是线性可分的。”
但这如何应用于神经网络的训练集?输入(或动作单元)如何线性可分?
我在几何和数学方面不是最好的 - 谁能像我 5 岁一样向我解释? ;) 谢谢!
【问题讨论】:
不管我在下面的回答如何,我很确定这本书在某处定义了“线性可分”。您是否尝试过查看词汇表以查找该术语的定义位置? @HerrKaputt 这个定义对他来说可能太数学了...... @HerrKaputt 我不太明白书中给出的定义。感谢您花时间向我解释! 【参考方案1】:这意味着存在一个超平面(它将您的输入空间分成两个半空间),这样第一类的所有点都在一个半空间中,而第二类的所有点都在另一个半空间中。
在二维中,这意味着有一条线将一个类的点与另一类的点分开。
编辑:例如,在这张图片中,如果蓝色圆圈代表一个类的点,红色圆圈代表另一个类的点,那么这些点是线性可分的。
在三个维度上,这意味着有一个平面将一个类的点与另一类的点分开。
在更高的维度上,它是相似的:必须存在一个超平面来分隔两组点。
你提到你不擅长数学,所以我没有写正式的定义,但如果有帮助,请告诉我(在 cmets 中)。
【讨论】:
这是一个很好的解释。谢谢! @HerrKAputt,数学会有所帮助!【参考方案2】:看下面两个数据集:
^ ^
| X O | AA /
| | A /
| | / B
| O X | A / BB
| | / B
+-----------> +----------->
左边的数据集不是线性可分的(不使用核)。 A' and
B` 的右侧可通过指示线分为两部分。
即您不能在左侧图像中画一条直线,这样所有X
都在一侧,而所有O
都在另一侧。这就是为什么它被称为“不可线性分离”==不存在分离这两个类的线性流形。
现在著名的kernel trick(肯定会在下一本书中讨论)实际上允许将许多线性方法用于非线性问题,方法是通过虚拟添加额外的维度来使非线性问题线性可分。
【讨论】:
【参考方案3】:假设您要编写一个算法,该算法基于两个参数(大小和价格)来决定房屋是否会在出售的同一年出售。所以你有 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
和 N
在线的两侧,这意味着您的算法将有很多 possible
线,但没有最终的正确线来分割 2 个输出(当然要预测新的,这是从一开始的目标)。这就是为什么linearly separable
(第二张图)数据集更容易预测的原因。
【讨论】:
另一个很好的解释。非常感谢瓦伦丁! 这将如何应用于连续结果而不是分类结果?例如,如果我的输入是距离和坡度,而我的输出是燃料消耗?以上是关于神经网络:“线性可分”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
RBF神经网络——直接看公式,本质上就是非线性变换后的线性变化(RBF神经网络的思想是将低维空间非线性不可分问题转换成高维空间线性可分问题)