学习笔记来自《知识发现》—史忠植
核函数
常用的核函数主要有: 多项式核函数、径向基函数、多层感知机、动态核函数等。
多项式核函数
多项式函数
K(x,xi)=[(x,xi)+1]d(1)
可得到
d
阶多项式分类器径向基函数
经典的方法,判定规则
f(x)=sign(∑i=1lαiKγ(|x−xi|)−b)(2)
其中,
Kγ(|x−xi|)
取决于两个向量之间的距离
|x−xi|
.对于任意
γ
,函数
Kγ(|x−xi|)
是一个肺腑的单调函数。当样本数趋于无穷时它趋于0,最通用的判定规则是采用高斯函数
Kγ(|x−xi|)=exp{−|x−xi|σ2}(3)
构造式(2)的判定规则必须估计:
- 参数 γ 的值
- 中心点 xi 数目 N
- 描述中心点向量
xi - 参数 αi 的值
与传统的的径向基函数方法的区别:这里每个径向基函数的中心点对应一个支持向量,中心点本身和输出权值都是由SVM训练算法来自动确定的。
多层感知机
采用 sigmoid 函数作为内积,实现了包含一个隐层的多层感知机,隐层节点数目由算法自动确定,满足Mercer条件的 Sigmoid 核函数为
K(xi,xj)=tanh(γxTixj−Θ)(4)
动态核函数
Amari和Wu通过对核函数的黎曼几何分析,提出利用实验数据逐步修正原有核函数,以更好的适应实际问题。设特征映射 U=Φ(x) ,则
dU=∑i∂∂xiΦ(x)dxi
∥dU∥2=∑i,jgij(x)dxidxj
其中 gij(x)=(∂∂xiΦ(x))⋅(∂∂xjΦ(x)) ,非负定阵 (gij(x)) 为 Rn 上的黎曼张量, ds2=∑ijgij(x)dxidxj 为 Rn 上的黎曼距离。黎曼空间,体积
dv=g(x)−−−−√dx1...dxn
,并有
g(x)=det(gij(x))
,
g(x)
(放大因子)反映了特征空间中点
Φ(x)
附近局部区域被放大的程度。
因为 k(x,z)=(Φ(x)⋅Φ(z)) ,可证
gij(x)=∂∂xi∂zik(x,z)∣z=x
特别对高斯函数
k(x,z)=exp{|x−z|22σ2},gij(x)=1σ2δij
.
为有效地将两类不同的模式区别开来,并希望尽量拉大它们之间的距离,即尽量放大分离曲面附近的局部区域,可用修正核函数的办法到达此目的,设 c(x) 是正的可微实函数, k(x,z) 是高斯核,则
k˜(x,z)=c(x)k(x,z)c(z)(5)
也是核函数,且
g˜ij(x)=ci(x)cj(x)+c2(x)gij
其中
ci(x)=∂∂xic(x)
.Amari和Wu设
c(x)
有如下形式
c(x)=∑xi∈SVhie∥x−xi∥22τ2(6)
其中,
τ>0
是参数,
hi
是权系数。在支持向量
xi
附近有,
g˜(x)−−−−√≈hiσnenr22τ21+σ2τ4γ2−−−−−−−−√
其中,
τ=|x−xi|
是欧式距离,为保证
g˜(x)−−−−√
在
xi
附近取最大值,同时在其他区域取较小值,计算有
τ≈σn√(7)
那么,新的训练过程由两步组成:
- 先用某个核k(高斯核)进行训练,然后按照式(5)、(6)、(7)得到修正的核 k˜
- 用 k˜ 进行训练
这种改进的训练方法可明显的降低错误识别率,还可以减少支持下向量的个数,从而提高识别速度。