Kernels

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

一、核函数的封闭性

Hadamard product:

$$\mathbf{A}\circ\mathbf{B}=\left[\begin{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}\right]$$ Kronecked product:

$$\mathbf{A}\otimes\mathbf{B}=\left[\begin{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}\right]$$

若$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^\prime\mathbf{A}y,\quad \text{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\rangle+C)^d=\sum_{s=0}^d\binom{d}{s}C^s\langle x,y\rangle^{d-s},(C\geq 0)$

这个函数可以看成单项为$\langle x,y\rangle^{d-s}$的一个多项式,系数为$\binom{d}{s}C^s$,所以它是个核函数。当$C=0$时,$(\langle x,y\rangle)^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_m\geq 0$。

令$\Phi(x)\triangleq\left[\begin{array}&\vdots\\x_1^{i_1}x_2^{i_2}\cdots x_m^{i_m}\\\vdots\end{array}\right]$,则$(\langle x,y\rangle)^r=\langle\Phi(x),\Phi(y)\rangle=K(x,y)$,可以证明上式的映射$\Phi(x)$为$\binom{M+r-1}{r}$维。

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

命题等价于从$1,2,\cdots,m$中选出$r$个数的重复排列。设选出的数为$a_1,a_2,\cdots,a_r$,其中令$a_1\leq a_2\leq\cdots\leq 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$取值于$1\sim (n+m-1)$,故$b_i$的组合数为$\binom{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\to\infty}f_n=f$,当且仅当$\lim_{n\to\infty}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)_i\Phi_2(x)_j$,即$\Phi(x)=\left[\begin{array}&\Phi_1(x)_1\Phi_2(x)_1\\\vdots\\\Phi_1(x)_1\Phi_2(x)_n\\\vdots\\\Phi_1(x)_n\Phi_2(x)_1\\\vdots\\\Phi_1(x)_n\Phi_2(x)_n\end{array}\right]$。
  4. $K(x,y)=f(x)f(y),\forall f$对应的映射的$\Phi(x)=f(x)$。
  5. $K(x,y)=x^\prime\mathbf{A}y$,其中$\mathbf{A}$为半正定,对应的映射为$\Phi(x)=\mathbf{L}^\prime x$,其中$\mathbf{A}=\mathbf{L}\mathbf{L}^\prime$(Cholesky分解)

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

1)$\|\Phi(x)\|=\sqrt{\langle\Phi(x),\Phi(x)\rangle}=\sqrt{K(x,x)}$。

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

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

3)线性组合的范数

\begin{align*}\|\sum_{i}\alpha_i\Phi(x_i)\|^2&=\langle \sum_i\alpha_i\Phi(x_i),\sum_j\alpha_j\Phi(x_j)\rangle\\&=\sum_{i,j}\alpha_i\alpha_j\langle\Phi(x_i),\Phi(x_j)\rangle\\&=\sum_{i,j}\alpha_i\alpha_jK(x_i,x_j)\\&=\alpha^\prime K\alpha\end{align*}

五、最后

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

Jordan Lecture Note-5: Kernels的更多相关文章

  1. Jordan Lecture Note-1: Introduction

    Jordan Lecture Note-1: Introduction 第一部分要整理的是Jordan的讲义,这份讲义是我刚进实验室时我们老师给我的第一个任务,要求我把讲义上的知识扩充出去,然后每周都 ...

  2. Jordan Lecture Note-3: 梯度投影法

    Jordan Lecture Note-3:梯度投影法 在这一节,我们介绍如何用梯度投影法来解如下的优化问题: \begin{align} \mathop{\min}&\quad f(x)\n ...

  3. Colorful Lecture Note(手工栈)

    题目1 : Colorful Lecture Note 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi is writing an algorithm ...

  4. HihoCoder - 1103 Colorful Lecture Note

    Little Hi is writing an algorithm lecture note for Little Ho. To make the note more comprehensible, ...

  5. Colorful Lecture Note

    Colorful Lecture Note 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi is writing an algorithm lectu ...

  6. hihocoder #1103 : Colorful Lecture Note微软苏州校招笔试 1月10日(字符串处理+栈)

    #1103 : Colorful Lecture Note 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi is writing an algorit ...

  7. Jordan Lecture Note-2: Maximal Margin Classifier

    Maximal Margin Classifier Logistic Regression 与 SVM 思路的不同点:logistic regression强调所有点尽可能远离中间的那条分割线,而SV ...

  8. Jordan Lecture Note-12: Kernel典型相关分析(Kernel Canonical Correlation Analysis, KCCA).

    Kernel典型相关分析 (一)KCCA 同样,我们可以引入Kernel函数,通过非线性的坐标变换达到之前CCA所寻求的目标.首先,假设映射$\Phi_X: x\rightarrow \Phi_X(x ...

  9. Jordan Lecture Note-11: 典型相关分析(Canonical Correlation Analysis, CCA).

    典型相关分析 (一)引入 典型相关分析(Canonical Correlation Analysis)是研究两组变量之间相关关系的一种多元统计方法.他能够揭示出两组变量之间的内在联系. 我们知道,在一 ...

随机推荐

  1. 【spring-boot】快速构建spring-boot微框架

    spring-boot是一个快速构建环境的一套框架,其设计理念是尽可能的减少xml的配置,用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义 ...

  2. jQuery Mobile 入门教程

    你每天都会对着它讲话,和它玩游戏,用它看新闻——没错,它就是你裤兜里的智能手机.android,黑莓还是iphone?为了让你清楚意识到究竟哪些才算是智能手机,我在下面总结了一个智能手机系统/设备的列 ...

  3. Git管理命令

     1.创建分支 git branch <分支名> 2.切换分支 git checkout <分支名> 创建并切换到该分支:git checkout -b <分支名> ...

  4. openCV学习笔记

    学习新玩意儿的事情,必须要懂人家的规矩,openCV就有自己的规范和数据结构的,要用人家的那些库函数,必须要把传入参数的基础结构搞搞明白,比如RGBA,人家opencv已经说了,用CvScalar,就 ...

  5. Makefile编程

    [个人体会]0.1 项目文件要合理分隔,功能模块分开放,分别设置Makefile自动编译,                        0.2 源码和头文件分开放,一个或多个头文件对应一个源码文件. ...

  6. MultiByteToWideChar和WideCharToMultiByte用法详解

    今天写ini文件的时候发现的问题: TCHAR temp[]; //strcpy_s(temp, request.newVersion); MultiByteToWideChar(CP_ACP, , ...

  7. 【转载】IP首部、TCP首部、UDP首部

    [转载自]http://blog.csdn.net/hjffly/article/details/7959889 IP首部 版本:L3协议版本号,IPv4或IPv6 首部长度:单位为4字节 协议:L4 ...

  8. HDU-4628 Pieces 搜索 | DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4628 数据不大,枚举本质.首先对枚举出回文串,然后用DP或者搜索,这里因为层数不多,用bfs比较好,或 ...

  9. 解决各大浏览器兼容问题hack

    解决各大浏览器兼容问题hack,IE6/ IE7/ IE8/ IE9/ Firefox/ Opera/ Webkit/ Chrome/ Safari. 浏览器兼容是网站前端页面制作最基本的问题,通常I ...

  10. delphi 完全控制Excel 文件

    ( 一 ) 使用动态创建的方法 uses ComObj; 首先创建 Excel 对象Var   ExcelApp : Variant ;   ExcelApp := CreateOleObject ( ...