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. 【MySql存储过程】DATE_ADD用法

    定义和用法 DATE_ADD() 函数向日期添加指定的时间间隔. 语法 DATE_ADD(date,INTERVAL expr type) date 参数是合法的日期表达式.expr 参数是您希望添加 ...

  2. 关于Azure存储账户中存储虚拟机VHD文件的注意事项

     Joy Qiao from MSFT  Thu, Mar 12 2015 3:16 PM 我们在使用Azure时经常都会在Azure存储账户中放一些文件,包括Azure虚机的VHD文件也都是放在存储 ...

  3. 手把手教你WEB套打程序开发

    WEB套打可选方案不多,理想的更少,利用免费控件Lodop+JavaScript实现精确套打,算是较为经典的选择.这种方案其实比较简单,利用一个htm文件就可以实现模板设计过程,几乎是“空手套”式的开 ...

  4. 《深入Java虚拟机学习笔记》- 第6章 class文件

    一.class文件内容 Java class文件是对Java程序二进制文件格式的精确定义.每一个Java class文件都对一个Java类或者Java接口作出了全面描述.一个class文件只 能包含一 ...

  5. SoapUI入门

    注:需要使用发布的webService接口 我们一般用的是impl接口调用,不大用得上soapUI.看到一份简历上写了使用soapUI做webService测试,想了解一下什么是soapUI soap ...

  6. MSP430F5438点亮led

    今天只是想点亮一个led灯,因为没有视频,搞得很多的东西都是自己摸,下午本来讲和咨询店家,TMD说好给一点技术支持,结果一点也不给,我真想草泥马了,其实代码早就写出来了,只是哥哥不知道这款开发板还有接 ...

  7. PPTP VPN不能打开百度

    问题: 在阿里云上设置PPTP VPN,电脑能正常连接,能打开京东 淘宝 QQ等没有问题,但是不能打开百度  糯米等网站.开始怀疑是代理设置问题,后面确认未设置独立规则. 1.从应用层看排除特殊规则设 ...

  8. LeetCode题解——Longest Palindromic Substring

    题目: 给定一个字符串S,返回S中最长的回文子串.S最长为1000,且最长回文子串是唯一. 解法: ①遍历,对于每个字符,计算以它为中心的回文子串长度(长度为奇数),同时计算以它和右边相邻字符为中心的 ...

  9. mvc5入门,经典教程。。

    转子 http://www.yanjinnan.com/archives/category/tech/efmvc ASP.NET MVC 5  一 入门 发表于2013 年 8 月 12 日由颜晋南 ...

  10. 50道经典的JAVA编程题(目录)

    这份题从2013做到2014啊...哈哈,整理个目录吧.为了好查阅,也为了监督自己好好的去做完这50道题.当然,有些题实在做得没意思就跳过了,或者自己改题了.题目来源于:http://blog.sin ...