内核招非线性问题映射到一个线性问题。
我的问题是:
线性和非线性问题的主要区别是1.什么? 什么是这两类问题的差异背后的直觉? 以及如何做核技巧可以帮助使用线性分类上的非线性问题?
2.为什么点积在两种情况下如此重要?
谢谢。
内核招非线性问题映射到一个线性问题。
我的问题是:
线性和非线性问题的主要区别是1.什么? 什么是这两类问题的差异背后的直觉? 以及如何做核技巧可以帮助使用线性分类上的非线性问题?
2.为什么点积在两种情况下如此重要?
谢谢。
许多分类器,其中所述线性支持向量机(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维特征空间中的变换披()。 内核技巧允许我们计算标产品在这个空间中,而不必代表在这个空间中的点明确(其中,很明显,是与有限数量的内存的计算机上是不可能的)。
当人们说,相对于分类问题线性问题,他们通常指线性可分问题。 线性可分意味着有一些功能,可以分开的两个类是输入变量的线性组合。 举例来说,如果你有两个输入变量, x1
和x2
,还有一些数字theta1
和theta2
使得功能theta1.x1 + theta2.x2
将足以预测的输出。 在两个维度,这对应于一条直线,在3D它成为一个平面,并且在更高维空间就变成了超平面 。
您可以考虑在2D / 3D的点和线得到一些有关这些概念的直觉。 这里有一个很做作两个示例...
这是一个线性不可问题的一个情节。 没有直线能分出红色和蓝色的点。
但是,如果我们给每一个点的额外坐标(特别是1 - sqrt(x*x + y*y)
...我告诉你这是人为的),那么问题就变得线性可分的,因为红色和蓝色的点可以分开通过2维平面穿通z=0
。
希望这些例子表明内核伎俩背后的理念的一部分:
映射问题与尺寸更大数量的空间使得它更有可能的是,问题就会变得线性可分。
内核伎俩(为什么它是如此棘手的原因)背后的第二个想法是,它通常是非常笨拙和计算成本非常高维空间的工作。 但是,如果一个算法只使用点之间的点产品(可以认为的距离),那么你仅仅使用标量的矩阵工作。 您可以隐含在高维空间进行计算,却从来没有不必做映射或处理高维数据。
主要的区别(出于实用目的)是:线性问题,或者确实有一个解决方案(然后它很容易找到),或者你会得到一个明确的答案,有没有解决方案。 你知道这么多,你甚至不知道问题之前都没有。 只要它是线性的,你会得到一个答案; 很快。
beheind这种直觉是事实,如果你有一定的空间两条直线,这是很容易看他们是否相交与否,如果他们这样做,可以很容易地知道在哪里。
如果问题不是线性的 - 好,它可以是任何东西,你知道几乎没有。
两个向量的点积只是意味着以下内容:相应的元素的乘积之和。 所以,如果你的问题是
c1 * x1 + c2 * x2 + c3 * x3 = 0
(你通常都知道系数c,和你要找的变量x),左侧是向量的点积(c1,c2,c3)
和(x1,x2,x3)
上述公式是(几乎)线性问题很确定指标,所以有点积和线性问题之间的连接。
My intuition in this matter is based more on physics, so I'm having a hard time translating to AI.
我觉得以下链接也很有用...
http://www.simafore.com/blog/bid/113227/How-support-vector-machines-use-kernel-functions-to-classify-data