机器学习——支持向量机SVM之核函数

来源:互联网 发布:开眼插件 mac 编辑:程序博客网 时间:2024/05/21 18:41

1、在现实任务中,原始样本空间也许不存在一个能正确划分两类样本的超平面,虽然“软间隔”概念的引入在一定程度上缓解了该问题,但是当样本分布的非线性程度很高的时候,“软间隔”也无法解决这一问题


2、对于这类问题,SVM的处理方法是选择一个核函数,其通过将数据映射到更高维的特征空间(非线性映射),使得样本在这个特征空间内线性可分,以解决原始空间中线性不可分的问题

3、建立非线性学习器模型: f(x)=w^T ϕ(x)+b

    a) 使用非线性映射将数据变换到新的特征空间中

    b) 在这个特征空间中,数据线性可分,可用线性学习器进行学习分类

4、优化目标:

5、对偶问题:

6、对偶问题的解决涉及 ϕ(x_i )^T ϕ(x_j ) 的计算,这是样本 x_i 和 x_j 映射到特征空间之后的内积,而特征空间的维数通常很高,乃至无穷维,因此直接计算通常是困难的。

    a) 引入核函数:κ(x_i,x_j ) = 〈ϕ(x_i ),ϕ(x_j )〉 = ϕ(x_i )^T ϕ(x_j ),将高维内积转化为在原始空间中通过核函数计算

    b) 重写对偶问题:

7、求解后得 f(x)=w^T ϕ(x)+b=∑_{i=1}^m α_i y_i ϕ(x_i )^T ϕ(x)+b = ∑_{i=1}^m α_i y_i κ(x,x_i ) +b

8、Mercer定理:令 χ 为输入空间, κ(∙,∙) 是定义在 χ×χ 上的对称函数,则是核函数当且仅当对于任意数据,“核矩阵”K总是半正定的


9、Mercer定理表明为了证明 κ 是有效的核函数,那么我们不用去寻找 ϕ ,而只需要在训练集上求出各个 K_{ij} ,然后判断矩阵K是否是半正定(使用左上角主子式大于等于零等方法)即可。

10、在不知道特征映射的形式时,我们并不知道什么样的核函数是合适的,而核函数也仅隐式地定义了这个特征空间,于是“核函数选择”称为支持向量机最大的变数

    a) 线性核: κ(x_i,x_j )=x_i^T x_j

    b) 多项式核: κ(x_i,x_j )=(x_i^T x_j )^d

    c) 高斯核: κ(x_i,x_j )=exp (-‖x_i-x_j ‖^2/(2σ^2 ))

    d) 拉普拉斯核: κ(x_i,x_j )=exp⁡(-‖x_i-x_j ‖/σ)

    e) sigmoid核: κ(x_i,x_j )=tanh(βx_i^T x_j+θ)

11、核函数还可通过函数组合获得

    a) 线性组合: γ_1 κ_1+γ_2 κ_2

    b) 直积: κ_1⊗κ_2 (x,z)=κ_1 (x,z) κ_2 (x,z)

    c) κ(x,z)=g(x) κ_1 (x,z)g(z)

阅读全文
0 0