所有机器学习算法是否都线性地分离数据?


22

我是编程和机器学习的狂热者。仅仅几个月前,我开始学习机器学习编程。像许多没有定量科学背景的人一样,我也通过修补广泛使用的ML软件包(插入符号R)中的算法和数据集,开始学习ML。

前一段时间,我读了一个博客,其中作者谈论了ML中线性回归的用法。如果我没记错的话,他谈到了最终所有机器学习如何甚至在线性或非线性问题上都使用某种“线性回归”(不确定他是否使用了这个精确术语)。那个时候我不明白他的意思。

我对将机器学习用于非线性数据的理解是使用非线性算法来分离数据。

这是我的想法

假设要对线性数据进行分类,我们使用线性方程,对于非线性数据,我们使用非线性方程说y = s i n x ÿ=X+Cÿ=s一世ñX

在此处输入图片说明

该图像是从支持向量机的sikit学习网站上拍摄的。在SVM中,我们将不同的内核用于ML。因此,我最初的想法是线性内核使用线性函数分离数据,而RBF内核使用非线性函数分离数据。

但是后来我看到了这个博客,作者在其中谈论了神经网络。

为了对左子图中的非线性问题进行分类,神经网络以如下方式转换数据:最后,我们可以对右子图中的转换数据使用简单的线性分离

在此处输入图片说明

我的问题是,最终所有机器学习算法是否都使用线性分离进行分类(线性/非线性数据集)?



3
您的非线性模型也是线性的。引入一个新变量,那么您的问题就变成了一个线性。从这个意义上说,许多机器学习算法确实是线性的。š = X Ý = θ 0 + θ 1个小号Xs=Xÿ=θ0+θ1个s
Aksakal

我也喜欢mbq在该线程上的答案,帮助我了解支持向量机
安迪W

Answers:


26

答案是否定的。user20160有一个完美的答案,我将添加3个带有可视化示例以说明该想法。请注意,这些图对您看“最终决策”是否为线性形式可能没有帮助,但可以使您对树,增强和KNN有所了解。

我们将从决策树开始。有许多分割,这是一个非线性决策边界。而且我们不能认为以前的所有拆分都是“功能转换”,并且最后还有最终决策线。

另一个示例是增强模型,该模型汇总了许多“弱分类器”,并且最终决策边界不是线性的。您可以考虑进行最终预测是一个复杂的代码/算法。

最后,考虑一下K最近邻居(KNN)。它也不是最终层的线性决策函数。此外,KNN中没有“功能转换”。

这是2D空间中的三种可视化效果(树,Boosting和KNN从上到下)。基本事实是2个螺旋线代表两个类别,左子图是模型的预测,右子图是模型的决策边界。

树决策边界

扩大决策边界

KNN决策边界


编辑:@ ssdecontrol在这篇文章中的答案提供了另一个角度。

这取决于我们如何定义“转换”

可以将数据分为两部分的任何函数都可以转换为这种形式的线性模型,具有截距和单个输入(指示数据点位于分区的哪一侧的一侧)。重要的是要注意决策功能和决策边界之间的差异。


我不想批评,但是提振似乎有点困难,不是吗?使用不同参数无法获得更平滑的结果吗?抱歉,我很固执,因为我发现所有解释都很好。
YCR 2013年

@YCR我认为这是提高决策范围的关键。粗糙是由聚集许多弱分类器(在此示例中,它们是树)引起的。但是我同意你的观点,第二个例子不是一个很好的模型,它过拟合了:)
Haitao Du

1
(+1)出色的可视化效果(我spirals在实验中也经常使用)。一条建议:将决策边界标为image,并用可能添加概率水平(如果您使用概率输出)contour
Firebug

@Firebug很棒的建议!这些图在网格中生成,只能告诉您最终标签。轮廓要好得多。
Haitao Du

在这里查看我的答案:stats.stackexchange.com/a/218578/60613
Firebug

21

一些算法使用超平面(即线性函数)来分离数据。一个典型的例子是逻辑回归。其他人在非线性变换后使用超平面来分离数据(例如,神经网络和带有非线性核的支持向量机)。在这种情况下,决策边界在原始数据空间中是非线性的,但在数据映射到的特征空间中是线性的。对于SVM,内核公式会隐式定义此映射。其他算法在数据空间的局部区域(例如决策树)中使用多个分裂超平面。在这种情况下,决策边界是分段线性的(但总体上是非线性的)。

但是,其他算法具有非线性决策边界,并且没有根据超平面来表述。一个突出的例子是k个最近邻居分类。集合分类器(例如通过对其他分类器进行增强或装袋而生成)通常是非线性的。


神经网络不是在非线性变换后使用超平面的模型类的好例子。假设您将先前的图层假定为对要素空间的非线性变换,则输出图层可能是(在许多情况下)S形激活。
Cagdas Ozgenc

1
@CagdasOzgenc正如您所建议的,让我们考虑二进制分类和带有S形输出的网络的情况。这等效于上一层激活时的逻辑回归(使用softmax输出将等效于多项逻辑回归)。因此,决策边界是特征空间中的超平面。原始问题中的图片显示了一个很好的例子。
user20160

我知道当f(Ax)= 0且f是一对一时,您可以简单地将(Ax)= f ^ -1(0)=> Ax = 0(或某个常数c)的f ^ -1进行计算。因此,对于S形,您将获得线性决策边界。基本上,我们是在谈论f不可逆的情况吗?
Cagdas Ozgenc

f是输出神经元的激活函数,x是上一层的输出吗?不确定我了解您的要求。
user20160

x是来自上一层神经元的向量,f是输出激活函数。
Cagdas Ozgenc
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.