DA-1-再生核Hilbert空间

原文链接:http://songcy.net/posts/story-of-basis-and-kernel-part-2/

本文主要讨论和函数核再生核希尔伯特空间(reproducing kernel Hilbert space, RKHS)。
核方法的动机在于映射一个 R n \mathcal{R}^{n} Rn空间中的向量为特征空间中的另一个向量。
如下图所示,红色和蓝色的数据点在 R n \mathcal{R}^{n} Rn空间中是不易分的。但如果将这些数据点映射到高维特征空间,我们也许可以使其容易分开。本文不提供严格的理论定义,而是对基本思想的直观描述。
在这里插入图片描述

Eigen Decomposition

对于实对称矩阵 A \mathbf{A} A, 存在实数 λ \lambda λ和向量 x \mathbf{x} x使得
A x = λ x (1) \mathbf{Ax}=\lambda \mathbf{x} \tag{1} Ax=λx(1)

Kernel Function

函数 f ( x ) f(\mathbf{x}) f(x) 可以看作是一个无限向量。对于一个有着两个独立变量的 K ( x , y ) K(\mathbf{x,y}) K(x,y),我们可以将它看作是一个无限的矩阵。对此有 K ( x , y ) = K ( y , x ) K(\mathbf{x,y})=K(\mathbf{y,x}) K(x,y)=K(y,x)并且
∬ f ( x ) K ( x , y ) f ( y ) d x d y ≥ 0 \iint f(\mathbf{x}) K(\mathbf{x,y}) f(\mathbf{y}) d\mathbf{x}d\mathbf{y}\geq 0 f(x)K(x,y)f(y)dxdy0
则对于任意的函数 f f f, K ( x , y ) K(\mathbf{x,y}) K(x,y)是对称正定的,在这种情况下 K ( x K(\mathbf{x} K(x y ) \mathbf{y}) y)是一个核函数.
类似于矩阵的特征根和特征向量,存在特征根 λ \lambda λ和特征函数 ψ ( x ) \psi(\mathbf{x}) ψ(x) 使得
∫ K ( x , y ) ψ ( x ) d x = λ ψ ( y ) \int K(\mathbf{x,y})\psi(\mathbf{x})d\mathbf{x}=\lambda\psi(\mathbf{y}) K(x,y)ψ(x)dx=λψ(y)

个人理解就是左边的式子对 x 做积分,就得到一个关于y的特征函数的特征根

那么对于不同的特征根 λ 1 , λ 2 \lambda_{1},\lambda_{2} λ1,λ2, 且分别对应于不同的特征函数 ψ 1 ( x ) \psi_{1}(\mathbf{x}) ψ1(x), ψ 2 ( x ) \psi_{2}(\mathbf{x}) ψ2(x), 我们可以得到

∫ λ 1 ψ 1 ( x ) ψ 2 ( x ) d x = ∬ K ( y , x ) ψ 1 ( y ) d y ψ 2 ( x ) d x = ∬ K ( x , y ) ψ 2 ( x ) d x ψ 1 ( y ) d y = ∫ λ 2 ψ 2 ( y ) ψ 1 ( y ) d y = ∫ λ 2 ψ 2 ( x ) ψ 1 ( x ) d x \begin{aligned}\int \lambda_{1} \psi_{1}(\mathbf{x}) \psi_{2}(\mathbf{x}) d \mathbf{x} &=\iint K(\mathbf{y}, \mathbf{x}) \psi_{1}(\mathbf{y}) d \mathbf{y} \psi_{2}(\mathbf{x}) d \mathbf{x} \\&=\iint K(\mathbf{x}, \mathbf{y}) \psi_{2}(\mathbf{x}) d \mathbf{x} \psi_{1}(\mathbf{y}) d \mathbf{y} \\&=\int \lambda_{2} \psi_{2}(\mathbf{y}) \psi_{1}(\mathbf{y}) d \mathbf{y} \\&=\int \lambda_{2} \psi_{2}(\mathbf{x}) \psi_{1}(\mathbf{x}) d \mathbf{x}\end{aligned} λ1ψ1(x)ψ2(x)dx=K(y,x)ψ1(y)dyψ2(x)dx=K(x,y)ψ2(x)dxψ1(y)dy=λ2ψ2(y)ψ1(y)dy=λ2ψ2(x)ψ1(x)dx

因此 < ψ 1 , ψ 2 > = ∫ ψ 1 ( x ) ψ 2 ( x ) d x = 0 <\psi_{1},\psi_{2}>=\int \psi_{1}(\mathbf{x})\psi_{2}(\mathbf{x})d\mathbf{x}=0 <ψ1,ψ2>=ψ1(x)ψ2(x)dx=0
再一次地,特征函数为正交的。此处 ψ \psi ψ表示函数本身(一个无限的向量)。
对于一个核函数,无限的特征根 { λ i } i = 1 ∞ \{\lambda_{i}\}^{\infty}_{i=1} {λi}i=1 与无限的特征函数 { ψ i } i = 1 ∞ \{\psi_{i}\}^{\infty}_{i=1} {ψi}i=1 可以找到。同样地,对于矩阵来说
K ( x , y ) = ∑ i = 0 ∞ λ i ψ i ( x ) ψ i ( y ) K(\mathbf{x}, \mathbf{y})=\sum_{i=0}^{\infty} \lambda_{i} \psi_{i}(\mathbf{x}) \psi_{i}(\mathbf{y}) K(x,y)=i=0λiψi(x)ψi(y)

即 Mercer’s theorem,此处 < ψ 1 , ψ 2 > = 0 , i ≠ j <\psi_{1},\psi_{2}>=0,i\neq j <ψ1,ψ2>=0i=j。因此, { ψ i } i = 1 ∞ \{\psi_{i}\}^{\infty}_{i=1} {ψi}i=1构建了一组函数空间的正交基。

常见核

  • Polunomial kernel K ( x , y ) = ( γ x T y + C ) d K(\mathbf{x,y})=(\gamma x^{T}y+C)^d K(x,y)=(γxTy+C)d
  • Gaussian radial basis kernel K ( x , y ) = exp ⁡ ( − γ ∣ ∣ x − y ∣ ∣ 2 ) K(\mathbf{x,y})=\exp (-\gamma ||\mathbf{x-y}||^{2}) K(x,y)=exp(γxy2)
  • Sigmoid kernel K ( x , y ) = tanh ⁡ ( γ x T y + C ) K(\mathbf{x,y})=\tanh (\gamma \mathbf{x^{T}y}+C) K(x,y)=tanh(γxTy+C)

Reproducing Kernel Hilbert Space

{ λ i ψ i } i = 1 ∞ \{\sqrt{\lambda_{i}} \psi_{i}\}_{i=1}^{\infty} {λi ψi}i=1为一组正交基并构造一个希尔伯特空间 H \mathcal{H} H(Hilbert space)。在空间中的任何函数和向量都可以用基线性表示出来。假设

f = ∑ i = 1 ∞ f i λ 1 ψ i f=\sum\limits_{i=1}^{\infty}f_{i}\sqrt{\lambda_{1}}\psi_{i} f=i=1fiλ1 ψi

我们将 H \mathcal{H} H 中的一个无限向量记为 f f f
f = ( f 1 , f 2 , ⋯   ) H T f=(f_{1},f_{2},\cdots)_{\mathcal{H}}^{T} f=(f1,f2,)HT
对于其他的函数 g = ( g 1 , g 2 , ⋯   ) H T g=(g_{1},g_{2},\cdots)_{\mathcal{H}}^{T} g=(g1,g2,)HT,有
< f , g > H = ∑ i = 1 ∞ f i g i <f,g>_{\mathcal{H}}=\sum_{i=1}^{\infty}f_{i}g_{i} <f,g>H=i=1figi

对于核函数 K K K,在此使用 K ( x , y ) K(\mathbf{x}, \mathbf{y}) K(x,y)来表示在参数点 x , y \mathbf{x,y} x,y处的 K K K值的评估,使用 K ( ⋅ , ⋅ ) K(\cdot ,\cdot ) K(,)来表示函数本身(即无限矩阵),使用 K ( x , ⋅ ) K(\mathbf{x},\cdot ) K(x,)来表示矩阵的第 x \mathbf{x} x行。例如,我们将核函数的一个参数固定为 x \mathbf{x} x,则可以将其看作为一个参数的函数或无限的向量,则有
K ( x , ⋅ ) = ∑ i = 0 ∞ λ i ψ i ( x ) ψ i K(\mathbf{x},\cdot)=\sum_{i=0}^{\infty}\lambda_{i}\psi_{i}(\mathbf{x})\psi_{i} K(x,)=i=0λiψi(x)ψi
H \mathcal{H} H空间中,可记作
K ( x , ⋅ ) = ( λ 1 ψ 1 ( x ) , λ 2 ψ 2 ( x ) , ⋯   ) H T K(\mathbf{x},\cdot)=(\sqrt{\lambda_{1}}\psi_{1}(\mathbf{x}),\sqrt{\lambda_{2}}\psi_{2}(\mathbf{x}),\cdots)_{\mathcal{H}}^{T} K(x,)=(λ1 ψ1(x),λ2 ψ2(x),)HT
因此
< K ( x , ⋅ ) , K ( y , ⋅ ) > H = ∑ i = 0 ∞ λ i ψ i ( x ) ψ i ( y ) = K ( x , y ) <K(\mathbf{x,\cdot}),K(\mathbf{y},\cdot)>_{\mathcal{H}}=\sum_{i=0}^{\infty} \lambda_{i} \psi_{i}(\mathbf{x})\psi_{i}(\mathbf{y})=K(\mathbf{x,y}) <K(x,),K(y,)>H=i=0λiψi(x)ψi(y)=K(x,y)

这就是再生性,因此 H \mathcal{H} H被称为再生希尔伯特空间( reproducing kernel Hilbert space ,RKHS)

回到最初的问题:怎样将点映射到特征空间?如果定义一种映射:
Φ ( x ) = K ( x , ⋅ ) = ( λ 1 ψ 1 ( x ) , λ 2 ψ 2 ( x ) , ⋯   ) T \mathbf{\Phi}(\mathbf{x})=K(\mathbf{x}, \cdot)=\left(\sqrt{\lambda_{1}} \psi_{1}(\mathbf{x}), \sqrt{\lambda_{2}} \psi_{2}(\mathbf{x}), \cdots\right)^{T} Φ(x)=K(x,)=(λ1 ψ1(x),λ2 ψ2(x),)T

然后我们将点 x \mathbf{x} x映射到 H \mathcal{H} H,此处 Φ \Phi Φ不是一个函数,因为它指向特征空间 H \mathcal{H} H的向量或函数,于是有
< Φ ( x ) , Φ ( y ) > H = < K ( x , ⋅ ) , K ( y , ⋅ ) > H = K ( x , y ) <\mathbf{\Phi}(\mathbf{x}), \mathbf{\Phi}(\mathbf{y})>_{\mathcal{H}}=<K(\mathbf{x}, \cdot), K(\mathbf{y}, \cdot)>_{\mathcal{H}}=K(\mathbf{x}, \mathbf{y}) <Φ(x),Φ(y)>H=<K(x,),K(y,)>H=K(x,y)

因此,我们不需要知道什么是映射,特征空间在哪里,或者特征空间的基础是什么。对于对称正定函数 K K K,必须至少存在一个映射 Φ \bold{\Phi} Φ和一个特征空间 H \mathcal{H} H,使
< Φ ( x ) , Φ ( y ) > = K ( x , y ) <\mathbf{\Phi}(\mathbf{x}), \mathbf{\Phi}(\mathbf{y})>=K(\mathbf{x}, \mathbf{y}) <Φ(x),Φ(y)>=K(x,y)
这就是所谓的kernel trick。

Support Vector Machine

支持向量机(SVM)是RKHS最广为人知的应用之一。假设我们有数据对 ( x i , y i ) i = 1 n {(\mathbf{x}_i,y_i)}_{i=1}^n (xi,yi)i=1n,其中 y i y_i yi为1或-1,表示点 x i \mathbf{x}_{i} xi的类。支持向量机假设一个超平面来最好地分离这两个类。

min ⁡ β , β 0 1 2 ∣ ∣ β ∣ ∣ 2 + C ∑ i = 1 n ξ i \min_{\beta,\beta_{0}}\frac{1}{2}||\beta||^{2}+C\sum_{i=1}^{n}\xi_{i} β,β0min21β2+Ci=1nξi
s u b j e c t   t o   ξ i ≥ 0 , y i ( x i T β + β 0 ) ≥ 1 − ξ i , ∀ i subject \ to \ \xi_{i}\geq 0,y_{i}(\mathbf{x}_{i}^{T}\beta+\beta_{0})\geq1-\xi_{i},\forall i subject to ξi0,yi(xiTβ+β0)1ξi,i

有时这两个类在 R n \mathcal{R}^n Rn空间中很难分离,因此可以将 x i \mathbf{x}_i xi映射到高维特征空间中,在高维特征空间中这两个类很容易分离。原来的问题可以重新表述为

min ⁡ β , β 0 1 2 ∣ ∣ β ∣ ∣ 2 + C ∑ i = 1 n ξ i \min_{\beta,\beta_{0}}\frac{1}{2}||\beta||^{2}+C\sum_{i=1}^{n}\xi_{i} β,β0min21β2+Ci=1nξi
s u b j e c t   t o   ξ i ≥ 0 , y i ( Φ ( x i ) T β + β 0 ) ≥ 1 − ξ i , ∀ i subject \ to \ \xi_{i}\geq 0,y_{i}(\Phi(\mathbf{x}_{i})^{T}\beta+\beta_{0})\geq1-\xi_{i},\forall i subject to ξi0,yi(Φ(xi)Tβ+β0)1ξi,i

增广拉格朗日函数为
L p = 1 2 ∣ ∣ β ∣ ∣ 2 + C ∑ i = 1 n ξ i − ∑ i = 1 n α i [ y i ( Φ ( x i ) T β + β 0 ) − ( 1 − ξ i ) ] − ∑ i = 1 n μ i ξ i L_{p}=\frac{1}{2} ||\beta||^{2}+C\sum_{i=1}^{n}\xi_{i}-\sum_{i=1}^{n}\alpha_{i}[y_{i}(\Phi(\mathbf{x}_{i})^{T}\beta+\beta_{0})-(1-\xi_{i})]-\sum_{i=1}^{n}\mu_{i}\xi_{i} Lp=21β2+Ci=1nξii=1nαi[yi(Φ(xi)Tβ+β0)(1ξi)]i=1nμiξi

由于 ∂ L p ∂ β = 0 \frac{\partial L_{p}}{\partial \beta} =0 βLp=0
我们得到 β = ∑ i = 1 n α i y i Φ ( x i ) \beta =\sum_{i=1}^{n} \alpha_{i}y_{i}\Phi(\mathbf{x}_{i}) β=i=1nαiyiΦ(xi)

也就是说, β \boldsymbol{\beta} β可以写成 x i \mathbf{x}_i xis !我们可以将 β \boldsymbol{\beta} β替换为新的优化问题。目标函数变为
1 2 ∥ ∑ i = 1 n α i y i Φ ( x i ) ∥ 2 + C ∑ i = 1 n ξ i = 1 2 < ∑ i = 1 n α i y i Φ ( x i ) , ∑ j = 1 n α j y j Φ ( x j ) > + C ∑ i = 1 n ξ i = 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j < Φ ( x i ) , Φ ( x j ) > + C ∑ i = 1 n ξ i = 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j K ( x i , x j ) + C ∑ i = 1 n ξ i \begin{aligned}& \frac{1}{2}\left\|\sum_{i=1}^{n} \alpha_{i} y_{i} \boldsymbol{\Phi}\left(\mathbf{x}_{i}\right)\right\|^{2}+C \sum_{i=1}^{n} \xi_{i} \\=& \frac{1}{2}<\sum_{i=1}^{n} \alpha_{i} y_{i} \mathbf{\Phi}\left(\mathbf{x}_{i}\right), \sum_{j=1}^{n} \alpha_{j} y_{j} \mathbf{\Phi}\left(\mathbf{x}_{j}\right)>+C \sum_{i=1}^{n} \xi_{i} \\=& \frac{1}{2} \sum_{i=1}^{n} \sum_{j=1}^{n} \alpha_{i} \alpha_{j} y_{i} y_{j}<\mathbf{\Phi}\left(\mathbf{x}_{i}\right), \mathbf{\Phi}\left(\mathbf{x}_{j}\right)>+C \sum_{i=1}^{n} \xi_{i} \\=& \frac{1}{2} \sum_{i=1}^{n} \sum_{j=1}^{n} \alpha_{i} \alpha_{j} y_{i} y_{j} K\left(\mathbf{x}_{i}, \mathbf{x}_{j}\right)+C \sum_{i=1}^{n} \xi_{i}\end{aligned} ===21i=1nαiyiΦ(xi)2+Ci=1nξi21<i=1nαiyiΦ(xi),j=1nαjyjΦ(xj)>+Ci=1nξi21i=1nj=1nαiαjyiyj<Φ(xi),Φ(xj)>+Ci=1nξi21i=1nj=1nαiαjyiyjK(xi,xj)+Ci=1nξi
约束改变为:
y i [ Φ ( x i ) T ( ∑ j = 1 n α j y j Φ ( x j ) ) + β 0 ] = y i [ ( ∑ j = 1 n α j y j < Φ ( x i ) , Φ ( x j ) > ) + β 0 ] = y i [ ( ∑ j = 1 n α j y j K ( x i , x j ) ) + β 0 ] ≥ 1 − ξ i , ∀ i \begin{aligned} &y_{i}\left[\mathbf{\Phi}\left(\mathbf{x}_{i}\right)^{T}\left(\sum_{j=1}^{n} \alpha_{j} y_{j} \mathbf{\Phi}\left(\mathbf{x}_{j}\right)\right)+\beta_{0}\right] \\ =& y_{i}\left[\left(\sum_{j=1}^{n} \alpha_{j} y_{j}<\mathbf{\Phi}\left(\mathbf{x}_{i}\right), \mathbf{\Phi}\left(\mathbf{x}_{j}\right)>\right)+\beta_{0}\right] \\ =& y_{i}\left[\left(\sum_{j=1}^{n} \alpha_{j} y_{j} K\left(\mathbf{x}_{i}, \mathbf{x}_{j}\right)\right)+\beta_{0}\right] \geq 1-\xi_{i}, \forall i\end{aligned} ==yi[Φ(xi)T(j=1nαjyjΦ(xj))+β0]yi[(j=1nαjyj<Φ(xi),Φ(xj)>)+β0]yi[(j=1nαjyjK(xi,xj))+β0]1ξi,i

我们需要做的是确定一个核函数并解出   α , β 0 , ξ i {\ α},β_0, ξ_i  αβ0ξi。我们不需要实际构造特征空间。对于具有未知类的新数据 x \mathbf{x} x,我们可以使用一下算式预测它的类

y ^ = s i g n [ Φ ( x ) T β + β 0 ] = s i g n [ Φ ( x ) T ( ∑ i = 1 n α i y i Φ ( x i ) ) + β 0 ] = s i g n ( ∑ i = 1 n α i y i < Φ ( x ) , Φ ( x i ) > + β 0 ) = s i g n ( ∑ i = 1 n α i y i K ( x , x i ) + β 0 ) \begin{array}{ll} \hat{y} &=\mathbf{sign}[\Phi(\mathbf{x})^{T}\beta+\beta_{0}]\\ &=\mathbf{sign}[\Phi(\mathbf{x})^{T}(\sum_{i=1}^{n}\alpha_{i}y_{i}\Phi(\mathbf{x}_{i}))+\beta_{0}]\\ &=\mathbf{sign}(\sum_{i=1}^{n}\alpha_{i}y_{i}<\Phi(\mathbf{x}),\Phi(\mathbf{x}_{i})>+\beta_{0})\\ &=\mathbf{sign}(\sum_{i=1}^{n}\alpha_{i}y_{i}K(\mathbf{x},\mathbf{x}_{i})+\beta_{0}) \end{array} y^=sign[Φ(x)Tβ+β0]=sign[Φ(x)T(i=1nαiyiΦ(xi))+β0]=sign(i=1nαiyi<Φ(x),Φ(xi)>+β0)=sign(i=1nαiyiK(x,xi)+β0)

核方法增强了支持向量机的鉴别能力。

领域自适应入门参考博文

  1. MMD, https://www.cnblogs.com/zhangcn/p/13710192.html
  2. 核均值嵌入, https://www.cnblogs.com/zhangcn/p/13710192.html
  3. 再生Hilbert空间,https://www.cnblogs.com/zhangcn/p/13289236.html
  4. Domain Adaptation1,https://www.cnblogs.com/zhangcn/p/14239570.html
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值