zoukankan      html  css  js  c++  java
  • 核函数

          一、 核函数是什么:

      解决了高维空间中数据量庞大的问题,在机器学习中是对算法进行非线性改进的利器。如下,如果在原空间中,给定的样本数据X是线性不可分的,那么如果我们能够将数据映射到高维空间中,即

    ,那么在高维空间中,样本数据很有可能线性可分,这个特点可以用下图做一个很好的说明:

     

            如左图,红色部分的点为一类数据,黑色部分的点为另一类,在一维空间中,你不可能通过一刀切将两类数据分开,至少需要两刀。OK,这就说明数据分布是非线性的,我们采用高维映射,当然了,例子中只是映射到了二维空间,但已经足够说明问题了,在右图中,完全可以通过沿着X轴方向的一刀切将两类数据分开,说明在二维空间中,数据已经变成线性可分的了。

    这个时候,我们就可以采用很多已有的线性算法对数据进行处理,但是问题来了,映射函数具体形式是什么?这个问题的答案是,根本不需要知道映射函数的具体形式,直接对高维数据进行操作吧!

           二、核函数的类型

    1. Linear Kernel

    线性核是最简单的核函数,核函数的数学公式如下:

     

    2. Polynomial Kernel

    多项式核实一种非标准核函数,它非常适合于正交归一化后的数据,其具体形式如下:

     

    这个核函数是比较好用的,就是参数比较多,但是还算稳定。

     

    3. Gaussian Kernel

    这里说一种经典的鲁棒径向基核,即高斯核函数,鲁棒径向基核对于数据中的噪音有着较好的抗干扰能力,其参数决定了函数作用范围,超过了这个范围,数据的作用就“基本消失”。高斯核函数是这一族核函数的优秀代表,也是必须尝试的核函数,其数学形式如下:

      

     

    虽然被广泛使用,但是这个核函数的性能对参数十分敏感,以至于有一大把的文献专门对这种核函数展开研究,同样,高斯核函数也有了很多的变种,如指数核,拉普拉斯核等。

    4. Exponential Kernel

          指数核函数就是高斯核函数的变种,它仅仅是将向量之间的L2距离调整为L1距离,这样改动会对参数的依赖性降低,但是适用范围相对狭窄。其数学形式如下:

      

    5. Laplacian Kernel

          拉普拉斯核完全等价于指数核,唯一的区别在于前者对参数的敏感性降低,也是一种径向基核函数。

        

     

    6. ANOVA Kernel

          ANOVA 核也属于径向基核函数一族,其适用于多维回归问题,数学形式如下:

      

    7. Sigmoid Kernel

    Sigmoid 核来源于神经网络,现在已经大量应用于深度学习,是当今机器学习的宠儿,它是S型的,所以被用作于“激活函数”。关于这个函数的性质可以说好几篇文献,大家可以随便找一篇深度学习的文章看看。

     

    8. Rational Quadratic Kernel

          二次有理核完完全全是作为高斯核的替代品出现,如果你觉得高斯核函数很耗时,那么不妨尝试一下这个核函数,顺便说一下,这个核函数作用域虽广,但是对参数十分敏感,慎用!!!!

      

    原文:https://blog.csdn.net/wsj998689aa/article/details/47027365 

  • 相关阅读:
    详解事件驱动跟消息驱动机制相比
    浏览器加载 CommonJS 模块的原理与实现
    全面理解 javascript 的 argements caller callee call apply 之caller
    在javaScript中检测数据类型的几种方式
    Netbeans IDE 安装Emmet插件并解决Emmet插件无效果问题
    JS的 try catch使用心得
    safari 浏览器 input textarea select 等不能响应用户输入
    js十大排序算法
    js实现 页面加载 完成 后顺序 执行
    原生JS封装 toast 弹层,自动关闭
  • 原文地址:https://www.cnblogs.com/EstherLjy/p/7381849.html
Copyright © 2011-2022 走看看