论文地址:点这里
这篇文章全名叫:A Kernelized Stein Discrepancy for Goodness-of-fit Tests
顾名思义,文章分为二部分:
- 用核函数定义的衡量2个分布差异的算法——KSD。
- 提出一种测量拟合优度(Goodness-of-fit)的方式。
学习目的:由于强化学习的算法之一SQL需要用到Stein变分梯度下降算法,而本文是理解Stein变分梯度下降的关键。第一部分又可以细分为2部分:
- 提出Stein方法(Stein是个数学家斯特恩的名字)。
- 提出KSD(核差异)算法。
A Kernelized Stein Discrepancy for Goodness-of-fit Tests
Abstract
本论文拟在导出一种结合Stein特征和再生核希尔伯特空间RKHS的测量2个概率分布差异的统计学方法——KSD。此外还将导出一种可以在复杂高维分布下测试的拟合优度方式。
1. Introduction
机器学习和统计学上一个基础的任务就是——评估模型在观测值上的拟合优度。传统的方法基于似然值或者累计概率分布。但如今模型的复杂、高维使得计算似然或者CDF变得困难。虽然MCMC和VI可以用于求解似然值,但是它们会造成很大的估计误差,并且由于很难找到合适的统计值,故无法做假设检验。
因此作者推出了likelihood-free方法去估计模型,这种算法有3个特点:
- 基于一种用于2个分布之间新型相异性测量度 S \mathbb{S} S——KSD。
- 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) xi∼p(x)是否相当于从已知分布 q ( x ) q(x) q(x)中采样那样。这就是拟合优度的测量方式。
- 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:
- 其中光滑函数 f ( x ) f(x) f(x)还需满足边界条件(详见下面证明)。
- 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得分函数。
- 当 p = q p=q p=q时,式子(1)又称之为Stein特征。
给出必要性证明如下:
定义2个分布
p
、
q
p、q
p、q之间的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=f∈Fmax(Ep[sq(x)f(x)+∇xf(x)])2(2)
其中:
- 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。
- 但是这个目标函数优化起来计算复杂度很高,一般都不直接去优化,因此作者引出了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
∣∣f∣∣Hd≤r。
给出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,x′∼p[uq(x,x′)](3)
Note:
- x , x ′ x,x' x,x′独立同分布于 p p p。
-
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(n−1)1i=j∑uq(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
这是文章接下来一些符号的说明:
- X \mathcal{X} X:集合,d维的空间 R d \mathbb{R}^d Rd。
- 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)=[∂xi∂fj(x)]i,j是个 d × d ′ d\times d' d×d′维的matirx-valued函数。
- 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:
- { λ j } 、 { e j } \{\lambda_j\}、\{e_j\} {λj}、{ej}分别是特征值和对于的特征方程(或者叫特征函数)。
- ∫ 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∞是一组正交基。根据线代知识,像核函数这种实对称矩阵是可以产生无限个互相正交的特征向量(参考实对称矩阵一定可以对角化)。
- e j ( x ) ∈ R e_j(x)\in\mathbb{R} ej(x)∈R, e j ∈ R ∞ e_j\in\mathbb{R}^\infty ej∈R∞; 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∞。
性质补充:
- 因为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)。 - 因为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。 - 因为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。 ∣∣f∣∣H2=<f,f>H∑jfj2/λj。 - 再生性: f ( x ) = < f , k ( ⋅ , x ) > H f(x)=<f,k(\cdot,x)>_{\mathcal{H}} f(x)=<f,k(⋅,x)>H。
- 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:fl∈H}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}} ∣∣f∣∣Hd=∑l∣∣fl∣∣H2。
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:
- s p s_p sp是一个从 X \mathcal{X} X映射到 R d \mathbb{R}^d Rd的 d × 1 d\times1 d×1维向量。
- 定义域的设定也很符合强化学习的特点,因为 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}
∫x∈X∇x(f(x)p(x))dx=0(6)则我们称
f
:
X
→
R
f:\mathcal{X}\to \mathbb{R}
f:X→R属于
p
p
p的Stein类
f
\mathbf{f}
f。
Note:
- 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。
- 显然式(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
X→Rd的d×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:
- 显然这时候Stein算子是一个 X → d × d ′ \mathcal{X}\to d\times d' X→d×d′的矩阵。
- 如果像上面这样是个列向量 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:
- 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}
x∈X的
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],特别的,当f也是d维的时候,有Ep[trace(Aqf(x))]=Ep[(sq(x)−sp(x))Tf(x)]=Ep[sqT(x)f(x)+tr(∇xf(x))]Note:
- 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),A∈Rd。但是不知怎么证明,因为无法证明 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——暂且当个结论记吧。
- 如上所示当是 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. 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<∣∣g∣∣22<∞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,x′∼p[δq,pT(x)k(x,x′)δq,p(x′)]δq,p(x)=sq(x)−sp(x)(8)Note:
- 这个公式(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,q∣∣22<∞,则:
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)=0当且仅当p=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(−2h2∣∣x−x′∣∣22)一定是在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}为
∀f∈H(H为RKHS),
f
(
x
)
f(x)
f(x)都同在Stein类中。
证明如下:
Note:
- 其中涉及到了矩阵内积,可参考向量内积与矩阵内积。内积可以是矩阵与矩阵,也可以是矩阵与向量之间。
- f ∈ R d ′ f\in\mathbb{R}^{d'} f∈Rd′。
- 核函数在RKHS中一般看成是无限维的,但是具体到问题的时候,因为内积计算的原因,一般都不是无限维,看核函数内积的对象维度。
- 对于
∇
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)∇x′k(x,x′)+∇xkT(x,x′)sq(x′)+trace(∇x,x′k(x,x′)),则S(p,q)=Ex,x′∼p[uq(x,x′)](9)
证明如下:
Note:
- 这里有个地方涉及到列向量 y y y对列向量 x x x求导,我们一般为了实践方便,都把列向量 y y y当行向量处理,参考这里。对于矩阵向量的求导,点这里。(RL中常见的还会涉及实值标量函数 f ( X ) f(\mathbf{X}) f(X)对矩阵 X \mathbf{X} X的求导)
- 这里引入了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,x′∼p(∣∣Aqej(x)∣∣22)(11)证明如下:
Note:
- 虽然 { 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′)=Ex∼p[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:
- 矩阵的期望是矩阵中每个随机变量(元素)的期望。
- 若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}>
- 式(11)和式(12)均起源式(8),因此三个式子都是等效的。
- 对于 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,x′∼p(x)[uq(x,x′)], x , x ′ x,x' x,x′是独立同分布采样于 p ( x ) p(x) p(x)的。
- 从式(12)可以看出所谓的 S ( p , q ) \mathbb{S}(p,q) S(p,q)就是RKHS中的一个内积。
- 从这里看出,看似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)],f∈Hd,证明如下:
还记得式(2)吗,那个因为计算难度大,使得我们将目标转移到RKHS以及Stein方法的Stein Discrepancy——在空间中找一个
f
f
f,使得
E
x
∼
p
[
A
q
f
(
x
)
]
\mathbb{E}_{x\sim p}[\mathcal{A}_qf(x)]
Ex∼p[Aqf(x)]达到最大。经过我们RKHS和Stein方法的洗礼,转变成了,在RKHS中找到一个
f
∈
H
d
f\in \mathcal{H}^d
f∈Hd,使得
<
f
,
β
>
=
E
x
∼
p
[
t
r
(
A
q
f
)
]
<\mathbf{f},\beta>=\mathbb{E}_{x\sim p}[tr(\mathcal{A}_q\mathbf{f})]
<f,β>=Ex∼p[tr(Aqf)]最大(和
E
x
∼
p
[
A
q
f
(
x
)
]
\mathbb{E}_{x\sim p}[\mathcal{A}_qf(x)]
Ex∼p[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)=f∈Hdmax{Ex[trace(Aqf)],s.t.∣∣f∣∣Hd≤1}(13)显然到达最大时候的
f
\mathbf{f}
f就是
β
\beta
β,当然我们可以对
β
\beta
β向量做归一化,也就是只要它的方向。因此,求出
S
(
p
,
q
)
\mathbb{S(p,q)}
S(p,q)就很简单了,只需要按照式(11)或式(12)来就行,不需要盯着式(2)不知所措了。
Note:
- 式(13)的优化结果是: f = β ∣ ∣ β ∣ ∣ H d \mathbf{f}=\frac{\beta}{||\beta||_{\mathcal{H}^d}} f=∣∣β∣∣Hdβ。
- 还有一种形式是不带根号的式(13),但是约束条件要改为 ∣ ∣ f ∣ ∣ H d ≤ S ( p , q ) ||\mathbf{f}||_{\mathcal{H}^d}\leq \mathbb{S}(p,q) ∣∣f∣∣Hd≤S(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
文章最重要的贡献就是:
- 提出了一种可计算的,用于估计出复杂模型的相异度测量算法——KSD。
- 可以将KSD用于机器学习中分析或使用估计出来的复杂模型。
- 完整的介绍了
Stein方法
的背景和RKHS的背景知识。