一、些基本定义

  • 线性性:所谓的线性性就是加分和数乘。
  • 距离:距离的定义必须满足如下三个条件:
    • 非负性:d(x,y)0,x=yd(x,y)≥0,x=y时等号成立。
    • 对称性:d(x,y)=d(y,x)d(x,y)=d(y,x)
    • 三角不等式:d(x,y)+d(y,z)d(x,z)d(x,y)+d(y,z)≥d(x,z)
  • 范数x‖x‖满足三个条件为范数:
    • 非负性:x0‖x‖≥0
    • 线性性:ax=ax‖ax‖=|a|‖x‖
    • 三角不等式:x+yx+y‖x‖+‖y‖≥‖x+y‖
    • 范数可以看成从xx到原点的距离;所以由范数可以定义距离,即:d(x,y)=xyd(x,y)=||x-y||,但是距离不可以定义范数因为距离的定义,不满足范数的第二条条件。
  • 内积x,y⟨x,y⟩为内积的条件:
    • 对称性:x,y=y,x⟨x,y⟩=⟨y,x⟩
    • 线性性质: x,y+x,z=x,y+z⟨x,y⟩+⟨x,z⟩=⟨x,y+z⟩ ,ax,y=ax,y⟨ax,y⟩=a⟨x,y⟩
    • 正定性:x,y0⟨x,y⟩≥0

二、各种空间

1、各种空间关系图

SVM的核技术与希尔伯特空间

2、线性空间

  • 若某个空间中的任意向量线性组合(加法和数乘)形成的新向量仍然属于该空间,则该空间就是线性空间。
  • 线性空间中可以找到一组基,它能够通过线性组合得到空间中所有的向量(点)。

3、函数空间

  • 一个函数可以看成一个无穷维的向量
  • 对函数f(x)f(x)按照自变量xx进行采样,将样本的函数值组成一个向量:(f(x1),f(x2),f(xn))(f(x_1 ),f(x_2 ),…f(x_n ))
  • 如果采样的间隔变得无穷的小,则这个向量就为一个无穷维的向量。
    SVM的核技术与希尔伯特空间
  • 所以一个函数空间的内积可以定义为:f,g=f(x),g(x)dx⟨f,g⟩=∫f(x),g(x) dx
  • 多元函数:用xx表示RnR^n中的一个向量(点),ff代表函数本身,也就是无穷向量。f(x)f(x)表示点xx处的函数值
  • 与向量基类似,我们可以使用函数基表示其他函数。与向量基不同的是,在向量空间中我们只需要有限个向量去构造一组向量基,函数空间中则需要无限个基函数。

4、完备性

  • 其中完备性的意思就是空间中的极限运算不能跑出该空间,如有理数空间中的2\sqrt{2} 的小数表示,其极限随着小数位数的增加收敛到2\sqrt{2},但2\sqrt{2}属于无理数,并不在有理数空间,故不满足完备性。
  • 一个通俗的理解是把学校理解为一个空间,你从学校内的宿舍中开始一直往外走,当走不动停下来时(极限收敛),发现已经走出学校了(超出空间),不在学校范围内了(不完备了)。希尔伯特就相当于地球,无论你怎么走,都还在地球内(飞出太空除外)
  • 一般指函数空间

5、特征值分解

  • 特征值

    • 定义:设AAnn阶矩阵,λ是一个实数,若存在nn维非零向量ξ0ξ≠0,使得下式成立: Aξ=λξAξ=λξ则称λλAA的一个特征值,ξξAA的对应于特征值λλ的特征向量。
    • 性质:
      • 不同特征值的特征向量线性无关
      • 同一特征值的特征向量的线性组合依然是该特征值的特征向量。
      • 不同特征值的特征向量的线性组合依然不再是矩阵A的特征向量。
      • KK重特征值λλ至多有kk个线性无关的特征向量。

  • 一般矩阵的特征值分解

    • AAnn阶矩阵,并且具有nn个线性无关的特征向量: ξ1,ξ2,,ξnξ_1,ξ_2,…,ξ_n
    • 这些特征向量对应的特征值分别是:λ1,λ2,,λnλ_1,λ_2,…,λ_n特征值可能有重根。
    • 则有下面式子成立:Aξi=λiξiAξ_i=λ_i ξ_i[Aξ1,Aξ2,,Aξn]=[λ1ξ1,λ2ξ2,,λnξn][Aξ_1,Aξ_2,…,Aξ_n ]=[λ_1 ξ_1,λ_2 ξ_2,…,λ_n ξ_n]A[ξ1,ξ2,,ξn]=[ξ1,ξ2,,ξn][λ1000λ2000λn]A[ξ_1,ξ_2,…,ξ_n ]=[ξ_1,ξ_2,…,ξ_n ]\begin{bmatrix} λ_1 &0 & \cdots & 0 \\ 0 &λ_2 & \cdots & 0 \\ \vdots & \vdots &\ddots & \vdots \\ 0 &0 & \cdots & λ_n \end{bmatrix}
    • 记:[ξ1,ξ2,,ξn]=Q[ξ_1,ξ_2,…,ξ_n ]=Q P=[λ1000λ2000λn]P=\begin{bmatrix} λ_1 &0 & \cdots & 0 \\ 0 &λ_2 & \cdots & 0 \\ \vdots & \vdots &\ddots & \vdots \\ 0 &0 & \cdots & λ_n \end{bmatrix}
    • 则有: A=QPQ1A=QPQ^{-1}

  • 实对称矩阵性质:

    • 实对称矩阵AA的不同特征值对应的特征向量是正交
    • 实对称矩阵AA的特征值都是实数,特征向量都是实向量。
    • nn阶实对称矩阵AA必可相似对角化(有nn个线性无关的特征向量),且相似对角阵上的元素即为矩阵本身特征值。
    • λλkk重特征值,则必有k个线性无关的特征向量。
    • 如果矩阵AA是实对称矩阵,则必定存在一个正交矩阵QQ,使得QTAQ=PQ^T AQ=P,即A=QPQTA=Q PQ^T其中PP是对角矩阵

  • 正交矩阵性质:

    • QQ正交矩阵,则QT=Q1Q^T=Q^{-1}

  • 施密特正交化:

    • α1,α2,,αnα_1,α_2,…,α_nRnR^n中的一个线性无关向量组,若令:β1=α1β_1=α_1β2=α2α2,β1α1,β1β1β_2=α_2-\frac{⟨α_2,β_1 ⟩}{⟨α_1,β_1 ⟩}β_1βn=αnαn,β1α1,β1β1αn,β2α2,β2β2αn,βn1αn1,βn1βn1β_n=α_n-\frac{⟨α_n,β_1 ⟩}{⟨α_1,β_1 ⟩} β_1-\frac{⟨α_n,β_2 ⟩}{⟨α_2,β_2 ⟩} β_2-…-\frac{⟨α_n,β_{n-1} ⟩}{⟨α_{n-1},β_{n-1} ⟩} β_{n-1}
    • β1,β2,,βnβ_1,β_2,…,β_n就是一个正交向量组。再进行单位化: ei=βiβie_i=\frac{β_i}{||β_i ||}
    • 利用线性无关向量组,构造出一个标准正交向量组的方法,就是施密特正交化方法。
    • 由上面公式我们可以看出,β1,β2,,βnβ_1,β_2,…,β_n都是由α1,α2,,αnα_1,α_2,…,α_n线性组合形成的。

  • 证明:如果矩阵A是实对称矩阵,则必定存在一个正交矩阵QQ,即A=QPQTA=QPQ^T

    • 这个就是实对称矩阵的特征值分解,上面所有的铺垫都是为了轻松的证明这个定理。
    • 假设AAnn阶实对称矩阵,其不重复特征值为:λ1,λ2,,λdλ_1,λ_2,…,λ_d
    • d=nd=n,则AAnn个不相等的特征值,所有每个特征值都有一个特征向量为:ξ1,ξ2,,ξnξ_1,ξ_2,…,ξ_n,则他们相互正交。然后由上面的特征值分解方法有:A=QPQ1A=QPQ^{-1}由于[ξ1,ξ2,,ξn]=Q[ξ_1,ξ_2,…,ξ_n ]=Q,所以QQ为正交矩阵,则QT=Q1Q^T=Q^{-1},所以有:A=QPQTA=QPQ^T
    • d<nd<n,则AA有重根特征值,对每个重根特征值做下面处理:
      - 若λ_i 是k重特征值,则必有kk个线性无关的特征向量: ξi1,ξi2,,ξikξ_{i1},ξ_{i2},…,ξ_{ik},将他们进行施密特正交化得到:ξi1,ξi2,,ξikξ_{i1}',ξ_{i2}',…,ξ_{ik}',由于ξi1,ξi2,,ξikξ_{i1}',ξ_{i2}',…,ξ_{ik}'是由ξi1,ξi2,,ξikξ_{i1},ξ_{i2},…,ξ_{ik}线性组合形成的,根据特征值性质可知ξi1,ξi2,,ξikξ_{i1}',ξ_{i2}',…,ξ_{ik}'也是λiλ_i的特征向量并且相互正交。
      • 经过上面处理,ξ1,ξ2,,ξnξ_1,ξ_2,…,ξ_n相互正交,后面的处理和上一种情况一样。

  • 现在经过上面的一系列铺垫证明,我们得到这样一个结论:

    • AAnn阶是对称矩阵,那么A可以被如下分解: A=QPQTA=QPQ^T其中:[ξ1,ξ2,,ξn]=Q[ξ_1,ξ_2,…,ξ_n ]=QP=[λ1000λ2000λn]P=\begin{bmatrix} λ_1 &0 & \cdots & 0 \\ 0 &λ_2 & \cdots & 0 \\ \vdots & \vdots &\ddots & \vdots \\ 0 &0 & \cdots & λ_n \end{bmatrix}中间特征值于特征向量是对应关系,我展开公式:A=QPQT=i=1nλiξiξiTA=QPQ^T=∑_{i=1}^nλ_i ξ_i ξ_i^T

  • 为了顺利理解下面的部分,我们需要知道矩阵与线性变换的一个关系:

三、核函数

  • 函数φ(x)φ(x)可视为一个无穷维向量,那么二元函数K(x,y)K(x,y)就可以可以视为一个无穷维矩阵,这个地方有点抽象,解释如下:
    • 假设AAm×nm×n的矩阵,xxn×1n×1的列向量,则可以通过对AAxx做内积将xx映射为一个mm维空间中的yy(m×1m×1的列向量),所以矩阵AA就是一个函数: Ax=yAx=y
    • 现在我对函数f(x)f(x)K(x,y)K(x,y)做内积:K(x,y),φ(x)=K(x,y)φ(x)dx⟨K(x,y),φ(x)⟩=∫K(x,y)φ(x)dx这个积分的结果是一个yy的函数μ(y)μ(y),也是无限维的向量。所以从这个角度讲K(x,y)K(x,y)就是函数空间中的矩阵。

  • 假设二元函数K(x,y)K(x,y)满足下面条件,就是核函数(或者叫核矩阵)
    • 对称性(对称矩阵):K(x,y)=K(y,x)K(x,y)=K(y,x)
    • 正定性: f(x)K(x,y)f(y)dxdy∬f(x)K(x,y)f(y)dxdy
    • 满足上述条件我们称为对称半正定核函数

  • 特征值λλ与特征函数ψ(x)ψ(x):与上面一致K(x,y),ψ(x)=K(x,y)ψ(x)dx=λψ(y)⟨K(x,y),ψ(x)⟩=∫K(x,y)ψ(x) dx=λψ(y)

  • 这样我可以将核函数像是实对称矩阵那样进行特征分解,所以得到下面公式:
    • 假设无穷多个特征值为:{λi}i=1\{λ_i \}_{i=1}^∞,对应的无穷多个正交的特征函数为:{ψ(x)i}i=1\{ψ(x)_i \}_{i=1}^∞所以有:K(x,y)=i=1λiψ(x)iψ(y)iT=i=1λiψ(x)iψ(y)iK(x,y)=∑_{i=1}^∞λ_i ψ(x)_i ψ(y)_i^T=∑_{i=1}^∞λ_i ψ(x)_i ψ(y)_i
    • {ψ(x)i}i=1\{ψ(x)_i \}_{i=1}^∞也是当前函数空间的一组标准正交组基。即满足: ψ(x)i,ψ(x)j=ψ(x)iψ(x)jdx=0〈ψ(x)_i,ψ(x)_j 〉=∫ψ(x)_i ψ(x)_j dx=0ψ(x)i,ψ(x)i=ψ(x)iψ(x)idx=1 〈ψ(x)_i,ψ(x)_i 〉=∫ψ(x)_i ψ(x)_i dx=1

四、再生核希尔伯特空间

  • {ψ(x)i}i=1\{ψ(x)_i \}_{i=1}^∞也是原函数空间(希尔伯特空间)的一组标准正交组基,现在我们将{λiψ(x)i}i=1\{\sqrt{λ_i }ψ(x)_i \}_{i=1}^∞做为一组正交基,形成新的函数空间叫做RKHS空间(再生核希尔伯特空间),记为HH空间
  • HH空间中的任一向量或函数可以表示为基的线性组合: f=(i=1)fiλiψ(x)i,f=∑_(i=1)^∞ f_i \sqrt{λ_i }ψ(x)_i,则函数可以用坐标(系数)表示:f=[f1,f2,]T,g=[g1,g2,]Tf=[f_1,f_2,…]^T, g=[g_1,g_2,…]^T,这样内积可以表示为:f,g=i=1fiλiψ(x)ii=1giλiψ(x)idx=i=1figiψ(x)iψ(x)idx⟨f,g⟩=∫∑_{i=1}^∞f_i \sqrt{λ_i } ψ(x)_i ∑_{i=1}^∞g_i \sqrt{λ_i }ψ(x)_i dx=∫∑_{i=1}^∞f_i g_i ψ(x)_i ψ(x)_i dx=i=1figiψ(x)iψ(x)idx=i=1figi=∑_{i=1}^∞f_i g_i ∫ψ(x)_i ψ(x)_i dx=∑_{i=1}^∞f_i g_i
  • HH空间的这组基下,这样我们可以改写核函数:K(x,y)=i=1λiψ(x)iλiψ(y)iK(x,y)=∑_{i=1}^∞\sqrt{λ_i } ψ(x)_i \sqrt{λ_i }ψ(y)_i我们对核函数中的yy每取一个特定值,都会得到一个xx的函数,那么我们可以将核函数看作是向量yyxx函数的一个函数,记作:G(y)=K(x,y)=i=1λiψ(x)iλiψ(y)iG(y)=K(x,y)=∑_{i=1}^∞\sqrt{λ_i } ψ(x)_i \sqrt{λ_i } ψ(y)_i函数G(y)G(y)的定义域是欧几里得空间,值域为函数空间。
  • 那么G(y)G(y)HH空间的坐标表示:G(y)=[λiψ(y)1,λiψ(y)2,]G(y)=[\sqrt{λ_i }ψ(y)_1,\sqrt{λ_i } ψ(y)_2,……]
  • yy每取一个具体值,都会是一个函数,并且可以得到这个函数在HH空间的坐标表示,例如y=y0y=y_0:G(y0)=[λiψ(y0)1,λiψ(y0)2,]G(y_0 )=[\sqrt{λ_i } ψ(y_0 )_1,\sqrt{λ_i }ψ(y_0 )_2,……]表示的函数为:G(y0)=K(x,y0)=i=1λiψ(x)iλiψ(y0)iG(y_0 )=K(x,y_0 )=∑_{i=1}^∞\sqrt{λ_i } ψ(x)_i \sqrt{λ_i } ψ(y_0 )_i
  • 那么两个函数:G(y0),G(y1)G(y_0 ),G(y_1)的内积为:G(y0),G(y1)=i=1λiψ(y0)iλiψ(y1)i=K(y0,y1)〈G(y_0 ),G(y_1 )〉=∑_{i=1}^∞\sqrt{λ_i } ψ(y_0 )_i \sqrt{λ_i }ψ(y_1 )_i=K(y_0,y_1 )
  • 这就是核的可再生性,即用核函数再生两个核函数的內积。函数空间HH被称为再生核希尔伯特空间(RKHS)。
  • 这个性质是非常好的,因为原本函数之间计算内积需要算无穷维的积分,但是现在只需要算核函数就好了。

五、核技术:

  • 上面我们说过如果我们对yy进行特定值,核函数K(x,y)K(x,y)就变成了一个x的函数,这样我们可以对yy进行任意取值得到一个xx的函数:G(y)=K(x,y)=i=1λiψ(x)iλiψ(y)iG(y)=K(x,y)=∑_{i=1}^∞\sqrt{λ_i }ψ(x)_i \sqrt{λ_i } ψ(y)_i

  • G(y)G(y)的定义域是欧几里得空间,值域是一个函数空间。就是一个欧几里得空间到函数空间(希尔伯特空间)的映射(函数).并且G(y)G(y)值域空间中的任意两个函数(G(y0),G(y1))(G(y_0 ),G(y_1))的内积都可以通过核函数直接算出(K(y0,y1))(K(y_0,y_1 ))需要进行无穷积分。

  • 这样,我们无需知道这个映射G(y)G(y)及其值域空间HH的具体形式,只需要一个对称半正定的核函数,就必然存在映射G(y)G(y)和其值域空间HH,使得:G(y0),G(y1)=i=1λiψ(y0)iλiψ(y1)i=K(y0,y1)〈G(y_0 ),G(y_1 )〉=∑_{i=1}^∞\sqrt{λ_i } ψ(y_0 )_i \sqrt{λ_i }ψ(y_1 )_i=K(y_0,y_1 )这就是Kernel trick。

  • SVM的核技术:

    • 我们的原始数据xx是欧几里得空间的一个向量,当我们的原始数据线性不可分时,我们就希望有一个映射G(x)G(x),它能把原始数据xx映射到一个无穷维的函数空间(希尔伯特空间)中去,使的数据在这个无穷维的空间中变得线性可分。
    • 并且在svm的优化中,我们只需要两个样本的内积x1,x2〈x_1,x_2 〉,那么经过映射G(x)G(x)后我们也只需要任意两个样本映射后的内积G(x0),G(x1)〈G(x_0 ),G(x_1 )〉,并不需要这个映射G(y)G(y)及其值域空间的具体形式。这样问题就变成了我们只要一个对称半正定的核函数就ok了。

参考链接:

相关文章: