zoukankan      html  css  js  c++  java
  • Jordan Lecture Note-5: Kernels

    Kernels

        我们首先来回顾kernel函数的定义:一个函数$K(x,y)$为kernel函数当且仅当对$forall g, int K(x,y)g(x)g(y)dxdygeq 0$成立。另外,根据Mercer's theorem,存在一个映射$Phi$使$K(x,y)=langle Phi(x),Phi(y) angle$,并且对任意有限的点,kernel矩阵是半正定的。

    一、核函数的封闭性

    Hadamard product:

    $$mathbf{A}circmathbf{B}=left[egin{array}&a_{11}b_{11}&a_{12}b_{12}&cdots&a_{1n}b_{1n}\vdots\a_{m1}b_{m1}&a_{m2}b_{m2}&cdots&a_{mn}b_{mn}end{array} ight]$$ Kronecked product:

    $$mathbf{A}otimesmathbf{B}=left[egin{array}&a_{11}mathbf{B}&a_{12}mathbf{B}&cdots&a_{1n}mathbf{B}\vdots\a_{m1}mathbf{B}&a_{m2}mathbf{B}&cdots&a_{mn}mathbf{B}end{array} ight]$$

    若$K_1(x,y),K_2(x,y)$为kernel函数,则以下式子仍为kernel函数。

    1. $K_1(x,y)+K_2(x,y)$
    2. $aK_1(x,y),quad (a>0)$
    3. $K_1(x,y)K_2(x,y)$
    4. $f(x)f(y)quad forall f$
    5. $x^primemathbf{A}y,quad ext{for positive semidefinite }mathbf{A}$ 
    6. $f(x)K_1(x,y)f(y), forall f$
    7. $q(K_1(x,y))$, 其中$q$是非负系数的多项式
    8. $exp{K_1(x,y)}$

    二、例子

     令$K(x,y)=(langle x,y angle+C)^d=sum_{s=0}^dinom{d}{s}C^slangle x,y angle^{d-s},(Cgeq 0)$

    这个函数可以看成单项为$langle x,y angle^{d-s}$的一个多项式,系数为$inom{d}{s}C^s$,所以它是个核函数。当$C=0$时,$(langle x,y angle)^r=(x_1y_1+x_2y_2+cdots+x_my_m)^r$。

    可以把上式看成一个单项为$x_1^{i_1}y_1^{i_1}x_2^{i_2}y_2^{i_2}cdots x_m^{i_m}y_m^{i_m}$所组成的多项式,其中$i_1+i_2+cdots+i_m=r,i_1,i_2,cdots,i_mgeq 0$。

    令$Phi(x) riangleqleft[egin{array}&vdots\x_1^{i_1}x_2^{i_2}cdots x_m^{i_m}\vdotsend{array} ight]$,则$(langle x,y angle)^r=langlePhi(x),Phi(y) angle=K(x,y)$,可以证明上式的映射$Phi(x)$为$inom{M+r-1}{r}$维。

     证明:(重复排列的证明)

    命题等价于从$1,2,cdots,m$中选出$r$个数的重复排列。设选出的数为$a_1,a_2,cdots,a_r$,其中令$a_1leq a_2leqcdotsleq a_r$。命题等价于求满足上述不等式$a_1,a_2,cdots,a_r$的组合个数。构造$b_1=a_1,b_2=a_2+1,cdots,b_i=a_i+(i-1),cdots,b_r=a_r+(r-1)$,其中$b_1<b_2<cdots<b_r$且$b_i$与$a_i$对应,所以命题又等价于求$b_i$的组合数,而$b_i$取值于$1sim (n+m-1)$,故$b_i$的组合数为$inom{n+m-1}{m}$。

     从上述可以看出映射后的空间维数是非常大的,而引入核函数使我们只需要利用核函数进行计算,从而可以省去中间的映射过程。

    高斯核函数:$K(x,y)=exp{-frac{1}{2}|x-y|^2}$,as the pointwise limit of polynomials。高斯核函数对应的映射为无限维。

    Pointwise convergence:假定${f_n}$是一个有相同定义域和上域的函数序列,${f_n}$逐点收敛于$f$,记$lim_{n oinfty}f_n=f$,当且仅当$lim_{n oinfty}f_n(x)=f(x)$对$forall x$属于定义域都成立。

     三、不同核函数所对应的映射

         对于每一个核函数$K_i$,必定对应着至少一个映射$Phi_i$。假设$K_1(x,y),K_2(x,y)$对应的映射为$Phi_1,Phi_2$,则:

    1. $K(x,y)=K_1(x,y)+K_2(x,y)$对应的映射为$Phi(x)=(Phi_1(x),Phi_2(x))^prime$。
    2. $K(x,y)=aK_1(x,y),a>0$对应的映射为$Phi(x)=sqrt{a}Phi_1(x)$。
    3. $K(x,y)=K_1(x,y)K_2(x,y)$对应的映射为$Phi(x)_{ij}=Phi_1(x)_iPhi_2(x)_j$,即$Phi(x)=left[egin{array}&Phi_1(x)_1Phi_2(x)_1\vdots\Phi_1(x)_1Phi_2(x)_n\vdots\Phi_1(x)_nPhi_2(x)_1\vdots\Phi_1(x)_nPhi_2(x)_nend{array} ight]$。
    4. $K(x,y)=f(x)f(y),forall f$对应的映射的$Phi(x)=f(x)$。
    5. $K(x,y)=x^primemathbf{A}y$,其中$mathbf{A}$为半正定,对应的映射为$Phi(x)=mathbf{L}^prime x$,其中$mathbf{A}=mathbf{L}mathbf{L}^prime$(Cholesky分解)

     四、在映射后的空间中操作

     1)$|Phi(x)|=sqrt{langlePhi(x),Phi(x) angle}=sqrt{K(x,x)}$。

     2) 单位化:$ ilde{Phi}(x)=frac{Phi(x)}{|Phi(x)|}$

    $$ ilde{K}(x,y)=langle ilde{Phi}(x), ilde{Phi}(y) angle=frac{langle Phi(x),Phi(y) angle}{|Phi(x)||Phi(y)|}=frac{K(x,y)}{sqrt{k(x,x)K(y,y)}}$$,为正则化的kernel(Normalized kernel)。

     3)线性组合的范数

    egin{align*}|sum_{i}alpha_iPhi(x_i)|^2&=langle sum_ialpha_iPhi(x_i),sum_jalpha_jPhi(x_j) angle\&=sum_{i,j}alpha_ialpha_jlanglePhi(x_i),Phi(x_j) angle\&=sum_{i,j}alpha_ialpha_jK(x_i,x_j)\&=alpha^prime Kalphaend{align*}

    五、最后

        关于kernel的内容有非常多的东西,这里我只是简单的介绍(其实我对kernel也就懂这么点皮毛)。有兴趣的可以看看这本专门介绍kernel的书籍<Kernel Methods for Pattern Analysis>,还有论文<An Introduction to Kernel-Based Learning Algorithms>。

  • 相关阅读:
    c#类,接口,结构,抽象类介绍 以及抽象和接口的比较
    存储过程基本语法
    有关uploadifive的使用经验
    堆栈的浅析
    JavaScript语言精粹4递归(汉诺塔游戏寻常解)及作用域
    JavaScript语言精粹3异常,扩充类型功能
    有关this,4种调用模式小例子
    JavaScript语言精粹2函数对象,函数字面量,调用
    JavaScript语言精粹1字符串,对象字面量
    JQUERY选择器第一天
  • 原文地址:https://www.cnblogs.com/boostable/p/lec_kernels.html
Copyright © 2011-2022 走看看