算法 – 线性问题与非线性问题之间的差异?点产品和内核技巧的本质

核心技巧将非线性问题映射为线性问题。

我的问题是:
线性和非线性问题的主要区别是什么?这两类问题背后的直觉是什么?而内核技巧如何帮助在非线性问题上使用线性分类器?
在两种情况下,为什么点产品如此重要?

谢谢。

许多分类器,其中线性Support Vector Machine (SVM)只能解决线性可分离的问题,即属于1级的点可以通过超平面与属于类2的点分离。

在许多情况下,可以通过对数据点应用变换phi()来解决不可线性分离的问题;这个变换被称为将要转换为特征空间。希望在特征空间中,这些点将是线性可分的。 (注意:这不是内核的伎俩…请继续关注。)

可以看出,特征空间的维度越高,该空间中可以线性分离的问题的数量就越多。因此,理想情况下,要使特征空间尽可能地保持高维度。

不幸的是,随着特征空间的尺寸增加,所需的计算量也将增加。这是内核技巧所在。许多机器学习算法(其中包括SVM)可以以这样一种方式来形成,即它们对数据点执行的唯一操作是两个数据点之间的标量积。 (我将在x1和x2之间用< x1,x2>表示标量积。)

如果我们将要点转换为特征空间,则标量产品现在如下所示:

< phi(x1),phi(x2)>

关键的见解是,存在一类称为内核的函数,可用于优化此标量产品的计算。内核是具有这样的属性的函数K(x1,x2)

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

对于某些功能phi()。换句话说:我们可以评估低维数据空间(其中x1和x2“活”)的标量积,而不必转换为高维特征空间(其中phi(x1)和phi(x2)“活在“) – 但是我们仍然获得转变为高维特征空间的好处。这被称为内核技巧。

许多流行的内核,例如Gaussian kernel,实际上对应于转换为无限维特征空间的变换phi()。内核技巧允许我们在这个空间中计算标量产品,而不必明确地表示这个空间中的点(显然,在有限内存的计算机上是不可能的)。

http://stackoverflow.com/questions/1148513/difference-between-a-linear-problem-and-a-non-linear-problem-essence-of-dot-pro

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:算法 – 线性问题与非线性问题之间的差异?点产品和内核技巧的本质