DA-1-再生核Hilbert空间
Reproducing Kernel Hilbert Space,再生核希尔伯特空间
- Eigen Decomposition
- Kernel Function
- Reproducing Kernel Hilbert Space
- Support Vector Machine
- 领域自适应入门参考博文
原文链接:http://songcy.net/posts/story-of-basis-and-kernel-part-2/
本文主要讨论和函数核再生核希尔伯特空间(reproducing kernel Hilbert space, RKHS)。
核方法的动机在于映射一个Rn\mathcal{R}^{n}Rn空间中的向量为特征空间中的另一个向量。
如下图所示,红色和蓝色的数据点在Rn\mathcal{R}^{n}Rn空间中是不易分的。但如果将这些数据点映射到高维特征空间,我们也许可以使其容易分开。本文不提供严格的理论定义,而是对基本思想的直观描述。
Eigen Decomposition
对于实对称矩阵A\mathbf{A}A, 存在实数λ\lambdaλ和向量x\mathbf{x}x使得
Ax=λ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)dxdy≥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)dxdy≥0
则对于任意的函数fff,K(x,y)K(\mathbf{x,y})K(x,y)是对称正定的,在这种情况下K(xK(\mathbf{x}K(x,y)\mathbf{y})y)是一个核函数.
类似于矩阵的特征根和特征向量,存在特征根λ\lambdaλ和特征函数 ψ(x)\psi(\mathbf{x})ψ(x) 使得
∫K(x,y)ψ(x)dx=λψ(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)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\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)dx=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>=0,i=j。因此, {ψi}i=1∞\{\psi_{i}\}^{\infty}_{i=1}{ψi}i=1∞构建了一组函数空间的正交基。
常见核
- Polunomial kernel K(x,y)=(γxTy+C)dK(\mathbf{x,y})=(\gamma x^{T}y+C)^dK(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(−γ∣∣x−y∣∣2)
- Sigmoid kernel K(x,y)=tanh(γxTy+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∞fiλ1ψif=\sum\limits_{i=1}^{\infty}f_{i}\sqrt{\lambda_{1}}\psi_{i}f=i=1∑∞fiλ1ψi
我们将 H\mathcal{H}H 中的一个无限向量记为 fff
f=(f1,f2,⋯)HTf=(f_{1},f_{2},\cdots)_{\mathcal{H}}^{T}f=(f1,f2,⋯)HT
对于其他的函数g=(g1,g2,⋯)HTg=(g_{1},g_{2},\cdots)_{\mathcal{H}}^{T}g=(g1,g2,⋯)HT,有
<f,g>H=∑i=1∞figi<f,g>_{\mathcal{H}}=\sum_{i=1}^{\infty}f_{i}g_{i}<f,g>H=i=1∑∞figi
对于核函数KKK,在此使用K(x,y)K(\mathbf{x}, \mathbf{y})K(x,y)来表示在参数点x,y\mathbf{x,y}x,y处的KKK值的评估,使用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)ψiK(\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),⋯)HTK(\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)
因此,我们不需要知道什么是映射,特征空间在哪里,或者特征空间的基础是什么。对于对称正定函数KKK,必须至少存在一个映射Φ\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最广为人知的应用之一。假设我们有数据对(xi,yi)i=1n{(\mathbf{x}_i,y_i)}_{i=1}^n(xi,yi)i=1n,其中yiy_iyi为1或-1,表示点xi\mathbf{x}_{i}xi的类。支持向量机假设一个超平面来最好地分离这两个类。
minβ,β012∣∣β∣∣2+C∑i=1nξi\min_{\beta,\beta_{0}}\frac{1}{2}||\beta||^{2}+C\sum_{i=1}^{n}\xi_{i}β,β0min21∣∣β∣∣2+Ci=1∑nξi
subjecttoξi≥0,yi(xiTβ+β0)≥1−ξi,∀isubject \ to \ \xi_{i}\geq 0,y_{i}(\mathbf{x}_{i}^{T}\beta+\beta_{0})\geq1-\xi_{i},\forall isubject to ξi≥0,yi(xiTβ+β0)≥1−ξi,∀i
有时这两个类在Rn\mathcal{R}^nRn空间中很难分离,因此可以将xi\mathbf{x}_ixi映射到高维特征空间中,在高维特征空间中这两个类很容易分离。原来的问题可以重新表述为
minβ,β012∣∣β∣∣2+C∑i=1nξi\min_{\beta,\beta_{0}}\frac{1}{2}||\beta||^{2}+C\sum_{i=1}^{n}\xi_{i}β,β0min21∣∣β∣∣2+Ci=1∑nξi
subjecttoξi≥0,yi(Φ(xi)Tβ+β0)≥1−ξi,∀isubject \ to \ \xi_{i}\geq 0,y_{i}(\Phi(\mathbf{x}_{i})^{T}\beta+\beta_{0})\geq1-\xi_{i},\forall isubject to ξi≥0,yi(Φ(xi)Tβ+β0)≥1−ξi,∀i
增广拉格朗日函数为
Lp=12∣∣β∣∣2+C∑i=1nξi−∑i=1nαi[yi(Φ(xi)Tβ+β0)−(1−ξi)]−∑i=1nμiξiL_{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=1∑nξi−i=1∑nαi[yi(Φ(xi)Tβ+β0)−(1−ξi)]−i=1∑nμiξi
由于∂Lp∂β=0\frac{\partial L_{p}}{\partial \beta} =0∂β∂Lp=0
我们得到β=∑i=1nαiyiΦ(xi)\beta =\sum_{i=1}^{n} \alpha_{i}y_{i}\Phi(\mathbf{x}_{i})β=i=1∑nαiyiΦ(xi)
也就是说,β\boldsymbol{\beta}β可以写成xi\mathbf{x}_ixis !我们可以将β\boldsymbol{\beta}β替换为新的优化问题。目标函数变为
12∥∑i=1nαiyiΦ(xi)∥2+C∑i=1nξi=12<∑i=1nαiyiΦ(xi),∑j=1nαjyjΦ(xj)>+C∑i=1nξi=12∑i=1n∑j=1nαiαjyiyj<Φ(xi),Φ(xj)>+C∑i=1nξi=12∑i=1n∑j=1nαiαjyiyjK(xi,xj)+C∑i=1nξ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}===21∥∥∥∥∥i=1∑nαiyiΦ(xi)∥∥∥∥∥2+Ci=1∑nξi21<i=1∑nαiyiΦ(xi),j=1∑nαjyjΦ(xj)>+Ci=1∑nξi21i=1∑nj=1∑nαiαjyiyj<Φ(xi),Φ(xj)>+Ci=1∑nξi21i=1∑nj=1∑nαiαjyiyjK(xi,xj)+Ci=1∑nξi
约束改变为:
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\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=1∑nαjyjΦ(xj))+β0]yi[(j=1∑nαjyj<Φ(xi),Φ(xj)>)+β0]yi[(j=1∑nαjyjK(xi,xj))+β0]≥1−ξi,∀i
我们需要做的是确定一个核函数并解出α,β0,ξi{\ α},β_0, ξ_i α,β0,ξi。我们不需要实际构造特征空间。对于具有未知类的新数据x\mathbf{x}x,我们可以使用一下算式预测它的类
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)\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)
核方法增强了支持向量机的鉴别能力。
领域自适应入门参考博文
- MMD, https://www.cnblogs.com/zhangcn/p/13710192.html
- 核均值嵌入, https://www.cnblogs.com/zhangcn/p/13710192.html
- 再生Hilbert空间,https://www.cnblogs.com/zhangcn/p/13289236.html
- Domain Adaptation1,https://www.cnblogs.com/zhangcn/p/14239570.html
DA-1-再生核Hilbert空间相关推荐
- 核函数,再生核Hilbert空间,表示定理
在许许多多的分类模型中,线性模型f(x)=w⊤xf(x)=w⊤x是最为简单高效的一种,它最后可以得到一个线性分界面,如下图左图所示,但是在数据集 S={x1,-,xm}, xi∈XS={x1,-, ...
- 再生核Hilbert空间
支持向量机:Kernel II by pluskid, on 2011-01-25, in Machine Learning 28 comments 本文是"支持向量机系列&quo ...
- 机器学习随笔三—再生核Hilbert空间
我们做的非线性映射 ,它将原始特征空间中的数据点映射到另一个高维空间中,之前我们没有提过,其实这个高维空间在这里有一个华丽的名字--"再生核希尔伯特空间 (Reproducing Kerne ...
- 再生核希尔伯特空间(Reproducing Kernel Hilbert Space)
再生核希尔伯特空间(Reproducing Kernel Hilbert Space) 一.Basic Definitions 1.The Basic Idea 2.The Reproducing K ...
- MachineLearning(4)-核函数与再生核希尔伯特空间
核函数与再生核希尔伯特空间 1.支持向量积-核函数 2.一个函数为核函数的条件 3.核函数与希尔伯特空间 3.1希尔伯特空间-Hilbert空间 1.支持向量积-核函数 核(kernel)的概念由Ai ...
- 再生核希尔伯特空间(RKHS)
今天看一篇论文,看到了一个名词,RKHS(Reproducing Kernel Hilbert space)即再生核希尔伯特空间,不太明所以,所以百度查一查,这里简单记录一下. 线性空间 通俗来讲,线 ...
- 函数空间一览:从线性空间到再生核希尔伯特空间
文章目录 0. 基础概念 0.1 代数系统 0.2 数域 0.3 完备的空间 1. 线性空间/向量空间 2. 度量空间 3. 赋范向量空间 4. 内积空间 5. 巴拿赫空间 6. 希尔伯特空间 7. ...
- 泛函p121可分Hilbert空间都同构于l^2
如何理解最后面两句话, L^2与l^2同构 L^2里面 有理系数多项式 是可数稠密子集 所以L^2可分 可分Hilbert空间都同构于 l^2 傅里叶级数是一个稠密的子集 转载于:https://ww ...
- 再生希尔伯特空间_向量、函数向量、再生核希尔伯特空间、核技巧
参考引用:A Story of Basis and Kernel 来源:http://songcy.net/ 向量与内积 在一个 空间中,我们可以通过 个独立向量的线性组合来表示这个空间里的任意向量. ...
最新文章
- dup and dup2的剖析
- python 自动化办公 uibot_使用 Python 扩展丰富 UiBot 的功能及在 UiBot 中引用 Python 模块...
- 找斐波那契数列中的第N个数——递归与函数自调用算法
- comment desc显示表结构_营销模块数据库表解析(二)
- puppet应用原理及安装部署
- π!到底蕴藏了多少不为人知的秘密?|今日最佳
- github 公钥 私钥_搭建自己的技术博客系列 2:把 Hexo 博客部署到 GitHub 上
- java生成自定义标志、大小的二维码
- scala 基础类库 —— 文件操作
- Linux系统启动简单流程:
- MOT多目标跟踪之JDE
- 什么是弱密码,如何避免
- QQ空间说说刷赞网页版开放公测
- 我们说运营,到底是在说运营什么?
- ubuntu下安装 julia-1.4.2
- CSS3 画的哆啦A梦
- 干货 | 深度学习之卷积神经网络(CNN)的模型结构
- WESAD:情绪分类多模态传感器数据集
- 简历被肆意贩卖,个人信息安全何在?
- 如何批量替换文件内容(文本格式)