在许许多多的分类模型中,线性模型
f(x)=w⊤x
f(x)=w⊤x是最为简单高效的一种,它最后可以得到一个线性分界面,如下图左图所示,但是在数据集
S={x1,…,xm}, xi∈X
S={x1,…,xm}, xi∈X
非线性可分时,线性模型的分类精度不高。为了得到非线性分界面,提高分类精度,如下图右图所示,一个直观的想法就是构造一个映射
ϕ:X↦H
ϕ:X↦H,其中
H
H为Hilbert空间,将原始特征空间的样本映射到一个新的特征空间,之后在新的特征空间用线性模型
f(x)=w⊤ϕ(x)
f(x)=w⊤ϕ(x)进行分类。注意,新的特征空间
H
H的维度一般都比原始特征空间维度高很多,有时甚至是无穷,因此再假定它为Euclidean空间已经不合理了,因为这时计算内积
w⊤ϕ(x)
w⊤ϕ(x)可能会出现无穷大的情况(也即此时有限维Euclidean空间下定义的内积运算无法推广到无限维)。那么一个自然的选择就是Euclidean空间的无限维推广:Hilbert 空间。
虽然通过非线性映射可以得到非线性分界面,但是当
H
H的维度过高时,又引入了一个新问题,就是计算开销太大,一个避免此问题的方法是使用核函数(kernel functions)。下面看一个简单的例子,设原始特征空间为
R2
R2,映射
ϕ:R2↦R6
ϕ:R2↦R6(任意有限维的Euclidean空间都是Hilbert空间)定义为:
ϕ(x)=ϕ(x1,x2)=[x21,x22,2√x1x2,2c−−√x1,2c−−√x2,c]⊤
ϕ(x)=ϕ(x1,x2)=[x12,x22,2x1x2,2cx1,2cx2,c]⊤
于是对于任意样本
x=[x1,x2]⊤
x=[x1,x2]⊤,
x′=[x′1,x′2]⊤
x′=[x1′,x2′]⊤有
⟨ϕ(x),ϕ(x′)⟩=[x21,x22,2√x1x2,2c−−√x1,2c−−√x2,c]⊤[x′12,x′22,2√x′1x′2,2c−−√x′1,2c−−√x′2,c]=x21x′12+x22x′22+c2+2x1x2x′1x′2+2cx1x′1+2cx2x′2=(x1x′1+x2x′2+c)2=(x⊤x′+c)2
⟨ϕ(x),ϕ(x′)⟩=[x12,x22,2x1x2,2cx1,2cx2,c]⊤[x1′2,x2′2,2x1′x2′,2cx1′,2cx2′,c]=x12x1′2+x22x2′2+c2+2x1x2x1′x2′+2cx1x1′+2cx2x2′=(x1x1′+x2x2′+c)2=(x⊤x′+c)2
从这个例子可以看出,在新特征空间中计算内积并不需要显式地给出
ϕ(x)
ϕ(x),有原始特征空间的内积就够了,至此,核函数的定义也就呼之欲出了。
核函数:对于函数
k:X×X↦R
k:X×X↦R,若存在Hilbert空间
H
H和映射
ϕ:X↦H
ϕ:X↦H满足
k(x,x′)=⟨ϕ(x),ϕ(x′)⟩H, ∀x,x′∈X
k(x,x′)=⟨ϕ(x),ϕ(x′)⟩H, ∀x,x′∈X
则称
k
k为核函数,对应的映射
ϕ
ϕ为核映射,
H
H为
k
k的一个特征空间。
由内积的对称性知核函数必然是对称的,此外,核函数还有一个重要的性质:正定性。即对于任意样本集合
S={x1,…,xm}
S={x1,…,xm},定义一个叫核矩阵(kernel matrix)的矩阵
K
K,它的第
i
i行第
j
j列元素为
k(xi,xj)
k(xi,xj),则由
α⊤Kα=∑i=1m∑j=1mαiαjk(xi,xj)=∑i=1m∑j=1mαiαj⟨ϕ(xi),ϕ(xj)⟩H=⟨∑i=1mαiϕ(xi),∑j=1mαjϕ(xj)⟩H≥0
α⊤Kα=∑i=1m∑j=1mαiαjk(xi,xj)=∑i=1m∑j=1mαiαj⟨ϕ(xi),ϕ(xj)⟩H=⟨∑i=1mαiϕ(xi),∑j=1mαjϕ(xj)⟩H≥0
知
K
K是半正定矩阵。这也是核方法的一个优点,它诱导出的优化问题基本都是有良好性质的凸优化问题,例如核支持向量机。此外,由
k
k是正定核函数知核矩阵
K
K是半正定矩阵,于是
K
K对应的行列式的值非负,展开行列式即可得如下的Cauchy-Schwarz不等式
k(x,x′)2≤k(x,x)k(x′,x′), ∀x,x′∈X
k(x,x′)2≤k(x,x)k(x′,x′), ∀x,x′∈X
该式也可等价地写作
|⟨ϕ(x),ϕ(x′)⟩|≤||ϕ(x)||H||ϕ(x′)||H, ∀x,x′∈X
|⟨ϕ(x),ϕ(x′)⟩|≤||ϕ(x)||H||ϕ(x′)||H, ∀x,x′∈X
下面再来看一个和核函数息息相关的概念:再生核Hilbert空间(reproducing kernel Hilbert space, RKHS),在此先给出相关定义。
再生核Hilbert空间:设
H
H是由函数
f:X↦R
f:X↦R构成的Hilbert空间,若函数
k:X×X↦R
k:X×X↦R满足对于任意
x∈X
x∈X有
k(⋅,x)∈H
k(⋅,x)∈H,且对于任意
f∈H
f∈H有如下再生性质
f(x)=⟨f,k(⋅,x)⟩H
f(x)=⟨f,k(⋅,x)⟩H
成立,则称
k
k为
H
H的再生核。进一步,若Dirac泛函
δx(f)=f(x), ∀f∈H,x∈X
δx(f)=f(x), ∀f∈H,x∈X
连续,则称
H
H为
X
X上的RKHS。
关于这个定义,有两点要说明一下。一是给定
x′∈X
x′∈X,设
f=k(⋅,x′)
f=k(⋅,x′),于是对于任意
x∈X
x∈X,由再生性质有
k(x,x′)=f(x)=⟨f,k(⋅,x)⟩H=⟨k(⋅,x′),k(⋅,x)⟩H
k(x,x′)=f(x)=⟨f,k(⋅,x)⟩H=⟨k(⋅,x′),k(⋅,x)⟩H
于是定义函数
ϕ(x)=k(⋅,x)
ϕ(x)=k(⋅,x)可知
k
k是核函数,这就说明了再生核也是一种核函数。二是RKHS上依范数收敛蕴含逐点收敛,注意若函数序列
{fn}
{fn}收敛于
f
f,则对于任意
x∈X
x∈X由Dirac泛函连续有
limn→∞fn(x)=limn→∞δx(fn)=δx(f)=f(x)
limn→∞fn(x)=limn→∞δx(fn)=δx(f)=f(x)
RKHS法则:设
H
H是由函数
f:X↦R
f:X↦R构成的Hilbert空间且有再生核
k
k,则
H
H是RKHS,此外
H
H也是
k
k的一个特征空间,此时对应的核映射为
ϕ(x)=k(⋅,x), ∀x∈X
ϕ(x)=k(⋅,x), ∀x∈X
证明:对于任意
f,g∈H
f,g∈H,由Dirac泛函的定义及Cauchy-Schwarz不等式有
|δx(f−g)|=|f(x)−g(x)|=|⟨f−g,k(⋅,x)⟩H|≤||f−g||H||k(⋅,x)||H, ∀f∈H,x∈X
|δx(f−g)|=|f(x)−g(x)|=|⟨f−g,k(⋅,x)⟩H|≤||f−g||H||k(⋅,x)||H, ∀f∈H,x∈X
这就证明了Dirac泛函的连续性,于是
H
H是RKHS。
对于任一给定
x′∈X
x′∈X,设
f=k(⋅,x′)
f=k(⋅,x′),于是对于任意
x∈X
x∈X,由再生性质有
k(x,x′)=f(x)=⟨f,k(⋅,x)⟩H=⟨k(⋅,x′),k(⋅,x)⟩H=⟨ϕ(x′),ϕ(x)⟩H
k(x,x′)=f(x)=⟨f,k(⋅,x)⟩H=⟨k(⋅,x′),k(⋅,x)⟩H=⟨ϕ(x′),ϕ(x)⟩H
于是取核映射为
ϕ(x)=k(⋅,x)
ϕ(x)=k(⋅,x)即可。
注意给定一个核函数
k
k,对应的核映射
ϕ
ϕ并不是唯一的,例如设
k(x,x′)=x⊤x′
k(x,x′)=x⊤x′,那么既可以取核映射
ϕ(x)=x
ϕ(x)=x,也可以取核映射
ϕ(x)=[x⊤/2√,x⊤/2√]⊤
ϕ(x)=[x⊤/2,x⊤/2]⊤。由于
ϕ
ϕ不唯一,所以对应的特征空间
H
H也不是唯一的,但是在所有的特征空间里,以
k
k为再生核的特征空间却是唯一的,这就是RKHS。
RKHS定理:对于任意核函数
k:X×X↦R
k:X×X↦R,由定义必存在一个Hilbert空间
H0
H0和映射
ϕ0:X↦H
ϕ0:X↦H满足
k(x,x′)=⟨ϕ0(x),ϕ0(x′)⟩H0, ∀x,x′∈X
k(x,x′)=⟨ϕ0(x),ϕ0(x′)⟩H0, ∀x,x′∈X
设
H={f:X↦R | ∃w∈H0,f(x)=⟨w,ϕ0(x)⟩H0,∀x∈X}(1)
(1)H={f:X↦R | ∃w∈H0,f(x)=⟨w,ϕ0(x)⟩H0,∀x∈X}
并定义范数
||f||H=inf{||w||H0 | w∈H0, f=⟨w,ϕ0(⋅)⟩H0}
||f||H=inf{||w||H0 | w∈H0, f=⟨w,ϕ0(⋅)⟩H0}
那么
H
H是关于
k
k的唯一的RKHS。
证明:由
H
H的定义不难验证
H
H是个线性空间。定义线性算子
V:H0↦H
V:H0↦H如下:
Vw=⟨w,ϕ0(⋅)⟩H0
Vw=⟨w,ϕ0(⋅)⟩H0
由
H
H的定义可以看出
V
V是一个满射算子,且对于任意
f∈H
f∈H有
||f||H=infw∈V−1(f)||w||H0
||f||H=infw∈V−1(f)||w||H0
设序列
{wn}∈kerV
{wn}∈kerV收敛于
w
w,那么对于任意
x∈X
x∈X有
⟨w,ϕ(x)⟩=limn→∞⟨wn,ϕ(x)⟩=0
⟨w,ϕ(x)⟩=limn→∞⟨wn,ϕ(x)⟩=0,这意味着
w∈kerV
w∈kerV,故
kerV
kerV是
H0
H0的一个闭子空间,即它也是一个Hilbert空间。
将
H0
H0进行正交分解
H0=kerV+H^
H0=kerV+H^,考虑算子
VH^:H^↦H
VH^:H^↦H如下:
VH^w=⟨w,ϕ0(⋅)⟩H^
VH^w=⟨w,ϕ0(⋅)⟩H^
由内积的线性性知
VH^
VH^是一个单射。对于任意
f∈H
f∈H,由
H
H的定义知存在
w∈H0
w∈H0使得
f=Vw
f=Vw,设
w
w可正交分解为
w=w0+w^(w0∈kerV,w^∈H^)
w=w0+w^(w0∈kerV,w^∈H^),于是
f=Vw=V(w0+w^)=VH^w^
f=Vw=V(w0+w^)=VH^w^,这说明
VH^
VH^也是一个满射,从而
VH^
VH^是一个双射,记它的逆映射为
V−1H^
VH^−1,显然这也是一个双射。于是
||f||2H=infw0+w^∈V−1(f)||w0+w^||2H0=infw^∈V−1H^(f)||w0||2H0+||w^||2H0=infw^∈V−1H^(f)||w^||2H0=||V−1H^(f)||2H^
||f||H2=infw0+w^∈V−1(f)||w0+w^||H02=infw^∈VH^−1(f)||w0||H02+||w^||H02=infw^∈VH^−1(f)||w^||H02=||VH^−1(f)||H^2
故
H
H是
H^
H^的一个等距同构,由
H^
H^是Hilbert空间可知
H
H也是一个Hilbert空间。
下面说明
k
k是
H
H的再生核,显然对于任意
x∈X
x∈X有
k(⋅,x)=⟨ϕ0(x),ϕ0(⋅)⟩H0=Vϕ0(x)∈H
k(⋅,x)=⟨ϕ0(x),ϕ0(⋅)⟩H0=Vϕ0(x)∈H。对于任意
w∈kerV
w∈kerV有
⟨w,ϕ0(x)⟩H0=0
⟨w,ϕ0(x)⟩H0=0,这意味着
ϕ0(x)∈(kerV)⊤=H^
ϕ0(x)∈(kerV)⊤=H^,由于
VH^
VH^是双射,于是
f(x)=⟨w,ϕ0(x)⟩H0=⟨w^,ϕ0(x)⟩H0=⟨V−1H^(f),ϕ0(x)⟩H0=⟨f,VH^ϕ0(x)⟩H=⟨f,k(⋅,x)⟩H
f(x)=⟨w,ϕ0(x)⟩H0=⟨w^,ϕ0(x)⟩H0=⟨VH^−1(f),ϕ0(x)⟩H0=⟨f,VH^ϕ0(x)⟩H=⟨f,k(⋅,x)⟩H
这就说明了
k
k是
H
H的再生核,由RKHS法则知
H
H是RKHS。
设
H˜
H~为任一以
k
k为再生核的RKHS,考虑准Hilbert空间
Hpre={∑i=1mαik(xi,⋅),m∈N,αi∈R,xi∈X}
Hpre={∑i=1mαik(xi,⋅),m∈N,αi∈R,xi∈X}
显然
Hpre
Hpre是
H˜
H~的子集。若
Hpre
Hpre不是
H˜
H~的一个稠密子集,则
(Hpre)⊤≠{0}
(Hpre)⊤≠{0},即存在
f∈(Hpre)⊤
f∈(Hpre)⊤及
x∈X
x∈X满足
f(x)≠0
f(x)≠0,于是由再生核的性质可以得到
0=⟨f,k(x,⋅)⟩H˜=f(x)≠0
0=⟨f,k(x,⋅)⟩H~=f(x)≠0
矛盾,故
Hpre
Hpre是
H˜
H~的一个稠密子集。对于任意
f=∑mi=1αik(xi,⋅)∈Hpre
f=∑i=1mαik(xi,⋅)∈Hpre,由再生核的性质可以得到
||f||2H˜=⟨f,∑i=1mαik(xi,⋅)⟩H˜=∑i=1mαif(xi)=∑i=1m∑j=1mαiαjk(xi,xj)
||f||H~2=⟨f,∑i=1mαik(xi,⋅)⟩H~=∑i=1mαif(xi)=∑i=1m∑j=1mαiαjk(xi,xj)
这个式子说明
Hpre
Hpre中元素的范数只和
k
k有关。
下面证明以
k
k为再生核的RKHS是唯一的,用反证法,设
H1
H1和
H2
H2都是以
k
k为再生核的RKHS,那么由上面的论证知
Hpre
Hpre在
H1
H1和
H2
H2中都是稠密的且拥有相同的范数。对于任意
f∈H1
f∈H1,存在序列
{fn}⊆Hpre
{fn}⊆Hpre收敛于
f
f,由于
Hpre⊆H2
Hpre⊆H2,因此序列
{fn}⊆H2
{fn}⊆H2,又
Hpre
Hpre中元素的范数只和
k
k有关,与
H1
H1和
H2
H2无关,因此序列
{fn}
{fn}在
H2
H2中也收敛,设
g∈H2
g∈H2为序列
{fn}
{fn}在
H2
H2中的极限,由于RKHS上依范数收敛蕴含逐点收敛,故对任意
x∈X
x∈X有
f(x)=g(x)
f(x)=g(x),这意味着
f∈H2
f∈H2,于是
H1⊆H2
H1⊆H2,同理可证
H2⊆H1
H2⊆H1,这说明
H1
H1和
H2
H2中的元素完全相同。又
||f||H1=limn→∞||fn||H1=limn→∞||fn||Hpre=limn→∞||fn||H2=||f||H2
||f||H1=limn→∞||fn||H1=limn→∞||fn||Hpre=limn→∞||fn||H2=||f||H2
这说明同一个元素在
H1
H1和
H2
H2中的范数完全相同,因此
H1
H1和
H2
H2是同一个空间,这就证明了唯一性。
证明有点冗长,用人话简单总结一下就是,对于任意一个核函数
k
k,都存在多个对应的特征空间
H0
H0,在这之中,RKHS是最为“精简”的一个,这里的精简体现在无论在
H0
H0中得到怎样的分类模型
⟨w,ϕ0(x)⟩H0
⟨w,ϕ0(x)⟩H0,在RKHS中都存在一个
f
f可以得到和它相同的效果,因此对于某个核函数,RKHS代表了它最本征的信息。
实际中,当我们用核方法训练非线性分类模型时,一般都是通过显式地给出核函数来确定一个核映射及其对应的RKHS的,因为设计核函数比设计核映射要容易得多,再生核理论也正是为这种做法提供正确性保证的。那剩下的问题就是如何在RKHS中求得最优的分类模型了。看到这里可能有人会问,RKHS中不都是函数吗,这还怎么做分类呢?这里其实用到了Hilbert空间的一个性质,同维度的Hilbert空间都是同构的,即它们可以保持相同的内积、距离、角度等,因此它里面的元素是函数也好,是向量也罢,并不重要,因为我们最后要的分类模型也只是该空间里的一个内积表达式而已。还有一个问题,做分类时我们一般只会拿到一个样本集合
S={x1,…,xm}
S={x1,…,xm},而不是整个样本空间
X
X,因此我们只能得到准Hilbert空间
Hpre={∑i=1mαik(xi,⋅),m∈N,αi∈R,xi∈X}
Hpre={∑i=1mαik(xi,⋅),m∈N,αi∈R,xi∈X}
而不是整个RKHS,幸运的是表示定理(representer theorem)表明在某些条件下,求取最优分类模型的优化问题的最优解就在
Hpre
Hpre中,这样就把无限维RKHS中的优化问题转化成了
m
m维Euclidean空间里的优化问题,大大降低了难度。
表示定理:设核函数
k:X×X↦R
k:X×X↦R对应的RKHS为
H
H,那么对于任意单调增函数
G:R+↦R
G:R+↦R和损失函数
L:Rm↦R∪(+∞)
L:Rm↦R∪(+∞),如下优化问题
argminh∈H G(||h||H)+L(h(x1),…,h(xm))
argminh∈H G(||h||H)+L(h(x1),…,h(xm))
的最优解呈形
h∗=∑mi=1αik(xi,⋅)
h∗=∑i=1mαik(xi,⋅)。
证明:设
k(x1,⋅),…,k(xm,⋅)
k(x1,⋅),…,k(xm,⋅)张成的线性空间为
H1
H1,于是对于任意
h∈H
h∈H,可做正交分解
h=h1+h⊥1
h=h1+h1⊥,由
G
G的单调性知
G(||h1||H)≤G(||h1||2H+||h⊥1||2H−−−−−−−−−−−−−√)=G(||h||H)
G(||h1||H)≤G(||h1||H2+||h1⊥||H2)=G(||h||H)
由再生性质知
h(xi)=⟨h,k(xi,⋅)⟩H=⟨h1,k(xi,⋅)⟩H=h1(xi),i=1,…,m
h(xi)=⟨h,k(xi,⋅)⟩H=⟨h1,k(xi,⋅)⟩H=h1(xi),i=1,…,m
因此将
h
h换成
h1
h1并不影响第二项,却可以使第一项减小,因此
h∗∈H1
h∗∈H1。
实际中,
G
G在
R+
R+上单调增是个非常宽松的条件,常见的
L−1
L−1正则项、
L−2
L−2正则项都是满足的。