一、线性不可分问题
有时线性可分的数据夹杂一点噪声,可以通过改进算法来实现分类,比如感知机的口袋算法和支持向量机的软间隔。但是有时候数据往往完全不是线性可分的,比如下面这种情况:
在异或问题中数据往往不是线性可分的,但通过将数据映射到高维空间后就可以实现线性可分。可以认为高维空间中的数据比低维空间的数据更易线性可分。对于异或问题,我们可以通过寻找一个映射 ϕ ( x ) \phi (x) ϕ(x)将低维空间中的数据 x x x映射成高维空间中的 z z z来实现数据的线性可分,例如:
x = ( x 1 , x 2 ) ⏟ 二 维 → ϕ ( x ) z = ( x 1 , x 2 , ( x 1 − x 2 ) 2 ) ⏟ 三 维 \underset{二维}{\underbrace{x=(x_{1},x_{2})}}\overset{\phi (x)}{\rightarrow}\underset{三维}{\underbrace{z=(x_{1},x_{2},(x_{1}-x_{2})^{2})}} 二维 x=(x1,x2)→ϕ(x)三维 z=(x1,x2,(x1−x2)2)
然后在新的空间中,该数据就可以实现线性可分:
二、核方法的引出
映射到高维空间以后出现的问题是计算复杂度的加大,例如在支持向量机的求解过程中求解的优化问题可以转换为如下的优化问题:
{ m i n λ 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i T x j − ∑ i = 1 N λ i , i = 1 , 2 , ⋯ , N s . t . y i ( w T x i + b ) > 0 , i = 1 , 2 , ⋯ , N ∑ i = 1 N λ i y i = 0 λ i ≥ 0 , i = 1 , 2 , ⋯ , N \left\{\begin{matrix} \underset{\lambda }{min}\; \frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\lambda _{i}\lambda _{j}y_{i}y_{j}x_{i}^{T}x_{j}-\sum_{i=1}^{N}\lambda _{i},i=1,2,\cdots ,N\\ s.t.\; y_{i}(w^{T}x_{i}+b)>0,i=1,2,\cdots ,N\\ \sum_{i=1}^{N}\lambda _{i}y_{i}=0\\ \lambda _{i}\geq 0,i=1,2,\cdots ,N \end{matrix}\right. ⎩⎪⎪⎪⎨⎪⎪⎪⎧λmin21∑i=1N∑j=1NλiλjyiyjxiTxj−∑i=1Nλi,i=1,2,⋯,Ns.t.yi(wTxi+b)>0,i=1,2,⋯,N∑i=1Nλiyi=0λi≥0,i=1,2,⋯,N
将数据映射到高维空间后也就需要求解以下优化问题:
{ m i n λ 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j ϕ ( x i ) T ϕ ( x j ) − ∑ i = 1 N λ i , i = 1 , 2 , ⋯ , N s . t . y i ( w T x i + b ) > 0 , i = 1 , 2 , ⋯ , N ∑ i = 1 N λ i y i = 0 λ i ≥ 0 , i = 1 , 2 , ⋯ , N \left\{\begin{matrix} \underset{\lambda }{min}\; \frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\lambda _{i}\lambda _{j}y_{i}y_{j}{\color{Red}{\phi (x_{i})^{T}\phi (x_{j})}}-\sum_{i=1}^{N}\lambda _{i},i=1,2,\cdots ,N\\ s.t.\; y_{i}(w^{T}x_{i}+b)>0,i=1,2,\cdots ,N\\ \sum_{i=1}^{N}\lambda _{i}y_{i}=0\\ \lambda _{i}\geq 0,i=1,2,\cdots ,N \end{matrix}\right. ⎩⎪⎪⎪⎨⎪⎪⎪⎧λmin21∑i=1N∑j=1Nλiλjyiyjϕ(xi)Tϕ(xj)−∑i=1Nλi,i=1,2,⋯,Ns.t.yi(wTxi+b)>0,i=1,2,⋯,N∑i=1Nλiyi=0λi≥0,i=1,2,⋯,N
将数据拓展到高维的方法可以用来解决完全非线性的问题:
线性可分 | 允许一点点错误 | 严格非线性 |
---|---|---|
PLA | Pocket Alorithm | ϕ ( x ) \phi (x) ϕ(x)+PLA |
Hard-Margin SVM | Soft-Margin SVM | ϕ ( x ) \phi (x) ϕ(x)+Hard-Margin SVM |
然而在上面的方法中如果先将 ϕ ( x i ) \phi (x_{i}) ϕ(xi)与 ϕ ( x j ) \phi (x_{j}) ϕ(xj)计算出来然后再做点积,由于维度特别高加之得到 ϕ ( x i ) \phi (x_{i}) ϕ(xi)与 ϕ ( x j ) \phi (x_{j}) ϕ(xj)也需要计算量,因此计算量是相当大的,因此就有了核方法。
通过使用核函数我们可以直接得到 ϕ ( x i ) \phi (x_{i}) ϕ(xi)与 ϕ ( x j ) \phi (x_{j}) ϕ(xj)的内积,正定核函数定义如下:
∀ x , x ′ ∈ X , ∃ ϕ ∈ H : x ↦ z , s . t . K ( x , x ′ ) = ϕ ( x i ) T ϕ ( x j ) = < ϕ ( x i ) , ϕ ( x j ) > , \forall x,x^{'}\in \mathcal{X} ,\exists \phi \in \mathcal{H} :x \mapsto z,s.t.\; K(x,x^{'})=\phi (x_{i})^{T}\phi (x_{j})=<\phi (x_{i}),\phi (x_{j})>, ∀x,x′∈X,∃ϕ∈H:x↦z,s.t.K(x,x′)=ϕ(xi)Tϕ(xj)=<ϕ(xi),ϕ(xj)>,则称 K ( x , x ′ ) K(x,x^{'}) K(x,x′)是一个正定核函数。
其中 H \mathcal{H} H是Hilbert空间(完备的可能是无限维的被赋予内积的线性空间),如果去掉内积这个条件我们简单地称为核函数。
Hilbert空间定义中的完备指的是对极限是封闭的,被赋予内积代表空间中的元素满足以下性质:
① < f , g > = < g , f > ② < f , f > ≥ 0 , “ = ” ⇔ f = 0 ③ < r 1 f 1 + r 2 f 2 , g > = r 1 < f 1 , g > + r 2 < f 2 , g > ①\; <f,g>=<g,f>\\ ②\; <f,f>\geq 0,“=”\Leftrightarrow f=0\\ ③\; <r_{1}f_{1}+r_{2}f_{2},g>=r_{1}<f_{1},g>+r_{2}<f_{2},g> ①<f,g>=<g,f>②<f,f>≥0,“=”⇔f=0③<r1f1+r2f2,g>=r1<f1,g>+r2<f2,g>
因为支持向量机的求解只用到内积运算,所以使用核函数会大大简化运算量。
三、正定核函数的证明
正定核函数还有另外一个定义:
如果核函数满足以下两条性质:
①对称性
②正定性
则称核函数 K ( x , z ) K(x,z) K(x,z)为正定核函数。
这个定义也就是正定核函数的充要条件,其中两条性质分别指的是:
①对称性 ⇔ K ( x , z ) = K ( z , x ) \Leftrightarrow K(x,z)=K(z,x) ⇔K(x,z)=K(z,x);
②正定性 ⇔ \Leftrightarrow ⇔任取 N N N个元素 x 1 , x 2 , ⋯ , x N ∈ X x_{1},x_{2},\cdots ,x_{N}\in \mathcal{X} x1,x2,⋯,xN∈X,对应的 G r a m m a t r i x K = [ K ( x i , x j ) ] Gram\; matrix\; K=[K(x_{i},x_{j})] GrammatrixK=[K(xi,xj)]是半正定的。
证明 K ( x , z ) = ϕ ( x ) T ϕ ( z ) ⇔ K(x,z)=\phi (x)^{T}\phi (z)\Leftrightarrow K(x,z)=ϕ(x)Tϕ(z)⇔对称性+矩阵 K K K半正定:
①
⇒
\Rightarrow
⇒:
首先证明对称性
K ( x , z ) = < ϕ ( x ) , ϕ ( z ) > K ( z , x ) = < ϕ ( z ) , ϕ ( x ) > 又 内 积 具 有 对 称 性 , 即 < ϕ ( x ) , ϕ ( z ) > = < ϕ ( z ) , ϕ ( x ) > ∴ K ( x , z ) = K ( z , x ) ∴ K ( x , z ) 满 足 对 称 性 K(x,z)=<\phi (x),\phi (z)>\\ K(z,x)=<\phi (z),\phi (x)>\\ 又内积具有对称性,即<\phi (x),\phi (z)>=<\phi (z),\phi (x)>\\ \therefore K(x,z)=K(z,x)\\ \therefore K(x,z)满足对称性 K(x,z)=<ϕ(x),ϕ(z)>K(z,x)=<ϕ(z),ϕ(x)>又内积具有对称性,即<ϕ(x),ϕ(z)>=<ϕ(z),ϕ(x)>∴K(x,z)=K(z,x)∴K(x,z)满足对称性
然后证明
欲 证 G r a m m a t r i x : K = [ K ( x i , x j ) ] N × N 半 正 定 即 证 : ∀ α ∈ R n , α T K α ≥ 0 ∵ α T K = ( α 1 α 2 ⋯ α N ) 1 × N [ a 11 a 12 ⋯ a 1 N a 21 a 22 ⋯ a 2 N ⋮ ⋮ ⋱ ⋮ a N 1 a N 2 ⋯ a N N ] N × N ( α 1 α 2 ⋮ α N ) N × 1 = ∑ i = 1 N ∑ j = 1 N α i α j K i j = ∑ i = 1 N ∑ j = 1 N α i α j < ϕ ( x i ) , ϕ ( x j ) > = ∑ i = 1 N ∑ j = 1 N α i α j ϕ ( x i ) T ϕ ( x j ) = ∑ i = 1 N α i ϕ ( x i ) T ∑ j = 1 N α j ϕ ( x j ) = [ ∑ i = 1 N α i ϕ ( x i ) ] T ∑ j = 1 N α j ϕ ( x j ) = < ∑ i = 1 N α i ϕ ( x i ) , ∑ j = 1 N α j ϕ ( x j ) > = ∥ ∑ i = 1 N α i ϕ ( x i ) ∥ 2 ≥ 0 ∴ K 是 半 正 定 的 。 欲证Gram\; matrix:K=[K(x_{i},x_{j})]_{N\times N}半正定\\ 即证:\forall \alpha \in \mathbb{R}^{n},\alpha ^{T}K\alpha \geq 0\\ \because \alpha ^{T}K=\begin{pmatrix} \alpha _{1} & \alpha _{2} & \cdots & \alpha _{N} \end{pmatrix}_{1\times N}\begin{bmatrix} a_{11}& a_{12}& \cdots & a_{1N}\\ a_{21}& a_{22}& \cdots & a_{2N}\\ \vdots & \vdots & \ddots & \vdots \\ a_{N1}& a_{N2}& \cdots & a_{NN} \end{bmatrix}_{N\times N}\begin{pmatrix} \alpha _{1}\\ \alpha _{2}\\ \vdots \\ \alpha _{N} \end{pmatrix}_{N\times 1}\\ =\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha _{i}\alpha _{j}K_{ij}\\ =\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha _{i}\alpha _{j}<\phi (x_{i}),\phi (x_{j})>\\ =\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha _{i}\alpha _{j}\phi (x_{i})^{T}\phi (x_{j})\\ =\sum_{i=1}^{N}\alpha _{i}\phi (x_{i})^{T}\sum_{j=1}^{N}\alpha _{j}\phi (x_{j})\\ =\begin{bmatrix} \sum_{i=1}^{N}\alpha _{i}\phi (x_{i})\end{bmatrix}^{T}\sum_{j=1}^{N}\alpha _{j}\phi (x_{j})\\ =<\sum_{i=1}^{N}\alpha _{i}\phi (x_{i}),\sum_{j=1}^{N}\alpha _{j}\phi (x_{j})>\\ =\left \|\sum_{i=1}^{N}\alpha _{i}\phi (x_{i}) \right \|^{2}\geq 0\\ \therefore K是半正定的。 欲证Grammatrix:K=[K(xi,xj)]N×N半正定即证:∀α∈Rn,αTKα≥0∵αTK=(α1α2⋯αN)1×N⎣⎢⎢⎢⎡a11a21⋮aN1a12a22⋮aN2⋯⋯⋱⋯a1Na2N⋮aNN⎦⎥⎥⎥⎤N×N⎝⎜⎜⎜⎛α1α2⋮αN⎠⎟⎟⎟⎞N×1=i=1∑Nj=1∑NαiαjKij=i=1∑Nj=1∑Nαiαj<ϕ(xi),ϕ(xj)>=i=1∑Nj=1∑Nαiαjϕ(xi)Tϕ(xj)=i=1∑Nαiϕ(xi)Tj=1∑Nαjϕ(xj)=[∑i=1Nαiϕ(xi)]Tj=1∑Nαjϕ(xj)=<i=1∑Nαiϕ(xi),j=1∑Nαjϕ(xj)>=∥∥∥∥∥i=1∑Nαiϕ(xi)∥∥∥∥∥2≥0∴K是半正定的。
② ⇐ \Leftarrow ⇐:
对 K 进 ⾏ 特 征 分 解 , 对 于 对 称 矩 阵 K = V Λ V T , 那 么 令 ϕ ( x i ) = λ i V i , 其 中 V i 是 特 征 向 量 , 于 是 就 构 造 了 K ( x , z ) = λ i λ j V i T V j 。 \;对K进⾏特征分解,对于对称矩阵K=V\Lambda V^{T},那么令\phi (x_{i})=\sqrt{\lambda _{i}}V_{i},\\其中V_{i}是特征 向量,于是就构造了K(x,z)=\sqrt{\lambda _{i}\lambda _{j}}V_{i}^{T}V_{j}。 对K进⾏特征分解,对于对称矩阵K=VΛVT,那么令ϕ(xi)=λiVi,其中Vi是特征向量,于是就构造了K(x,z)=λiλjViTVj。
得证。
说明一下证明矩阵半正定的两种方法:
①特征值 ≥ 0 \geq 0 ≥0
② ∀ α ∈ R n , α T A α ≥ 0 \forall \alpha \in \mathbb{R}^{n},\alpha ^{T}A\alpha \geq 0 ∀α∈Rn,αTAα≥0