zoukankan      html  css  js  c++  java
  • 核函数基础二 核方法、核技巧和核函数

    核方法 

    核方法 是一类把低维空间的非线性可分问题,转化为高维空间的线性可分问题的方法。核方法不仅仅用于SVM,还可以用于其他数据为非线性可分的算法。核方法的理论基础是Cover's theorem,指的是对于非线性可分的训练集,可以大概率通过将其非线性映射到一个高维空间来转化成线性可分的训练集。

    SVM中,令 [公式] 表示将 [公式] 映射后的线性向量,那么对偶问题是:

    [公式]

    最终分类模型是:

    [公式]

    跟上一篇的SVM相比,除了 [公式] 变成了 [公式] ,其他式子没有任何变化。

    到这里核方法已经初步结束了,如果知道 [公式] 的具体形式就可以直接拿来用了。不过再深入一步,可以用核技巧加速核方法的计算。观察 [公式] ,我们只需要计算 [公式] ,并不需要单独计算,这便引入了核函数的概念。

    核函数 

    定义 核函数[2] 设 [公式] 是输入空间(即 [公式] , [公式] 是 [公式] 的子集或离散集合 ),又设 [公式] 为特征空间(​ [公式] 是希尔伯特空间[3]),如果存在一个从 [公式] 到 [公式] 的映射

    [公式]

    使得对所有 [公式] ,函数 [公式] 满足条件

    [公式]

    则称 [公式] 为核函数。其中 [公式] 为映射函数, [公式] 为内积。

    即核函数输入两个向量,它返回的值跟两个向量分别作 [公式] 映射然后点积的结果相同。

    核技巧

    核技巧是一种利用核函数直接计算 [公式] ,以避开分别计算 [公式] 和 [公式] ,从而加速核方法计算的技巧。

    得益于SVM对偶问题的表现形式,核技巧可以应用于SVM。 [公式] 可改写为:

    [公式]

    [公式] 可改写为:

    [公式]

    核函数的选择是SVM的最大变数,如果核函数选择不适,那么 [公式] 将不能将输入空间映射到线性可分的特征空间。下表为常用核函数[4]:

    不知道 [公式] 的情况下,如何判断某个 [公式] 是不是核函数?答案是 [公式] 是核函数当且仅当对任意数据 [公式] ,核矩阵(kernal matrix,gram matrix)总是半正定的[5]:

    [公式]

    总结:核方法是一类把低维空间的非线性可分问题,转化为高维空间的线性可分问题的方法。核函数输入两个向量,它返回的值跟两个向量分别作 [公式] 映射然后点积的结果相同。核技巧是一种利用核函数直接计算 [公式] ,以避开分别计算 [公式] 和 [公式] ,从而加速核方法计算的技巧。核方法不仅仅适用于SVM,还适用于其他数据为非线性可分的问题和算法。SVM的表现形式包含了映射的点积,所以可以用核技巧加速核方法的计算。

     

    [1] 本文主干内容来自机器学习-白板推导系列-核方法 。强烈推荐大神的机器学习系列视频 Machine-Learning-Session 

    [2] 《统计学习方法》定义7.6

    [3] 希尔伯特空间是完备的(对极限封闭)、被赋予内积的(对称性、正定性、线性)线性空间。

    [4] 《机器学习》表6.1

    [5] 证明见《统计机器学习》定理7.5

  • 相关阅读:
    Java 异常
    【转】Java 内部类总结
    【转】Java中的static关键字解析
    【转】事务及事务隔离级别
    【转】事务并发的问题
    【转】hibernate对象三种状态
    iOS指南针
    CoreLocation 定位
    swift 2.2 语法 (下)
    swift 2.2 语法 (中)
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/12997357.html
Copyright © 2011-2022 走看看