• SVM2---核函数的引入


    前边总结了线性SVM,最终转化为一个QP问题来求解。后来又考虑到非线性SVM,如果特征特别特别多的话,直接使用QP的话求解不了,我们经过一系列的转化,把这一问题转化为训练集大小n量级的QP问题。

    http://www.cnblogs.com/futurehau/p/6143178.html

    在之前的基础之上,我们继续学习,引入核函数的概念,完全避免了特征数目量级的计算问题。接下来依次分析polynomial Kernel, Gaussian Kernel,并对他们进行对比分析。

    一、Kernel 的引入

      之前我们得到对偶问题的QP形式:

      

      这似乎是一个n量级的问题,似乎和特征的个数无关,但是仔细一看,Q矩阵每一项的求解涉及到Z空间的内积,这就是特征个数量级的一个操作。所以我们从这里入手,想想怎样可以简化Z空间内积的计算呢?

      以二次变换为例,我们把X空间映射到Z空间,我们现在看看Z空间上的内积表达式是什么,可以怎么转换到X空间上。

      

      好了,我们发现Z空间上的内积刚好可以转换为X空间上的内积。所以我们就想,我们不需要显示的去先把X空间上的数据计算到空间上,然后训练参数,我们可以直接使用X空间上的参数来计算即可,这样大大降       低了我们的计算复杂度。

      

      这样,上述的转换就叫做Kernel函数。它把之前变换后的空间Z上的内积运算转换为原空间上的内积运算。

      我们再回过头来看看之前的对偶QP问题,Z空间上的哪些内积运算可以转换到X空间上呢?

      

      这样一来,所有的训练,测试都没有直接在Z空间上进行内积运算,所有运算都转换到了X空间上。这样所有运算就和你的特征维度没有关系了。

    二、polynomial Kernel

      之前的例子使用的转换系数都是1,那么有没有其他的系数呢?

      加入我们改变一下系数,就能够得到不同形式的核函数。

      

      这些不同形式的核函数都把X映射到同一个Z空间,但区别是内积不同,那么几何定义就不一样了,那么分类的Margin就不同,这样对我们的分类效果就会有很大影响。

      同样,我们列举这些 polynomial:

      

    三、Gaussian Kernel

      之前,都是一些有限维度的转换,那么可以可以做到无限多维度的转化呢?借助于exp函数的泰勒展开可以实现。厉害!

      

      这样我们得到Gaussian Kernel:

      

      

      

      如图所示,就是一些列高斯函数的线性组合,如果是正样本,就拔高,如果是负样本,就拖下,随后得到一个能够正确分类的超平面。

      可以看到,g(svm)就是一系列中心在Support Vector上的高斯函数的线性组合。所以gaussian kernel也叫RBF

      注意gama较大的时候还是有可能overfit的。

    四、Comparison of Kernels

      4.1 Linear Kernel:

       

      4.2 polynomial kernel: ,一般用在小Q的时候

       

      4.3 Gaussian Kernel: 

       

      4.4 其他kernel

      kernel其实代表了Z空间向量的相似性,但并不是所有可以表示相似性的都可以写为kernel,kernel 需要满足以下条件:

      

      

    针对可能存在的SVM过拟合问题,接下来讨论 soft margin SVM。http://www.cnblogs.com/futurehau/p/6165839.html

      

  • 相关阅读:
    Docker GitLab镜像部署
    Kubernetes集群部署之三ETCD集群部署
    Kubernetes集群部署之二CA证书制作
    Kubernetes集群部署之一系统环境初始化
    docker开源仓库Harbor部署笔记
    git分支
    git高清技能图
    vue+uwsgi+nginx部署路飞学城
    git基础
    git安装与初始化
  • 原文地址:https://www.cnblogs.com/futurehau/p/6149558.html
Copyright © 2020-2023  润新知