美文网首页机器学习支持向量机
机器学习之支持向量机(中)

机器学习之支持向量机(中)

作者: Vophan | 来源:发表于2019-03-18 09:29 被阅读0次

    这一节,我们来讲解一下什么叫做核技巧,也就是kernal trick

    img

    前面我们讲的hard margin和soft margin分别是线性可分,线性不可分的情况,但是我们的支持向量机都是线性支持向量机,但是还有一种情况就是:非线性可分

    如图,我们在低维情况下无法用超平面解决的分类问题。

    所以,我们就要使用核技巧

    所以,什么是核技巧

    对于上面的非线性可分问题,我们解决的思路,就是通过映射函数将数据升维到高维空间,然后非线性可分问题就变成了线性可分问题。但是,我们需要知道一个概念:维数灾难

    什么是维数灾难呢?

    维数灾难(英语:curse of dimensionality,又名维度的诅咒)是一个最早由理查德·贝尔曼(Richard E. Bellman)在考虑优化问题时首次提出来的术语,用来描述当(数学)空间维度增加时,分析和组织高维空间(通常有成百上千维),因体积指数增加而遇到各种问题场景。这样的难题在低维空间中不会遇到,如物理空间通常只用三维来建模。

    举例来说,100个平均分布的点能把一个单位区间以每个点距离不超过0.01采样;而当维度增加到10后,如果以相邻点距离不超过0.01小方格采样一单位超正方体,则需要1020 个采样点:所以,这个10维的超正方体也可以说是比单位区间大1018倍。(这个是理查德·贝尔曼所举的例子)

    所以,并不是维度高了,我们就可以解决这个问题了。

    所以,这里就体现出了核函数的重要性:

    什么是核函数

    简单的说就是,低维的一个方法k(x,y)可以达到高维映射函数的效果,那么这个函数就是核函数。

    所以采用核函数,我们就可以在将数据升维的同时,避免了维度灾难带来的巨大计算量。

    举个例子:

    img

    公式推导

    首先,我们回忆一下前面的公式,在最后,我们得到了:
    min L(\omega, b, \lambda) = \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_ix_j)-\sum_{i=1}^N\alpha_i
    现在,我们通过核技巧,将原来低维空间中数据的内积变为高维特征空间中的内积,用核函数的形式表示:
    min L(\omega, b, \lambda) = \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jk(x_i, x_j)-\sum_{i=1}^N\alpha_i

    常用核函数

    1. 多项式核函数
      K(x, z) = (xz+1)^p
      对应的分类决策函数:
      f(x) = sign(\sum_{i=1}^N a_i^*y_i(x_ix_j+1)^p+b^*)

    2. 高斯核函数
      K(x, z) = exp(-\frac{||x-z||^2}{2\sigma^2})
      高斯径向基函数分类器,分类决策函数为:
      f(x) = sign(\sum_{i=1}^N a_i^*y_iexp(-\frac{||x_i-x_j||^2}{2\sigma^2})+b^*)

    相关文章

      网友评论

        本文标题:机器学习之支持向量机(中)

        本文链接:https://www.haomeiwen.com/subject/caimmqtx.html