从低维空间映射到高维空间
异或问题式线性不可分的,但是可以通过把它映射到高维度空间实现线性可分。
令
ϕ(x)
表示将
x
后的特征向量。于是,在特征空间中划分超平面所对应的模型可以表示为:
f(x)=wTϕ(x)+b
于是
prototype
可以表示为:
minw,b12||w||Ts.t.yi(wTϕ(xi)+b)≥1,i=1,2,…,m.
对偶问题:
maxαs.t.∑i=1mαi−12∑i=1m∑j=1mαiyiαjyjϕ(xi)Tϕ(xj)∑i=1mαiyi=0,αi≥0,i=1,2,…,m.
因为涉及到计算
ϕ(xi)Tϕ(xj)
,这是样本映射到特征空间后的内积,由于特征空间维数可能很高,甚至可能式无穷维,因此直接计算
ϕ(xi)Tϕ(xj)
通常十分困难。
核函数
为了避开直接计算的障碍,可以设想一个函数。
k(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩=ϕ(xi)Tϕ(xj)
即
xi
和
xj
在特征空间内的内积等于它们在原始样本空间通过函数
k(⋅,⋅)
计算的结果。
于是
prototype
可以被重写为:
maxαs.t.∑i=1mαi−12∑i=1m∑j=1mαiyiαjyjk(xi,xj)∑i=1mαiyi=0,αi≥0,i=1,2,…,m.
求解后得到:
f(x)=wTϕ(x)+b=∑i=1maiyiϕ(xi)Tϕ(xi)+b=∑i=1maiyik(xi,xj)+b(A)
定义:
这里的函数
k(⋅,⋅)
就是“核函数”,展开式
A
就是“支持向量展开式”。
核函数定理
令
χ
为输入空间,
k(⋅,⋅)
是定义在
χ×χ
上的对称函数,则
k
是核函数当且仅当对于任意的数据
D={x1,x2,…,xm}
,核矩阵
K
总是半正定的
K=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢k(x1,x1)⋮k(xi,x1)⋮k(xm,x1)…⋱…⋱…k(x1,xj)⋮k(xi,xj)⋮k(xm,xj)…⋱…⋱…k(x1,xm)⋮k(xi,xm)⋮k(xm,xm)⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥
常用核函数
名称 |
表达式 |
参数 |
线性核 |
k(xi,xj)=xTixj
|
|
多项式核 |
k(xi,xj)=(xTixj)d
|
d≥1为多项式的次数
|
高斯核 |
k(xi,xj)=exp(−||xi−xj||22δ2)
|
δ>0为高斯核的带宽
|
拉普拉斯核 |
k(xi,xj)=exp(−||xi−xj||δ)
|
δ>0
|
Sigmoid
核 |
k(xi,xj)=tanh(βxTixj+θ)
|
tanh
为双曲正切函数,
β>0,θ<0
|
核函数的组合
若
k1
和
k2
为核函数,则对于任意的正数
γ1
、
γ2
以下三种组合可以得到新的核函数:
线性组合:
γ1k1+γ2k2
核函数直积:
k1⊗k2(x,z)=k1(x,z)k2(x,z)
对任意的函数
g(x)
:
k(x,z)=g(x)k1(x,z)g(z)