机器学习笔记——支持向量机(II)核函数

时间:2022-08-01 13:47:39

从低维空间映射到高维空间

异或问题式线性不可分的,但是可以通过把它映射到高维度空间实现线性可分。
ϕ(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αi12i=1mj=1mαiyiαjyjϕ(xi)Tϕ(xj)i=1mαiyi=0,αi0,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αi12i=1mj=1mαiyiαjyjk(xi,xj)i=1mαiyi=0,αi0,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 d1
高斯核 k(xi,xj)=exp(||xixj||22δ2) δ>0
拉普拉斯核 k(xi,xj)=exp(||xixj||δ) δ>0
Sigmoid k(xi,xj)=tanh(βxTixj+θ) tanh 为双曲正切函数, β>0,θ<0

核函数的组合

k1 k2 为核函数,则对于任意的正数 γ1 γ2 以下三种组合可以得到新的核函数:
线性组合:

γ1k1+γ2k2

核函数直积:
k1k2(x,z)=k1(x,z)k2(x,z)

对任意的函数 g(x) :
k(x,z)=g(x)k1(x,z)g(z)