论文笔记之KSD

论文地址:点这里
这篇文章全名叫:A Kernelized Stein Discrepancy for Goodness-of-fit Tests
顾名思义,文章分为二部分:

  1. 用核函数定义的衡量2个分布差异的算法——KSD
  2. 提出一种测量拟合优度(Goodness-of-fit)的方式。

学习目的:由于强化学习的算法之一SQL需要用到Stein变分梯度下降算法,而本文是理解Stein变分梯度下降的关键。第一部分又可以细分为2部分:

  1. 提出Stein方法(Stein是个数学家斯特恩的名字)。
  2. 提出KSD(核差异)算法。

Abstract

本论文拟在导出一种结合Stein特征再生核希尔伯特空间RKHS的测量2个概率分布差异的统计学方法——KSD。此外还将导出一种可以在复杂高维分布下测试的拟合优度方式。

1. Introduction

机器学习和统计学上一个基础的任务就是——评估模型在观测值上的拟合优度。传统的方法基于似然值或者累计概率分布。但如今模型的复杂、高维使得计算似然或者CDF变得困难。虽然MCMC和VI可以用于求解似然值,但是它们会造成很大的估计误差,并且由于很难找到合适的统计值,故无法做假设检验。
因此作者推出了likelihood-free方法去估计模型,这种算法有3个特点:

  1. 基于一种用于2个分布之间新型相异性测量度 S \mathbb{S} S——KSD。
  2. S \mathbb{S} S可用于无偏差的U统计值来估计。这是其区别于MCMC和VI的一大特点——拥有无偏差统计量,从而可以去做假设检验: H 0 : p = q H_0:p=q H0:p=q,即从未知分布 p ( x ) p(x) p(x)采样的 x i ∼ p ( x ) {x_i}\sim p(x) xip(x)是否相当于从已知分布 q ( x ) q(x) q(x)中采样那样。这就是拟合优度的测量方式。
  3. U统计量仅仅取决于分布q的得分函数 s q = ∇ x log ⁡ q ( x ) s_q=\nabla_x\log q(x) sq=xlogq(x),这么做的好处在于可以无视分布q中的标准化常数 ∫ q ( x ) d x \int q(x)\mathrm{d}x q(x)dx。并且该算法可适用于复杂且高维的环境,这都是likelihood-based所欠缺的。

Main Idea

KSD基于Stein方法以及可再生核希尔伯特空间。
Stein Method:用于获取2个分布之间的距离上下界,它有以下结论:
对于2个光滑(就是可微)的概率密度p(x)、q(x),有:
S t e i n    i d e n t i t y : E p [ s q ( x ) f ( x ) + ∇ x f ( x ) ] = 0 (1) Stein\,\,identity: \mathbb{E}_p[s_q(x)f(x) + \nabla_xf(x)]=0 \tag{1} Steinidentity:Ep[sq(x)f(x)+xf(x)]=0(1),当且仅当 p = q p=q p=q
Note:

  1. 其中光滑函数 f ( x ) f(x) f(x)还需满足边界条件(详见下面证明)。
  2. s q ( x ) = ∇ x log ⁡ q ( x ) = ∇ x q ( x ) q ( x ) s_q(x)=\nabla_x\log q(x)=\frac{\nabla_xq(x)}{q(x)} sq(x)=xlogq(x)=q(x)xq(x),其中 s q ( x ) s_q(x) sq(x)就是Stein得分函数
  3. p = q p=q p=q时,式子(1)又称之为Stein特征

给出必要性证明如下:
在这里插入图片描述
定义2个分布 p 、 q p、q pq之间的Stein discrepancy
S = max ⁡ f ∈ F ( E p [ s q ( x ) f ( x ) + ∇ x f ( x ) ] ) 2 (2) \mathbb{S} = \max_{f\in\mathcal{F}}(\mathbb{E}_p[s_q(x)f(x)+\nabla_xf(x)])^2 \tag{2} S=fFmax(Ep[sq(x)f(x)+xf(x)])2(2)
其中:

  1. F \mathcal{F} F是函数 f f f的集合, f f f均能满足公式(1)这个结论,且当 p ≠ q p\neq q p=q的时候, S > 0 \mathbb{S}>0 S>0
  2. 但是这个目标函数优化起来计算复杂度很高,一般都不直接去优化,因此作者引出了Kernelized-SD。

KSD

显然,就是在之前的SD的基础上加了核函数 k ( x , x ′ ) \mathcal{k}(x,x') k(x,x)。一个核函数唯一确定了一个可再生核希尔伯特空间RKHS(有关函数空间知识的请点击这里)。RKHS是一个内积空间,因此我们的 f f f的定义域可以看出是一个球—— ∣ ∣ f ∣ ∣ H d ≤ r ||f||_{\mathcal{H}^d}\leq r fHdr
给出KSD的定义
S ( p , q ) = E x , x ′ ∼ p [ u q ( x , x ′ ) ] (3) \mathbb{S}(p,q) = \mathbb{E}_{x,x'\sim p}[u_q(x,x')]\tag{3} S(p,q)=Ex,xp[uq(x,x)](3)
Note:

  1. x , x ′ x,x' x,x独立同分布于 p p p
  2. u q u_q uq是一个函数(后续会介绍),这是一个仅取决于分布 q q q的Stein得分函数—— ∇ x log ⁡ q ( x ) \nabla_x\log q(x) xlogq(x)。q(x)是个已知分布,但仍是个需要去计算的量,如果其有一个标准化常数 Z = ∫ f ( x ) d x Z=\int f(x)\mathrm{d}x Z=f(x)dx,当维数很高的时候积分是很难求解的。Stein方法是如何处理这个常数的呢?设 q ( x ) = f ( x ) Z , Z = ∫ f ( x ) d x q(x) = \frac{f(x)}{Z},Z=\int f(x)\mathrm{d}x q(x)=Zf(x),Z=f(x)dx,所以: ∇ x log ⁡ q ( x ) = ∇ x [ log ⁡ f ( x ) − log ⁡ Z ] = ∇ x log ⁡ f ( x ) \nabla_x \log q(x) = \nabla_x[\log f(x)-\log Z] = \nabla_x\log f(x) xlogq(x)=x[logf(x)logZ]=xlogf(x)。如此一来, Z Z Z无论是多少都没有关系。
    因此我们得出了Stein方法的又一个重要结论:Stein方法可以有效跳过求解归一化参数的问题

KSD是一个积分,实际上可以通过统计量做无偏估计来实现,常见统计量如样本均值、样本方差、V统计量、U统计量。类似于我们之前用样本均值去估计期望,一样的道理。作者采用的就是U统计量,其中, { x i } \{x_i\} {xi}采样于未知分布 p ( x ) p(x) p(x)
S ^ = 1 n ( n − 1 ) ∑ i ≠ j u q ( x i , x j ) (4) \hat{\mathbb{S}} = \frac{1}{n(n-1)}\sum_{i\neq j}u_q(x_i,x_j)\tag{4} S^=n(n1)1i=juq(xi,xj)(4)
S ^ 是 S \hat{\mathbb{S}}是\mathbb{S} S^S的无偏估计,即 E [ S ^ ] = E [ S ] \mathbb{E}[\hat{\mathbb{S}}] = \mathbb{E}[\mathbb{S}] E[S^]=E[S]
有了统计量,就便于我们对 p = q p=q p=q假设检验
H 0 : E p [ u q ( x , x ′ ) ] = 0      v s      H 1 : E p [ u q ( s , s ′ ) > 0 ] H_0:\mathbb{E}_p[u_q(x,x')]=0 \,\,\,\,vs\,\,\,\,H_1:\mathbb{E}_p[u_q(s,s')>0] H0:Ep[uq(x,x)]=0vsH1:Ep[uq(s,s)>0]

Notations

这是文章接下来一些符号的说明:

  1. X \mathcal{X} X:集合,d维的空间 R d \mathbb{R}^d Rd
  2. vector-valued函数 f ( x ) = [ f 1 ( x ) , f 2 ( x ) , . . . , f d ′ ( x ) ] \mathbf{f}(x)=[f_1(x), f_2(x),...,f_{d'}(x)] f(x)=[f1(x),f2(x),...,fd(x)];他的导函数 ∇ x f ( x ) = [ ∂ f j ( x ) ∂ x i ] i , j \nabla_x\mathbf{f}(x) = [\frac{\partial f_j(x)}{\partial x_i}]_{i,j} xf(x)=[xifj(x)]i,j是个 d × d ′ d\times d' d×d维的matirx-valued函数。
  3. k ( ⋅ , x ′ ) = k x ′ ( ⋅ ) \mathcal{k}(\cdot,x')=\mathcal{k}_{x'}(\cdot) k(,x)=kx()

2. Backgrounds

接下来分别介绍核函数、RKHS、Stein特征、Stein算子的背景知识。

2.1. Kernels and Reproducing Kernel Hilbert Spaces

核函数的特征分解

核函数 k ( ⋅ , ⋅ ) \mathcal{k}(\cdot,\cdot) k(,)是一个二元函数,可以看成是个二维无限维矩阵,具有无限个特征值和特征方程,具体可参考我的另一篇函数空间中的RKHS的内容。核函数是个正定矩阵,因此其必定是个实对称矩阵,故根据Mercer定理,核函数可以被特征分解为:
k ( x , x ′ ) = ∑ j λ j e j ( x ) e j ( x ′ ) k ( x , ⋅ ) = ∑ j λ j e j ( x ) e j (5) \mathcal{k}(x,x') = \sum_j\lambda_je_j(x)e_j(x')\tag{5} \\k(x,\cdot)=\sum_j\lambda_je_j(x)e_j k(x,x)=jλjej(x)ej(x)k(x,)=jλjej(x)ej(5)Note:

  1. { λ j } 、 { e j } \{\lambda_j\}、\{e_j\} {λj}{ej}分别是特征值和对于的特征方程(或者叫特征函数)。
  2. ∫ e i ( x ) ⋅ e j ( x ) d x = I [ i = j ] , ∀ i , j \int e_i(x)\cdot e_j(x) \mathrm{d}x =\mathrm{I}[i=j],\forall i,j ei(x)ej(x)dx=I[i=j],i,j。或者可以写成: < e i , e j > = 0 , i ≠ j <e_i, e_j>=0,i\ne j <ei,ej>=0,i=j,其中 { e } i = 1 ∞ \{e\}_{i=1}^\infty {e}i=1是一组正交基。根据线代知识,像核函数这种实对称矩阵是可以产生无限个互相正交的特征向量(参考实对称矩阵一定可以对角化)。
  3. e j ( x ) ∈ R e_j(x)\in\mathbb{R} ej(x)R e j ∈ R ∞ e_j\in\mathbb{R}^\infty ejR k ( x , x ′ ) ∈ R , k ( x , ⋅ ) ∈ R ∞ k(x,x')\in\mathbb{R},k(x,\cdot)\in\mathbb{R}^\infty k(x,x)R,k(x,)R

性质补充

  1. 因为RKHS也是一种线性空间,所以对 ∀ f ( x ) , g ( x ) ∈ H \forall f(x),g(x)\in\mathcal{H} f(x),g(x)H,都可以被正交基表示成其线性组合,即 f ( x ) = ∑ j f j e j ( x ) ; g ( x ) = ∑ j g j e j ( x ) f(x)=\sum_jf_je_j(x);g(x)=\sum_jg_je_j(x) f(x)=jfjej(x);g(x)=jgjej(x)
  2. 因为RKHS也是一种内积空间,所以对 < f , g > H = ∑ j f j g j / λ j <f,g>_\mathcal{H}=\sum_jf_jg_j/\lambda_j <f,g>H=jfjgj/λj
  3. 因为RKHS也是一种赋范空间,所以 ∣ ∣ f ∣ ∣ H 2 = < f , f > H ∑ j f j 2 / λ j 。 ||f||^2_\mathcal{H}=<f,f>_\mathcal{H}\sum_jf_j^2/\lambda_j。 fH2=<f,f>Hjfj2/λj
  4. 再生性 f ( x ) = < f , k ( ⋅ , x ) > H f(x)=<f,k(\cdot,x)>_{\mathcal{H}} f(x)=<f,k(,x)>H
  5. H d = H × ⋯ H \mathcal{H}^d=\mathcal{H}\times\cdots\mathcal{H} Hd=H×H意味着 d d d维向量 f = { f l : f l ∈ H } l ∈ [ d ] \mathbf{f}=\{f_l:f_l\in\mathcal{H}\}_{l\in[d]} f={fl:flH}l[d]所属空间。同理 g = { g l } l ∈ [ d ] \mathbf{g}=\{g_l\}_{l\in[d]} g={gl}l[d]。因此内积 < f , g > H d = ∑ l ∈ [ d ] < f l , g l > H <\mathbf{f},\mathbf{g}>_{\mathcal{H}^d}=\sum_{l\in[d]}<f_l,g_l>_{\mathcal{H}} <f,g>Hd=l[d]<fl,gl>H范数 ∣ ∣ f ∣ ∣ H d = ∑ l ∣ ∣ f l ∣ ∣ H 2 ||\mathbf{f}||_{\mathcal{H}^d}=\sqrt{\sum_l||f_l||^2_\mathcal{H}} fHd=lflH2

RKHS的可再生性:

指的是一个核函数可以再生2个函数的内积。
k ( x , x ′ ) = < k ( ⋅ , x ) , k ( ⋅ , x ′ ) > H \mathcal{k}(x,x') = <k(\cdot,x),k(\cdot,x')>_{\mathcal{H}} k(x,x)=<k(,x),k(,x)>H

RKHS的核技巧:

Φ ( x ) 是 x \Phi(\mathbf{x})是\mathbf{x} Φ(x)x映射到高维空间 H \mathcal{H} H的向量。则该向量一定可以被核函数表示为 Φ ( x ) = k ( x , ⋅ ) \Phi(\mathbf{x})=k(x, \cdot) Φ(x)=k(x,),同理 Φ ( y ) = k ( y , ⋅ ) \Phi(\mathbf{y})=k(y,\cdot) Φ(y)=k(y,)。那么根据可再生性: < Φ ( x ) , Φ ( y ) > H = k ( x , y ) <\Phi(\mathbf{x}),\Phi(\mathbf{y})>_\mathcal{H} = k(x,y) <Φ(x),Φ(y)>H=k(x,y)
也就是说我们不用去计算这个映射是怎么样的,直接将原空间的 x , y \mathbf{x},\mathbf{y} x,y带入到核函数中求值就可以计算高位空间的内积了!引入核技巧的这个高维空间 H \mathcal{H} H就是再生核希尔伯特空间。并且一个RKHS唯一规定了一个核函数 k ( ⋅ , ⋅ ) k(\cdot,\cdot) k(,)

2.2. Stein’s Identity and Operator

Definition 2.1.
设概率密度函数 p ( x ) p(x) p(x)是光滑(连续可微)的,其定义域为 X \mathcal{X} X,是 R d \mathbb{R}^d Rd的子集,则Stein得分函数定义为:
s p = ∇ x log ⁡ p ( x ) = ∇ x p ( x ) p ( x ) s_p=\nabla_x\log p(x) = \frac{\nabla_x p(x)}{p(x)} sp=xlogp(x)=p(x)xp(x)
Note:

  1. s p s_p sp是一个从 X \mathcal{X} X映射到 R d \mathbb{R}^d Rd d × 1 d\times1 d×1维向量。
  2. 定义域的设定也很符合强化学习的特点,因为 p p p作为策略网络,输入 x x x往往都是 d d d维的状态向量。

接下来定义Stein类
如果函数 f f f是光滑且满足:
∫ x ∈ X ∇ x ( f ( x ) p ( x ) ) d x = 0 (6) \int_{x\in\mathcal{X}}\nabla_x(f(x)p(x))\mathrm{d}x = 0\tag{6} xXx(f(x)p(x))dx=0(6)则我们称 f : X → R f:\mathcal{X}\to \mathbb{R} f:XR属于 p p p的Stein类 f \mathbf{f} f
Note:

  1. p p p的Stein类表示为一个 d ′ d' d维向量: f = [ f 1 ( x ) , f 2 ( x ) , . . . f d ′ ( x ) ] T \mathbf{f}=[f_1(x), f_2(x),...f_{d'}(x)]^T f=[f1(x),f2(x),...fd(x)]T
  2. 显然式(6)就是之前Stein特征证明的边界条件。也就是说,成为 p p p的Stein类的好处就是拥有了边界条件,而拥有边界条件就相当于掌握了Stein特征 E p [ A p f ] = 0 \mathbb{E}_p[\mathcal{A}_pf]=0 Ep[Apf]=0

接下来定义Stein算子 A p f \mathcal{A}_pf Apf
A p f ( x ) = s p ( x ) f ( x ) + ∇ x f ( x ) \mathcal{A}_pf(x) = s_p(x)f(x)+\nabla_xf(x) Apf(x)=sp(x)f(x)+xf(x)显然算子也是一个 X → R d 的 d × 1 \mathcal{X}\to \mathbb{R}^d的d\times1 XRdd×1的向量。
延伸:
A p f ( x ) = s p ( x ) f ( x ) T + ∇ x f ( x ) \mathcal{A}_p\mathbf{f}(x) = s_p(x)\mathbf{f}(x)^T + \nabla_x\mathbf{f}(x) Apf(x)=sp(x)f(x)T+xf(x)
Note:

  1. 显然这时候Stein算子是一个 X → d × d ′ \mathcal{X}\to d\times d' Xd×d的矩阵。
  2. 如果像上面这样是个列向量 f \mathbf{f} f别忘了还要加个转置T

Lemma 2.2 Stein’s Identity
p ( x ) p(x) p(x)光滑且定义域为 X \mathcal{X} X,则Stein特征表示为:
E p [ A p f ( x ) ] = E p [ s p ( x ) f ( x ) T + ∇ x f ( x ) ] = 0 \mathbb{E}_p[\mathcal{A}_p\mathbf{f}(x)]=\mathbb{E}_p[s_p(x)\mathbf{f}(x)^T + \nabla_x\mathbf{f}(x)]=0 Ep[Apf(x)]=Ep[sp(x)f(x)T+xf(x)]=0Note:

  1. f ( x ) \mathbf{f}(x) f(x)是未知分布 p p p的Stein类。

Lemma 2.3
p ( x ) 、 q ( x ) p(x)、q(x) p(x)q(x)是光滑且 x ∈ X x\in\mathcal{X} xX d d d维向量。 f \mathbf{f} f是分布 p ( x ) p(x) p(x)的Stein类,则有:
E p [ A q f ( x ) ] = E p [ ( s q ( x ) − s p ( x ) ) f ( x ) T ] , 特 别 的 , 当 f 也 是 d 维 的 时 候 , 有 E p [ t r a c e ( A q f ( x ) ) ] = E p [ ( s q ( x ) − s p ( x ) ) T f ( x ) ] = E p [ s q T ( x ) f ( x ) + t r ( ∇ x f ( x ) ) ] \mathbb{E}_p[\mathcal{A}_q\mathbf{f}(x)]=\mathbb{E}_p[(s_q(x)-s_p(x))\mathbf{f}(x)^T], \\特别的,当\mathbf{f}也是d维的时候,有 \\\mathbb{E}_p[trace(\mathcal{A}_q\mathbf{f}(x))]=\mathbb{E}_p[(s_q(x)-s_p(x))^T\mathbf{f}(x)]=\mathbb{E}_p[s_q^T(x)\mathbf{f}(x)+tr(\nabla_x\mathbf{f}(x))] Ep[Aqf(x)]=Ep[(sq(x)sp(x))f(x)T],fdEp[trace(Aqf(x))]=Ep[(sq(x)sp(x))Tf(x)]=Ep[sqT(x)f(x)+tr(xf(x))]Note:

  1. t r a c e trace trace是矩阵的迹,就是方阵对角线之和。第二个含迹公式大致就是按这个思路来的: A T A = t r ( A A T ) , A ∈ R d A^TA=tr(AA^T),A\in\mathbb{R}^d ATA=tr(AAT),ARd。但是不知怎么证明,因为无法证明 A q f ( x ) = ( s q ( x ) − s p ( x ) ) f ( x ) T \mathcal{A}_q\mathbf{f}(x)=(s_q(x)-s_p(x))\mathbf{f}(x)^T Aqf(x)=(sq(x)sp(x))f(x)T——暂且当个结论记吧。
  2. 如上所示当是 f \mathbf{f} f这个列向量的时候,别忘了转置T,如果是常量 f ( x ) f(x) f(x),则没有转置符: E p [ A q f ( x ) ] = E p [ ( s q ( x ) − s p ( x ) ) f ( x ) ] \mathbb{E}_p[\mathcal{A}_qf(x)]=\mathbb{E}_p[(s_q(x)-s_p(x))f(x)] Ep[Aqf(x)]=Ep[(sq(x)sp(x))f(x)]
  3. 上式证明如下:在这里插入图片描述

3. Kernelized Stein Discrepancy

Definition 3.1.
如果函数 k k k满足正定性以及对称性,即:
∫ X g ( x ) k ( x , x ′ ) g ( x ′ ) d x d x ′ > 0 0 < ∣ ∣ g ∣ ∣ 2 2 < ∞ k ( x , x ′ ) = k ( x ′ , x ) (7) \int_\mathcal{X}g(x)k(x,x')g(x')\mathrm{d}x\mathrm{d}x' > 0 \\0<||g||^2_2<\infty \\k(x,x')=k(x',x)\tag{7} Xg(x)k(x,x)g(x)dxdx>00<g22<k(x,x)=k(x,x)(7) k k k就是一个核函数。

Definition 3.2.
定义2个分布 p ( x ) 、 q ( x ) p(x)、q(x) p(x)q(x)之间的相异度KSD以及得分差 δ \delta δ定义为:
S ( p , q ) = E x , x ′ ∼ p [ δ q , p T ( x ) k ( x , x ′ ) δ q , p ( x ′ ) ] δ q , p ( x ) = s q ( x ) − s p ( x ) (8) \mathbb{S}(p,q)=\mathbb{E}_{x,x'\sim p}[\delta^T_{q,p}(x)k(x,x')\delta_{q,p}(x')]\tag{8} \\\delta_{q,p}(x)=s_q(x)-s_p(x) S(p,q)=Ex,xp[δq,pT(x)k(x,x)δq,p(x)]δq,p(x)=sq(x)sp(x)(8)Note:

  1. 这个公式(8)就是引入核函数之后的Stein-Discrepancy,也是本文的核心公式之一

Proposition 3.3.
定义 g p , q ( x ) = p ( x ) ( s q ( x ) − s p ( x ) ) , k g_{p,q}(x)=p(x)(s_q(x)-s_p(x)),k gp,q(x)=p(x)(sq(x)sp(x)),k是个正定核函数, ∣ ∣ g p , q ∣ ∣ 2 2 < ∞ ||g_{p,q}||_2^2<\infty gp,q22<,则:
S ( p , q ) ≥ 0 S ( p , q ) = 0 当 且 仅 当 p = q \mathbb{S}(p,q)\ge0\\ \mathbb{S}(p,q)=0当且仅当p=q S(p,q)0S(p,q)=0p=q
证明如下:主要利用了公式(7)在这里插入图片描述
公式(8)定义的KSD不仅需要求解 s q s_q sq,还需要知道 s p s_p sp,要知道分布 p p p是未知的,因此这个式子计算起来难度就会很大,所以接下来作者在式(8)的基础上添加了Stein特征来简化式(8),从而使得我们只需要求 s q s_q sq就行了(分布q是已知的)。

Definition 3.4.
如果核函数 k ( x , x ′ ) k(x,x') k(x,x)拥有连续二阶偏导数,那么 k ( x , x ′ ) 、 k ( x , ⋅ ) 、 k ( x ′ , ⋅ ) k(x, x')、k(x, \cdot)、k(x',\cdot) k(x,x)k(x,)k(x,)都属于 p p p的Stein类。
作者立即给出了高斯核函数RBF
k ( x , x ′ ) = exp ⁡ ( − ∣ ∣ x − x ′ ∣ ∣ 2 2 2 h 2 ) k(x,x')=\exp(-\frac{||x-x'||^2_2}{2h^2}) k(x,x)=exp(2h2xx22)一定是在Stein类中,且 X = R d \mathcal{X}=\mathbb{R}^d X=Rd

Proposition 3.5.
如果 k ( x , x ′ ) k(x,x') k(x,x)在Stein类中,那么对 ∀ f ∈ H ( H 为 \forall f\in\mathcal{H}(\mathcal{H}为 fH(HRKHS), f ( x ) f(x) f(x)都同在Stein类中
证明如下:
在这里插入图片描述

Note:

  1. 其中涉及到了矩阵内积,可参考向量内积与矩阵内积。内积可以是矩阵与矩阵,也可以是矩阵与向量之间。
  2. f ∈ R d ′ f\in\mathbb{R}^{d'} fRd
  3. 核函数在RKHS中一般看成是无限维的,但是具体到问题的时候,因为内积计算的原因,一般都不是无限维,看核函数内积的对象维度。
  4. 对于 ∇ x f = < f , ∇ x k ( x , ⋅ ) > H \nabla_xf=<f,\nabla_xk(x,\cdot)>_\mathcal{H} xf=<f,xk(x,)>H,可参考Derivative reproducing properties for kernel methods
    in learning theory

Theorem 3.6.
p , q p,q p,q光滑,且核函数 k k k属于 p p p的Stein类,那么定义:
u q ( x , x ′ ) = s q T ( x ) k ( x , x ′ ) s q ( x ′ ) + s q T ( x ) ∇ x ′ k ( x , x ′ ) + ∇ x k T ( x , x ′ ) s q ( x ′ ) + t r a c e ( ∇ x , x ′ k ( x , x ′ ) ) , 则 S ( p , q ) = E x , x ′ ∼ p [ u q ( x , x ′ ) ] (9) u_q(x,x')=s_q^T(x)k(x,x')s_q(x')+s_q^T(x)\nabla_{x'}k(x,x')+\nabla_xk^T(x,x')s_q(x')+trace(\nabla_{x,x'}k(x,x')), \\则\mathbb{S}(p,q)=\mathbb{E}_{x,x'\sim p}[u_q(x,x')]\tag{9} uq(x,x)=sqT(x)k(x,x)sq(x)+sqT(x)xk(x,x)+xkT(x,x)sq(x)+trace(x,xk(x,x)),S(p,q)=Ex,xp[uq(x,x)](9)
证明如下:在这里插入图片描述
Note:

  1. 这里有个地方涉及到列向量 y y y对列向量 x x x求导,我们一般为了实践方便,都把列向量 y y y当行向量处理,参考这里。对于矩阵向量的求导,点这里。(RL中常见的还会涉及实值标量函数 f ( X ) f(\mathbf{X}) f(X)对矩阵 X \mathbf{X} X的求导)
  2. 这里引入了Stein特征来消除有关未知分布 p p p的有关式子,大大简化了计算难度,可见Stein方法的重要性。

做到这里我们已经获得了KSD的计算形式,那如何具体算出来呢
Theorem3.7真正提供了一种可计算 S ( p , q ) \mathbb{S}(p,q) S(p,q)的方法——核函数的特征分解

Theorem 3.7
我们还可以使用 k ( ⋅ , ⋅ ) k(\cdot,\cdot) k(,)的特征分解,使用其特征函数 e j ( x ) e_j(x) ej(x)来构造一个正定矩阵 u q ( x , x ′ ) u_q(x,x') uq(x,x)
u q ( x , x ′ ) = ∑ j λ j [ A q e j ( x ) ] T [ A q e j ( x ′ ) ] 其 中 , A q e j ( x ) = s q ( x ) e j ( x ) + ∇ x e j ( x ) (10) u_q(x,x')=\sum_j\lambda_j[\mathcal{A}_qe_j(x)]^T[\mathcal{A}_qe_j(x')]\tag{10} \\其中,\mathcal{A}_qe_j(x)=s_q(x)e_j(x)+\nabla_xe_j(x) uq(x,x)=jλj[Aqej(x)]T[Aqej(x)]Aqej(x)=sq(x)ej(x)+xej(x)(10)
证明如下:在这里插入图片描述
结合式(9)和式(10),可推出:
S ( p , q ) = ∑ j λ j E x , x ′ ∼ p ( ∣ ∣ A q e j ( x ) ∣ ∣ 2 2 ) (11) \mathbb{S}(p,q)=\sum_j\lambda_j\mathbb{E}_{x,x'\sim p}(||\mathcal{A}_qe_j(x)||^2_2)\tag{11} S(p,q)=jλjEx,xp(Aqej(x)22)(11)证明如下:
在这里插入图片描述

Note:

  1. 虽然 { e j } \{e_j\} {ej}是相互正交的,但是 { A q e j ( x ) } \{\mathcal{A}_qe_j(x)\} {Aqej(x)}不是相互正交的。

Theorem 3.8

H \mathcal{H} H为再生核希尔伯特空间, k ( x , x ′ ) k(x,x') k(x,x)为核函数,并且是 p p p的Stein类,记 β ( x ′ ) = E x ∼ p [ A p k x ′ ( x ) ] \beta(x')=\mathbb{E}_{x\sim p}[\mathcal{A}_pk_{x'}(x)] β(x)=Exp[Apkx(x)],则:
S ( p , q ) = ∣ ∣ β ∣ ∣ H d 2 (12) \mathbb{S}(p,q)=||\beta||^2_{\mathcal{H}^d}\tag{12} S(p,q)=βHd2(12)证明如下:
在这里插入图片描述

Note

  1. 矩阵的期望是矩阵中每个随机变量(元素)的期望。
  2. 若A、B独立,则 E [ < A , B > ] = E [ t r ( A T B ) ] = t r ( E ( A T B ) ) = t r ( E T { A } , E { B } ) = < E { A } , E { B } > \mathbb{E}[<A,B>]=\mathbb{E}[tr(A^TB)]=tr(\mathbb{E}(A^TB)) \\=tr(\mathbb{E}^T\{A\},\mathbb{E}\{B\})=<\mathbb{E}\{A\},\mathbb{E}\{B\}> E[<A,B>]=E[tr(ATB)]=tr(E(ATB))=tr(ET{A},E{B})=<E{A},E{B}>
  3. 式(11)和式(12)均起源式(8),因此三个式子都是等效的
  4. 对于 S ( p , q ) = E x , x ′ ∼ p ( x ) [ u q ( x , x ′ ) ] \mathbb{S}(p,q)=\mathbb{E}_{x,x'\sim p(x)}[u_q(x,x')] S(p,q)=Ex,xp(x)[uq(x,x)] x , x ′ x,x' x,x是独立同分布采样于 p ( x ) p(x) p(x)的。
  5. 从式(12)可以看出所谓的 S ( p , q ) \mathbb{S}(p,q) S(p,q)就是RKHS中的一个内积
  6. 从这里看出,看似Theorem 3.7或者公式(9)没什么用,好像有点多余,但其实Theorem 3.7是用于文章的第二部分,也就是提出一种测量拟合优度的方法,式(9)可提供一种U统计量做假设检验,如果只是学习第一部分,即KSD的话,则更需要掌握Theorem 3.8。

进一步,因为 < f , β > H d = E x [ t r a c e ( A q f ) ] , f ∈ H d <\mathbf{f},\beta>_{\mathcal{H}^d}=\mathbb{E}_x[trace(\mathcal{A}_q\mathbf{f})],\mathbf{f}\in\mathcal{H}^d <f,β>Hd=Ex[trace(Aqf)],fHd,证明如下:
在这里插入图片描述
还记得式(2)吗,那个因为计算难度大,使得我们将目标转移到RKHS以及Stein方法的Stein Discrepancy——在空间中找一个 f f f,使得 E x ∼ p [ A q f ( x ) ] \mathbb{E}_{x\sim p}[\mathcal{A}_qf(x)] Exp[Aqf(x)]达到最大。经过我们RKHS和Stein方法的洗礼,转变成了,在RKHS中找到一个 f ∈ H d f\in \mathcal{H}^d fHd,使得 < f , β > = E x ∼ p [ t r ( A q f ) ] <\mathbf{f},\beta>=\mathbb{E}_{x\sim p}[tr(\mathcal{A}_q\mathbf{f})] <f,β>=Exp[tr(Aqf)]最大(和 E x ∼ p [ A q f ( x ) ] \mathbb{E}_{x\sim p}[\mathcal{A}_qf(x)] Exp[Aqf(x)]达到最大是一样的)。
所以有:
S ( p , q ) = max ⁡ f ∈ H d { E x [ t r a c e ( A q f ) ] ,      s . t . ∣ ∣ f ∣ ∣ H d ≤ 1 } (13) \sqrt{\mathbb{S}(p,q)}=\max_{\mathbf{f}\in\mathcal{H}^d}\{\mathbb{E}_x[trace(\mathcal{A}_q\mathbf{f})],\,\,\,\,s.t.||\mathbf{f}||_{\mathcal{H}^d}\leq1\}\tag{13} S(p,q) =fHdmax{Ex[trace(Aqf)],s.t.fHd1}(13)显然到达最大时候的 f \mathbf{f} f就是 β \beta β,当然我们可以对 β \beta β向量做归一化,也就是只要它的方向。因此,求出 S ( p , q ) \mathbb{S(p,q)} S(p,q)就很简单了,只需要按照式(11)或式(12)来就行,不需要盯着式(2)不知所措了。
Note:

  1. 式(13)的优化结果是: f = β ∣ ∣ β ∣ ∣ H d \mathbf{f}=\frac{\beta}{||\beta||_{\mathcal{H}^d}} f=βHdβ
  2. 还有一种形式是不带根号的式(13),但是约束条件要改为 ∣ ∣ f ∣ ∣ H d ≤ S ( p , q ) ||\mathbf{f}||_{\mathcal{H}^d}\leq \mathbb{S}(p,q) fHdS(p,q)

总结:
直到这里,我们已经能求出 S ( p , q ) \mathbb{S}(p,q) S(p,q)以及对应的优化结果 f \mathbf{f} f了。

4. Goodness-of-fit Testing Based on KSD

因为本轮主要研究KSD的内容,所以后面略。

5. Related Methods

5.1. Connection with Fisher Divergence

5.2. Maximum Mean Discrepancy & Two-sample Tests

6. Experiments

7. Conclusion and Future Directions

文章最重要的贡献就是

  1. 提出了一种可计算的,用于估计出复杂模型的相异度测量算法——KSD。
  2. 可以将KSD用于机器学习中分析或使用估计出来的复杂模型。
  3. 完整的介绍了Stein方法的背景和RKHS的背景知识。
  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值