JB2*_*JB2 29 machine-learning neural-network
我目前正在阅读Tom Mitchell撰写的机器学习书.在讨论神经网络时,米切尔说:
"虽然当训练样例可线性分离时感知器规则找到一个成功的权重向量,但如果这些例子不是线性可分的话,它就无法收敛."
我在理解"线性可分"的含义时遇到了问题?维基百科告诉我"如果二维空间中的两组点可以完全由一条线分开,则它们可以线性分离."
但这如何适用于神经网络的训练集?输入(或动作单元)如何可线性分离?
我不是几何学和数学方面最好的 - 有人可以向我解释,好像我是5岁吗?;) 谢谢!
Her*_*utt 39
这意味着有一个超平面(将您的输入空间分成两个半空间),使得第一类的所有点都在一个半空间中,而第二类的所有点都在另一个半空间中.
在二维中,这意味着有一条线将一个类的点与另一个类的点分开.
编辑:例如,在此图像中,如果蓝色圆圈表示来自一个类别的点,红色圆圈表示来自另一个类别的点,则这些点可线性分离.

在三个维度中,它意味着有一个平面将一个类别的点与另一个类别的点分开.
在更高的维度上,它是类似的:必须存在一个分离两组点的超平面.
你提到你不擅长数学,所以我不是在写正式定义,但是如果有帮助的话,请告诉我(在评论中).
Val*_*adu 35
假设你想要编写一个算法,根据两个参数,尺寸和价格,决定一个房子是否会在它出售的同一年出售.因此,您有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
Run Code Online (Sandbox Code Playgroud)
哪里:
S-sold,
N-not sold
Run Code Online (Sandbox Code Playgroud)
正如你可以在第一张图看,你真的不能用直线分开的两个可能的输出(另售/未售),无论你如何尝试总是会有两个S和N上线的两侧,其中意味着你的算法会有很多possible行,但没有最终的,正确的行来分割2个输出(当然也可以预测新的,从一开始就是目标).这就是为什么linearly separable(第二个图)数据集更容易预测.
查看以下两个数据集:
^ ^
| X O | AA /
| | A /
| | / B
| O X | A / BB
| | / B
+-----------> +----------->
Run Code Online (Sandbox Code Playgroud)
左数据集不是线性可分的(不使用内核).正确的一个可以A' and通过指示的线分成B`的两个部分.
即你可以不画直线线到左图像,让所有的X都在一边,所有的O都是对等的.这就是为什么它被称为"不可线性分离"==不存在将两个类别分开的线性流形.
现在,着名的核心技巧(将在下一本书中讨论)实际上允许通过虚拟地添加额外的维度来使许多线性方法用于非线性问题,以使非线性问题线性分离.