一个线性问题和非线性问题之间的区别? 点积和核技巧的精华(Difference between

2019-07-30 10:19发布

内核招非线性问题映射到一个线性问题。

我的问题是:
线性和非线性问题的主要区别是1.什么? 什么是这两类问题的差异背后的直觉? 以及如何做核技巧可以帮助使用线性分类上的非线性问题?
2.为什么点积在两种情况下如此重要?

谢谢。

Answer 1:

许多分类器,其中所述线性支持向量机(SVM) ,只能解决是线性可分在属于1类的点可以从通过超平面属于2类中的点分离的问题,即

在许多情况下,这不是线性分离的问题可以通过应用要解决的变换披()到数据点; 这种变换是说点转化为特征空间 。 希望是,在功能空间,积分将线性可分。 (注:这是不是内核伎俩又......敬请关注。)

可以示出的是,该特征空间的维数越高,越大的是在该空间中线性可分问题的数量。 因此,人们希望的理想的功能空间是高维越好。

不幸的是,特征空间增大尺寸,这样做所需的计算量。 这是内核招进来。很多机器学习算法(其中包括了SVM)可以以这样的方式,他们对数据点上执行的唯一操作是两个数据点之间的标量积制定。 (I将由表示x1和x2之间的标量积<x1, x2>

如果我们把我们的点特征空间,不标产品现在看起来是这样的:

<phi(x1), phi(x2)>

关键的观点是,存在一类的函数调用,可用于优化该标积的计算内核 。 内核是一个函数K(x1, x2)具有以下性质:

K(x1, x2) = <phi(x1), phi(x2)>

对于一些函数披()。 换句话说:我们可以(其中x1和x2“活”),而不必转换到高维空间(其中phi(X1)和phi(X2)“现场评估在低维数据空间内积“) - 但我们仍然得到转化到高维特征空间的好处。 这就是所谓的核技巧

许多流行的内核,如高斯核 ,实际上对应于变换成一个infinte维特征空间中的变换披()。 内核技巧允许我们计算标产品在这个空间中,而不必代表在这个空间中的点明确(其中,很明显,是与有限数量的内存的计算机上是不可能的)。



Answer 2:

当人们说,相对于分类问题线性问题,他们通常指线性可分问题。 线性可分意味着有一些功能,可以分开的两个类是输入变量的线性组合。 举例来说,如果你有两个输入变量, x1x2 ,还有一些数字theta1theta2使得功能theta1.x1 + theta2.x2将足以预测的输出。 在两个维度,这对应于一条直线,在3D它成为一个平面,并且在更高维空间就变成了超平面

您可以考虑在2D / 3D的点和线得到一些有关这些概念的直觉。 这里有一个很做作两个示例...

这是一个线性不可问题的一个情节。 没有直线能分出红色和蓝色的点。

但是,如果我们给每一个点的额外坐标(特别是1 - sqrt(x*x + y*y) ...我告诉你这是人为的),那么问题就变得线性可分的,因为红色和蓝色的点可以分开通过2维平面穿通z=0

希望这些例子表明内核伎俩背后的理念的一部分:

映射问题与尺寸更大数量的空间使得它更有可能的是,问题就会变得线性可分。

内核伎俩(为什么它是如此棘手的原因)背后的第二个想法是,它通常是非常笨拙和计算成本非常高维空间的工作。 但是,如果一个算法只使用点之间的点产品(可以认为的距离),那么你仅仅使用标量的矩阵工作。 您可以隐含在高维空间进行计算,却从来没有不必做映射或处理高维数据。



Answer 3:

主要的区别(出于实用目的)是:线性问题,或者确实有一个解决方案(然后它很容易找到),或者你会得到一个明确的答案,有没有解决方案。 你知道这么多,你甚至不知道问题之前都没有。 只要它是线性的,你会得到一个答案; 很快。

beheind这种直觉是事实,如果你有一定的空间两条直线,这是很容易看他们是否相交与否,如果他们这样做,可以很容易地知道在哪里。

如果问题不是线性的 - 好,它可以是任何东西,你知道几乎没有。

两个向量的点积只是意味着以下内容:相应的元素的乘积之和。 所以,如果你的问题是

c1 * x1 + c2 * x2 + c3 * x3 = 0

(你通常都知道系数c,和你要找的变量x),左侧是向量的点积(c1,c2,c3)(x1,x2,x3)

上述公式是(几乎)线性问题很确定指标,所以有点积和线性问题之间的连接。



Answer 4:

  1. Linear equations are homogeneous, and superposition applies. You can create solutions using combinations of other known solutions; this is one reason why Fourier transforms work so well. Non-linear equations are not homogeneous, and superposition does not apply. Non-linear equations usually have to be solved numerically using iterative, incremental techniques.
  2. I'm not sure how to express the importance of the dot product, but it does take two vectors and returns a scalar. Certainly a solution to a scalar equation is less work than solving a vector or higher-order tensor equation, simply because there are fewer components to deal with.

My intuition in this matter is based more on physics, so I'm having a hard time translating to AI.



Answer 5:

我觉得以下链接也很有用...
http://www.simafore.com/blog/bid/113227/How-support-vector-machines-use-kernel-functions-to-classify-data



文章来源: Difference between a linear problem and a non-linear problem? Essence of Dot-Product and Kernel trick