7. 核方法(Kernel Method)

7.1 背景介绍

7.1.1 概述

  1. 问题引出
    线性可分的数据有时夹杂一点噪声,可以通过改进算法来实现分类,比如感知机的口袋算法和支持向量机的软间隔。但是有时候数据往往完全不是线性可分的,比如下面这种情况:
    在这里插入图片描述
    • 在异或问题中数据往往不是线性可分的,但通过将数据映射到高维空间后就可以实现线性可分。可以认为高维空间中的数据比低维空间的数据更易线性可分
    • 因此,对于异或问题,我们可以通过寻找一个映射ϕ(x)\phi (x)ϕ(x)将低维空间中的数据x映射成高维空间中的zzz来实现数据的线性可分,例如:
      x=(x1,x2)⏟二维→ϕ(x)z=(x1,x2,(x1−x2)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,(x1x2)2)
      该数据就可以实现线性可分:
      在这里插入图片描述
      从2维到3维可以认为是核方法的应用。
  2. 解决方法
    我们可以用PLAPLAPLASVMSVMSVM来解决,对比PLAPLAPLASVMSVMSVM:
    对于分类问题,已学过的方法有PLA(感知机算法)和SVM:
线性可分 允许一点点错误 严格非线性
PLA Pocket Alorithm ϕ(x)\phi (x)ϕ(x)+PLA
Hard-Margin SVM Soft-Margin SVM ϕ(x)\phi (x)ϕ(x)+Hard-Margin SVM

其中ϕ(x)\phi (x)ϕ(x)表示:非线性高维转换的函数。

  1. 对于非线性可分问题有如下解决方法:

    • PLA:多层感知机(神经网络)⇒Deep  Learning多层感知机(神经网络)\Rightarrow Deep\;LearningDeepLearning
    • SVM:核方法SVM

    对于这种问题,有想法是将非线性可分的数据集通过一个非线性转换函数ϕ(x)\phi (x)ϕ(x) 转换为线性可分数据。

7.1.2 核方法

  1. 核方法简介
    核方法一般都在SVM中进行介绍,白板推导中将其独立出来,主要是为了理解其思想,不只可以用于SVM。
    • 核方法可以理解
      • Kernel  Method\color{blue}Kernel\;MethodKernelMethod 从思想角度
      • Kernel  Trick\color{blue}Kernel\;TrickKernelTrick从计算角度
      • Kernel  Function\color{blue}Kernel\;FunctionKernelFunction 重点
    • 核方法有如下两个重要作用
      • 非线性带来高维转换(从模型角度)\color{red}非线性带来高维转换(从模型角度)线
      • 对偶表示带来内积(从优化角度)\color{red}对偶表示带来内积(从优化角度)
  2. 数学表示
    • 优化问题:
      {minλ  12∑i=1N∑j=1NλiλjyiyjxiTxj−∑i=1Nλi,i=1,2,⋯ ,Nλi≥0,i=1,2,⋯ ,N(7.1.1)\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 \\ \lambda _{i}\geq 0,i=1,2,\cdots ,N \end{matrix}\right.\tag{7.1.1}{λmin21i=1Nj=1NλiλjyiyjxiTxji=1Nλi,i=1,2,,Nλi0,i=1,2,,N(7.1.1)
    • 将数据映射到高维空间ϕ(x)\phi (x)ϕ(x)后也就需要求解以下优化问题:
      {minλ  12∑i=1N∑j=1Nλiλjyiyjϕ(xi)Tϕ(xj)−∑i=1Nλi,i=1,2,⋯ ,Nλi≥0,i=1,2,⋯ ,N(7.1.2)\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 \\ \lambda _{i}\geq 0,i=1,2,\cdots ,N \end{matrix}\right.\tag{7.1.2}{λmin21i=1Nj=1Nλiλjyiyjϕ(xi)Tϕ(xj)i=1Nλi,i=1,2,,Nλi0,i=1,2,,N(7.1.2)
    • 然而在上面的方法中如果先将ϕ(xi)\phi (x_{i})ϕ(xi)ϕ(xj)\phi (x_{j})ϕ(xj)计算出来然后再做点积,由于维度特别高,加之得到ϕ(xi)\phi (x_{i})ϕ(xi)ϕ(xj)\phi (x_{j})ϕ(xj)也需要计算量,因此计算量是相当大的\color{red}计算量是相当大的,因此就有了核方法\color{red}核方法
    • 通过使用核函数我们可以直接得到ϕ(xi)与ϕ(xj)的内积\color{red}直接得到\phi (x_{i})与\phi (x_{j})的内积ϕ(xi)ϕ(xj),正定核函数定义如下:
      ∀x,x′∈X,∃ϕ:X↦H,ϕ∈Hs.t.  K(x,x′)=ϕ(xi)Tϕ(xj)=<ϕ(xi),ϕ(xj)>(7.1.3)\color{red}\forall x,x^{'}\in \mathcal{X} ,\exists \phi :\mathcal{X} \mapsto \mathcal{H},\phi \in \mathcal{H}\\s.t.\; K(x,x^{'})=\phi (x_{i})^{T}\phi (x_{j})=<\phi (x_{i}),\phi (x_{j})>\tag{7.1.3}x,xX,ϕ:XH,ϕHs.t.K(x,x)=ϕ(xi)Tϕ(xj)=<ϕ(xi),ϕ(xj)>(7.1.3)
      花体(X\mathcal{X}X)表示空间,↦\mapsto表示映射,则称K(x,x′)K(x,x^{'})K(x,x)是一个正定核函数
    • 其中H\mathcal{H}H是Hilbert空间(完备的可能是无限维的被赋予内积的线性空间),如果去掉内积这个条件我们简单地称为核函数。
    • 假设有核函数K(x,x′)=exp⁡(−(x−x′)22σ2)K(x,x')=\exp(-{(x-x')^2\over 2\sigma^2})K(x,x)=exp(2σ2(xx)2);这样只需要计算 x−x′x-x'xx ,不必再求其内积,计算量大大减少。此技巧成为Kernel Trick

因此,从以上过程可以看出核函数蕴含了两个作用:

  • 高维转换
  • 解决内积

7.2 正定核的两个定义

我们上一节理解了什么是核函数(一般指正定核函数),这一节咱们看看核函数的2个精准定义,以及精准定义之间的联系。

7.2.1 精准定义1

  1. 定义1
    K:X×X↦R,∀x,z∈X有K(x,z)。如果∃ϕ:X↦H,ϕ∈H(H为希尔伯特空间)s.t.  K(x,x′)=ϕ(xi)Tϕ(xj)=<ϕ(xi),ϕ(xj)>那么称K(x,z)是正定核函数(7.2.1)\color{red}K: \mathcal{X}\times \mathcal{X}\mapsto \mathbb R, \forall x, z \in \mathcal{X}有K(x, z)。 \\如果\exists \phi :\mathcal{X} \mapsto \mathcal{H},\phi \in \mathcal{H}(\mathcal{H}为希尔伯特空间)\\s.t.\; K(x,x^{'})=\phi (x_{i})^{T}\phi (x_{j})=<\phi (x_{i}),\phi (x_{j})>\\那么称K(x,z)是正定核函数\tag{7.2.1}K:X×XR,x,zXK(x,z)ϕ:XH,ϕH(H)s.t.K(x,x)=ϕ(xi)Tϕ(xj)=<ϕ(xi),ϕ(xj)>K(x,z)(7.2.1)
    2.希尔伯特空间
    Hilbert空间(完备的,可能是无限维的,被赋予内积的,线性空间\color{red}完备的,可能是无限维的,被赋予内积的,线性空间,,,线),如果去掉内积这个条件我们简单地称为核函数。
    • 完备的
      对极限操作是封闭的,即lim⁡n→∞Kn=K∈H\lim _{n\to \infty}K_n =K \in \mathcal{H}limnKn=KH
    • 被赋予内积的
      被赋予内积的,满足如下3个条件则满足内积运算
      • 对称性:<f,g>=<g,f><f,g>=<g,f><f,g>=<g,f>
      • 正定性:<f,f>≥0且“=”⇔f=0<f,f>\geq 0且“=”\Leftrightarrow f=0<f,f>0=f=0
      • 线性:<r1f1+r2f2,g>=r1<f1,g>+r2<f2,g><r_{1}f_{1}+r_{2}f_{2},g>=r_{1}<f_{1},g>+r_{2}<f_{2},g><r1f1+r2f2,g>=r1<f1,g>+r2<f2,g>
    • 线性空间
      • u+v=v+u, ∀u,v∈V\boldsymbol{u} + \boldsymbol{v} = \boldsymbol{v} + \boldsymbol{u},\ \forall \boldsymbol{u},\boldsymbol{v}\in \boldsymbol{V}u+v=v+u, u,vV
      • (u+v)+w=u+(v+w), ∀u,v,w∈V(\boldsymbol{u}+\boldsymbol{v})+\boldsymbol{w}=\boldsymbol{u}+(\boldsymbol{v}+\boldsymbol{w}),\ \forall \boldsymbol{u}, \boldsymbol{v}, \boldsymbol{w}\in \boldsymbol{V}(u+v)+w=u+(v+w), u,v,wV
      • There  is  an  element0∈Vsuch  thatv+0=vforallv∈VThere\;is\;an\;element \boldsymbol{0}\in\boldsymbol{V} such\; that \boldsymbol{v} + \boldsymbol{0} = \boldsymbol{v} for all \boldsymbol{v}\in \boldsymbol{V}Thereisanelement0Vsuchthatv+0=vforallvV
      • For  eachv∈Vthere  is  an  element−vsuchthatv+(−v)=0For\;each \boldsymbol{v}\in \boldsymbol{V} there\;is\;an\;element -\boldsymbol{v} such that \boldsymbol{v}+(-\boldsymbol{v})=\boldsymbol{0}ForeachvVthereisanelementvsuchthatv+(v)=0
      • c(u+v)=cu+cv, ∀u,v∈Vandc∈Fc(\boldsymbol{u}+\boldsymbol{v})=c\boldsymbol{u}+c\boldsymbol{v},\ \forall u,v\in\boldsymbol{V} and c\in\mathbb{F}c(u+v)=cu+cv, u,vVandcF
      • (a+b)v=av+bv, ∀a,b∈Fandv∈V(a+b)\boldsymbol{v}=a\boldsymbol{v}+b\boldsymbol{v},\ \forall a,b\in\mathbb{F} and \boldsymbol{v}\in\boldsymbol{V}(a+b)v=av+bv, a,bFandvV
      • (ab)v=a(bv), ∀a,b∈F  and  v∈V(ab)\boldsymbol{v}=a(b\boldsymbol{v}),\ \forall a,b\in\mathbb{F}\;and \;\boldsymbol{v}\in\boldsymbol{V}(ab)v=a(bv), a,bFandvV
      • 1v=v, ∀v∈V1\boldsymbol{v}=\boldsymbol{v},\ \forall \boldsymbol{v}\in\boldsymbol{V}1v=v, vV

7.2.2 精准定义2

  1. 定义2
    K:X×X↦R,∀x,z∈X有K(x,z)。如果K(x,z)满足以下条件:①  对称性;②  正定性.那么称K(x,z)是正定核函数(7.2.2)\color{red}K: \mathcal{X}\times \mathcal{X}\mapsto \mathbb R, \forall x, z \in \mathcal{X}有K(x, z)。 \\如果K(x, z)满足以下条件:①\;对称性;②\;正定性.\\那么称K(x,z)是正定核函数\tag{7.2.2}K:X×XR,x,zXK(x,z)K(x,z);.K(x,z)(7.2.2)
    • 对称性⇔K(x,z)=K(z,x);\Leftrightarrow K(x,z)=K(z,x);K(x,z)=K(z,x);
    • 正定性⇔任取N个元素x1,x2,⋯ ,xN∈X\Leftrightarrow任取N个元素x_{1},x_{2},\cdots ,x_{N}\in \mathcal{X}Nx1,x2,,xNX
      对应的Gram  matrix  K=[K(xi,xj)](K∈RN×N)是半正定的Gram\; matrix\; K=[K(x_{i},x_{j})](K\in \mathbb{R}^{N\times N})是半正定的GrammatrixK=[K(xi,xj)](KRN×N)
  2. 关系
    若定义一为已知条件,那么我们需要证明定义二,即证明:
    K(x,z)=(ϕ(x)Tϕ(z))⇔对称性+矩阵K半正定(7.2.3)\color{red}K(x,z)=(\phi (x)^{T}\phi (z))\Leftrightarrow对称性+矩阵K半正定\tag{7.2.3}K(x,z)=(ϕ(x)Tϕ(z))+K(7.2.3)

7.3 正定核充要条件-必要性证明

  1. 正定核函数的两个定义
    • 定义1
      K:X×X↦R,∀x,z∈X有K(x,z)。如果∃ϕ:X↦H,ϕ∈H(H为希尔伯特空间)s.t.  K(x,x′)=ϕ(xi)Tϕ(xj)=<ϕ(xi),ϕ(xj)>那么称K(x,z)是正定核函数\color{red}K: \mathcal{X}\times \mathcal{X}\mapsto \mathbb R, \forall x, z \in \mathcal{X}有K(x, z)。 \\如果\exists \phi :\mathcal{X} \mapsto \mathcal{H},\phi \in \mathcal{H}(\mathcal{H}为希尔伯特空间)\\s.t.\; K(x,x^{'})=\phi (x_{i})^{T}\phi (x_{j})=<\phi (x_{i}),\phi (x_{j})>\\那么称K(x,z)是正定核函数K:X×XR,x,zXK(x,z)ϕ:XH,ϕH(H)s.t.K(x,x)=ϕ(xi)Tϕ(xj)=<ϕ(xi),ϕ(xj)>K(x,z)
    • 定义2
      K:X×X↦R,∀x,z∈X有K(x,z)。如果K(x,z)满足以下条件:①  对称性;②  正定性.那么称K(x,z)是正定核函数\color{red}K: \mathcal{X}\times \mathcal{X}\mapsto \mathbb R, \forall x, z \in \mathcal{X}有K(x, z)。 \\如果K(x, z)满足以下条件:①\;对称性;②\;正定性.\\那么称K(x,z)是正定核函数K:X×XR,x,zXK(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);
    • 正定性⇔任取N个元素x1,x2,⋯ ,xN∈X\Leftrightarrow任取N个元素x_{1},x_{2},\cdots ,x_{N}\in \mathcal{X}Nx1,x2,,xNX
      对应的Gram  matrix  K=[K(xi,xj)](K∈RN×N)是半正定的Gram\; matrix\; K=[K(x_{i},x_{j})](K\in \mathbb{R}^{N\times N})是半正定的GrammatrixK=[K(xi,xj)](KRN×N)
      我们根据公式(7.2.3),由定义1推定义2(证明必要性是充分条件。充分性是必要条件\color{blue}必要性是充分条件。充分性是必要条件)。
  2. 必要性证明(⇒\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)
    • 正定性证明
      • 证明矩阵半正定的两种方法:
        ①特征值≥0②∀α∈Rn,αTAα≥0\color{red}①特征值\geq 0\\ ②\forall \alpha \in \mathbb{R}^{n},\alpha ^{T}A\alpha \geq 00αRn,αTAα0
      • 我们用方法2,则欲证Gram  matrix:K=[K(xi,xj)]N×NGram\; matrix:K=[K(x_{i},x_{j})]_{N\times N}Grammatrix:K=[K(xi,xj)]N×N半正定,即证:∀α∈Rn,αTKα≥0\forall \alpha \in \mathbb{R}^{n},\alpha ^{T}K\alpha \geq 0αRn,αTKα0
        ∵αTKα=(α1α2⋯αN)1×N[a11a12⋯a1Na21a22⋯a2N⋮⋮⋱⋮aN1aN2⋯aNN]N×N(α1α2⋮αN)N×1=∑i=1N∑j=1NαiαjKij=∑i=1N∑j=1Nαiαj<ϕ(xi),ϕ(xj)>=∑i=1N∑j=1Nαiαjϕ(xi)Tϕ(xj)=∑i=1Nαiϕ(xi)T∑j=1Nαjϕ(xj)=[∑i=1Nαiϕ(xi)]T∑j=1Nαjϕ(xj)=<∑i=1Nαiϕ(xi),∑j=1Nαjϕ(xj)>=∥∑i=1Nαiϕ(xi)∥2≥0∴K是半正定的。\because \alpha ^{T}K\alpha =\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是半正定的。αTKα=(α1α2αN)1×Na11a21aN1a12a22aN2a1Na2NaNNN×Nα1α2αNN×1=i=1Nj=1NαiαjKij=i=1Nj=1Nαiαj<ϕ(xi),ϕ(xj)>=i=1Nj=1Nαiαjϕ(xi)Tϕ(xj)=i=1Nαiϕ(xi)Tj=1Nαjϕ(xj)=[i=1Nαiϕ(xi)]Tj=1Nαjϕ(xj)=<i=1Nαiϕ(xi),j=1Nαjϕ(xj)>=i=1Nαiϕ(xi)20K
  3. 充分性证明(⇐\Leftarrow)
    正定性证明,我们用方法1.
    • 对K进⾏特征分解,对于对称矩阵K=VΛVTK=V\Lambda V^{T}K=VΛVT,那么令ϕ(xi)=λiVi\phi (x_{i})=\sqrt{\lambda _{i}}V_{i}ϕ(xi)=λi Vi,其中ViV_{i}Vi是特征向量;
    • 于是就构造了K(x,z)=λiλjViTVjK(x,z)=\sqrt{\lambda _{i}\lambda _{j}}V_{i}^{T}V_{j}K(x,z)=λiλj ViTVj。所以特征值一定大于等于0!

7.4 总结

  1. 引入核函数主要作用有如下两点:
    • 高维转换(解决非线性可分问题)
    • 内积运算(简化运算)
  2. 原问题
    {minλ  12∑i=1N∑j=1NλiλjyiyjxiTxj−∑i=1Nλi,i=1,2,⋯ ,Nλi≥0,i=1,2,⋯ ,N(7.1.1)\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}{x_{i}^{T}x_{j}}}-\sum_{i=1}^{N}\lambda _{i},i=1,2,\cdots ,N \\ \lambda _{i}\geq 0,i=1,2,\cdots ,N \end{matrix}\right.\tag{7.1.1}{λmin21i=1Nj=1NλiλjyiyjxiTxji=1Nλi,i=1,2,,Nλi0,i=1,2,,N(7.1.1)
  3. 核方法
    {minλ  12∑i=1N∑j=1Nλiλjyiyjϕ(xi)Tϕ(xj)−∑i=1Nλi,i=1,2,⋯ ,Nλi≥0,i=1,2,⋯ ,N(7.1.2)\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 \\ \lambda _{i}\geq 0,i=1,2,\cdots ,N \end{matrix}\right.\tag{7.1.2}{λmin21i=1Nj=1Nλiλjyiyjϕ(xi)Tϕ(xj)i=1Nλi,i=1,2,,Nλi0,i=1,2,,N(7.1.2)
  4. 正定核函数定义
    公式(7.2.1)和(7.2.2)
  5. 常见核函数
    在这里插入图片描述
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐