文中多次提到对数似然方程,所以我先介绍一下对数似然方程。
当总体X为连续型随机变量时,设其分布密度为
f
(
x
;
θ
1
,
θ
1
,
.
.
.
,
θ
m
)
f(x;\theta_1,\theta_1,...,\theta_m)
f(x;θ1,θ1,...,θm),其中
θ
1
,
θ
1
,
.
.
.
,
θ
m
\theta_1,\theta_1,...,\theta_m
θ1,θ1,...,θm为未知参数。又设
x
1
,
x
2
,
.
.
.
,
x
n
x_1,x_2,...,x_n
x1,x2,...,xn为总体的一个样本,称:
L
(
θ
1
,
θ
1
,
.
.
.
,
θ
m
)
=
∏
i
=
1
n
f
(
x
;
θ
1
,
θ
1
,
.
.
.
,
θ
m
)
L(\theta_1,\theta_1,...,\theta_m)=\prod_{i=1}^nf(x;\theta_1,\theta_1,...,\theta_m)
L(θ1,θ1,...,θm)=i=1∏nf(x;θ1,θ1,...,θm)为样本的似然函数,简记为
L
n
L_n
Ln
当总体X为离散型随机变量时,设其分布律为
P
X
=
x
=
p
(
x
;
θ
1
,
θ
1
,
.
.
.
,
θ
m
)
P{X=x}=p(x;\theta_1,\theta_1,...,\theta_m)
PX=x=p(x;θ1,θ1,...,θm),则称
L
(
x
1
,
x
2
,
.
.
.
,
x
n
;
θ
1
,
θ
1
,
.
.
.
,
θ
m
)
=
∏
i
=
1
n
p
(
x
;
θ
1
,
θ
1
,
.
.
.
,
θ
m
)
L(x_1,x_2,...,x_n;\theta_1,\theta_1,...,\theta_m)=\prod_{i=1}^np(x;\theta_1,\theta_1,...,\theta_m)
L(x1,x2,...,xn;θ1,θ1,...,θm)=i=1∏np(x;θ1,θ1,...,θm)为样本的似然函数
若似然函数
L
(
θ
;
x
)
L(\theta;x)
L(θ;x)为
θ
\theta
θ的连续函数,且关于
θ
\theta
θ的各分量的偏导数存在。设
θ
\theta
θ是m维变量,且
Θ
∈
R
m
\Theta\in R^m
Θ∈Rm为开区域,则由极值的一阶必要条件,得到
∂
L
(
θ
;
x
)
∂
θ
i
=
0
,
i
=
1
,
2
,
.
.
.
,
m
\frac{\partial L(\theta;x)}{\partial \theta_i}=0,i=1,2,...,m
∂θi∂L(θ;x)=0,i=1,2,...,m通常称为似然方程,由于独立同分布的样本的似然函数上
L
(
θ
;
x
)
L(\theta;x)
L(θ;x)具有连乘积的形式,故对
L
(
θ
;
x
)
L(\theta;x)
L(θ;x)取对数后再求偏导数是方便的,因此实用上常采用与似然方程等价的形式 :
∂
l
n
L
(
θ
;
x
)
∂
θ
i
=
0
,
i
=
1
,
2
,
.
.
.
,
m
\frac{\partial lnL(\theta;x)}{\partial \theta_i}=0,i=1,2,...,m
∂θi∂lnL(θ;x)=0,i=1,2,...,m称为对数似然方程。
简介:
状态空间模型(SSMs)已被用于在广泛的研究领域建模动力系统。状态空间模型(SSMs)由两个随机过程表示: { X t } t ≥ 0 \{X_t\}_{t≥0} {Xt}t≥0和 { Y t } t ≥ 0 \{Y_t\}_{t≥0} {Yt}t≥0,其中 X t X_t Xt表示根据马尔可夫过程 p ( x t ∣ x t − 1 ) p (x_t | x_{t−1}) p(xt∣xt−1)演化的隐藏状态, Y t Y_t Yt表示观测值。用式子表示为: X t ∣ X t − 1 ∼ p ( x t ∣ x t − 1 , θ ) (公式 1 ) X_t|X_{t−1} ∼ p (x_t|x_{t−1}, θ)(公式1) Xt∣Xt−1∼p(xt∣xt−1,θ)(公式1) Y t ∣ X t ∼ p ( y t ∣ x t , θ ) (公式 2 ) Y_t|X_t ∼ p (y_t|x_t, θ) (公式2) Yt∣Xt∼p(yt∣xt,θ)(公式2)初始 X 0 X_0 X0的初始密度表示 µ θ ( x 0 ) µθ(x0) µθ(x0),SSM由参数空间 Θ Θ Θ中包含的未知静态参数 θ θ θ参数化。
在这篇文章中,我们专注于对状态空间模型(SSMs)中的贝叶斯参数估计使用马尔可夫链蒙特卡洛 (p-MCMC),这种方法结合了两种蒙特卡罗方法(一种是Markov Chain Monte Carlo (MCMC),另一种是Sequential MonteCarlo (SMC) ),它们使用重复采样技术来获得目标分布
π
(
θ
)
π(θ)
π(θ)的数值估计,但是这种方法的精确推断是不好处理的。
Markov Chain Monte Carlo (MCMC)算法,例如如Metropolis-Hastings (M-H),在该算法中经常使用随机游走抽样。但是当估计大量参数时,这种随机游走抽样的做法很难使MCMC达到平稳分布。
Hamiltonian Monte Carlo (HMC)算法是一种从特定问题哈密顿系统模拟生成MCMC中使用的样本的方法。HMC在目标分布复杂、超参数敏感由用户决定的情况下被认为是最有效的。
粒子滤波器最初是用来计算
θ
\theta
θ的无偏差估计,马尔可夫链蒙特卡洛(p-MCMC)中使用Metropolis-Hastings (M-H)随机游走算法进行采样将出现上面Markov Chain Monte Carlo (MCMC)中描述的相同问题(也就是很难达到平稳分布)。 于是又提出了重参数化技巧,通过提前对噪声向量进行采样,并将
θ
θ
θ的似然性定义为该采样噪声向量的确定性函数,将采样操作重新制定为可微函数。然而,重采样仍然是有问题的,因为重采样后所有的权重都是相等的。最后,人们又引出了一种新的网络架构——Soft resampling。它训练粒子转换器,然后取代传统的重采样。改架构涉及到分布
q
(
n
)
=
α
w
1
:
t
(
θ
,
i
)
+
(
1
−
α
)
1
/
N
,其中
α
∈
[
0
,
1
]
q(n) = αw^{(θ,i)} _{1:t} +(1−α)1/ N,其中α∈[0,1]
q(n)=αw1:t(θ,i)+(1−α)1/N,其中α∈[0,1],表示一个权衡参数。如果
α
=
1
α = 1
α=1,则使用常规重采样;如果
α
=
0
α = 0
α=0,则执行子采样。我们就得到了一个新的权重:
w
1
:
t
′
(
θ
,
i
)
=
w
1
:
t
(
θ
,
i
)
α
w
1
:
t
(
θ
,
i
)
+
(
1
−
α
)
1
/
N
(公式
3
)
w_{1: t}^{\prime(\theta, i)}=\frac{w_{1: t}^{(\theta, i)}}{\alpha w_{1: t}^{(\theta, i)}+(1-\alpha) 1 / N}(公式3)
w1:t′(θ,i)=αw1:t(θ,i)+(1−α)1/Nw1:t(θ,i)(公式3)
通过改变α值,该方法用有偏差的梯度估计来交换重采样质量。
**我们相比之前的最优输运思想进行重采样、停止梯度重采样的方法等不同的地方在于我们关注的是确保重采样是可微的,而不必改变重采样的操作方式。**我们的核心是解决在重采样步骤中使用的随机数。 在上面条件的对重采样的输入会使对后续的粒子导数计算是父粒子的函数。然后,可以在p-MCMC框架内有效地估计和利用梯度。
二、粒子滤波的背景
在第2节中,我们描述了一个通用的粒子滤波器,然后描述了与区分采样和重采样步骤相关的困难。
力度变化
假设我们考虑了
t
t
t个时间步,在
y
1
:
t
y_{1:t}
y1:t的每一个增量处获得数据。状态序列
x
1
:
t
x_{1:t}
x1:t随时间增长,其中
x
t
x_t
xt有
n
x
n_x
nx维。力度变化和可能性用
θ
θ
θ(它有
n
θ
n_θ
nθ维)来参数化,如下所示:
p
(
y
1
:
t
,
x
1
:
t
∣
θ
)
=
p
(
y
1
∣
x
1
,
θ
)
p
(
x
1
∣
θ
)
∏
τ
=
2
t
p
(
y
τ
∣
x
τ
,
θ
)
p
(
x
τ
∣
x
τ
−
1
,
θ
)
.
(公式
4
)
p\left(y_{1: t}, x_{1: t} \mid \theta\right)=p\left(y_1 \mid x_1, \theta\right) p\left(x_1 \mid \theta\right) \prod_{\tau=2}^t p\left(y_\tau \mid x_\tau, \theta\right) p\left(x_\tau \mid x_{\tau-1}, \theta\right) .(公式4)
p(y1:t,x1:t∣θ)=p(y1∣x1,θ)p(x1∣θ)τ=2∏tp(yτ∣xτ,θ)p(xτ∣xτ−1,θ).(公式4)
2.1粒子滤波
在每个时间间隔
t
t
t,粒子滤波器从分布
q
(
x
1
:
t
∣
y
1
:
t
,
θ
)
q (x_{1:t}|y_{1:t},\theta)
q(x1:t∣y1:t,θ)中提取N个样本(粒子),该分布由状态和测量的序列参数化。这些样本在统计上是独立的,每个样本都代表了系统状态序列的不同假设。
x
1
:
t
x_{1:t}
x1:t的样本集合表示动态系统的概率密度函数。第
i
i
i个样本有一个相关的权重
w
t
(
θ
,
i
)
w^{(θ,i)}_t
wt(θ,i),它表示第i个样本
x
t
(
θ
,
i
)
x^{(θ,i)}_t
xt(θ,i)是系统真实状态的相对概率。t = 0时的权值设为
1
/
N
1/N
1/N。分布递归构造为:
q
(
x
1
:
t
∣
y
1
:
t
,
θ
)
=
q
(
x
1
∣
y
1
,
θ
)
∏
τ
=
2
t
q
(
x
τ
∣
x
τ
−
1
,
y
τ
,
θ
)
,
(公式
5
)
q (x_{1:t}|y_{1:t}, \theta) = q (x_1|y_1, \theta) \prod_{\tau=2}^t q (x_τ |x_{τ−1}, y_τ , \theta) ,(公式5 )
q(x1:t∣y1:t,θ)=q(x1∣y1,θ)τ=2∏tq(xτ∣xτ−1,yτ,θ),(公式5)我们就可以对联合分布
p
(
y
1
:
t
,
x
1
:
t
∣
θ
)
p\left(y_{1: t}, x_{1: t} \mid \theta\right)
p(y1:t,x1:t∣θ)进行估计,如下所示:
∫
p
(
y
1
:
t
,
x
1
:
t
∣
θ
)
f
(
x
1
:
t
)
d
x
1
:
t
≈
1
N
∑
i
=
1
N
w
1
:
t
(
θ
,
i
)
f
(
x
1
:
t
(
i
)
)
(公式
6
)
\int p\left(y_{1: t}, x_{1: t} \mid \theta\right) f\left(x_{1: t}\right) d x_{1: t} \approx \frac{1}{N} \sum_{i=1}^N w_{1: t}^{(\theta, i)} f\left(x_{1: t}^{(i)}\right)(公式6)
∫p(y1:t,x1:t∣θ)f(x1:t)dx1:t≈N1i=1∑Nw1:t(θ,i)f(x1:t(i))(公式6)当t>1时,这是一个不存在偏差的估计:
w
1
:
t
(
θ
,
i
)
=
p
(
y
1
∣
x
1
(
θ
,
i
)
,
θ
)
p
(
x
1
(
θ
,
i
)
∣
θ
)
∏
τ
=
2
t
p
(
y
τ
∣
x
τ
(
θ
,
i
)
,
θ
)
p
(
x
τ
(
θ
,
i
)
∣
x
τ
−
1
(
θ
,
i
)
,
θ
)
q
(
x
1
(
θ
,
i
)
∣
y
1
,
θ
)
∏
τ
=
2
t
q
(
x
τ
(
θ
,
i
)
∣
x
τ
−
1
(
θ
,
i
)
,
y
τ
,
θ
)
=
w
1
:
t
−
1
(
θ
,
i
)
p
(
y
t
∣
x
t
(
θ
,
i
)
,
θ
)
p
(
x
t
(
θ
,
i
)
∣
x
t
−
1
(
θ
,
i
)
,
θ
)
q
(
x
t
(
θ
,
i
)
∣
x
t
−
1
(
θ
,
i
)
,
y
t
)
,
(公式
7
)
\begin{aligned} w_{1: t}^{(\theta, i)} &=\frac{p\left(y_1 \mid x_1^{(\theta, i)}, \theta\right) p\left(x_1^{(\theta, i)} \mid \theta\right) \prod_{\tau=2}^t p\left(y_\tau \mid x_\tau^{(\theta, i)}, \theta\right) p\left(x_\tau^{(\theta, i)} \mid x_{\tau-1}^{(\theta, i)}, \theta\right)}{q\left(x_1^{(\theta, i)} \mid y_1, \theta\right) \prod_{\tau=2}^t q\left(x_\tau^{(\theta, i)} \mid x_{\tau-1}^{(\theta, i)}, y_\tau, \theta\right)} \\ &=w_{1: t-1}^{(\theta, i)} \frac{p\left(y_t \mid x_t^{(\theta, i)}, \theta\right) p\left(x_t^{(\theta, i)} \mid x_{t-1}^{(\theta, i)}, \theta\right)}{q\left(x_t^{(\theta, i)} \mid x_{t-1}^{(\theta, i)}, y_t\right)}, \end{aligned} (公式7)
w1:t(θ,i)=q(x1(θ,i)∣y1,θ)∏τ=2tq(xτ(θ,i)∣xτ−1(θ,i),yτ,θ)p(y1∣x1(θ,i),θ)p(x1(θ,i)∣θ)∏τ=2tp(yτ∣xτ(θ,i),θ)p(xτ(θ,i)∣xτ−1(θ,i),θ)=w1:t−1(θ,i)q(xt(θ,i)∣xt−1(θ,i),yt)p(yt∣xt(θ,i),θ)p(xt(θ,i)∣xt−1(θ,i),θ),(公式7)当t=1时,非归一化权值
w
1
:
t
(
θ
,
i
)
w^{(θ,i)}_{1:t}
w1:t(θ,i)的递归公式与增加的权重:
σ
(
x
k
(
θ
,
i
)
,
x
k
−
1
(
θ
,
i
)
,
θ
)
=
p
(
y
t
∣
x
t
(
θ
,
i
)
,
θ
)
p
(
x
t
(
θ
,
i
)
∣
x
t
−
1
(
θ
,
i
)
,
θ
)
q
(
x
t
(
θ
,
i
)
∣
x
t
−
1
(
θ
,
i
)
,
y
t
)
.
σ
(
x
1
:
1
(
θ
,
i
)
)
=
p
(
y
1
∣
x
1
(
θ
,
i
)
,
θ
)
p
(
x
1
(
θ
,
i
)
∣
θ
)
q
(
x
1
(
θ
,
i
)
∣
y
1
)
(公式
8
)
\sigma\left(x_k^{(\theta, i)}, x_{k-1}^{(\theta, i)}, \theta\right)=\frac{p\left(y_t \mid x_t^{(\theta, i)}, \theta\right) p\left(x_t^{(\theta, i)} \mid x_{t-1}^{(\theta, i)}, \theta\right)}{q\left(x_t^{(\theta, i)} \mid x_{t-1}^{(\theta, i)}, y_t\right)} .\\ \sigma\left(x_{1: 1}^{(\theta, i)}\right)=\frac{p\left(y_1 \mid x_1^{(\theta, i)}, \theta\right) p\left(x_1^{(\theta, i)} \mid \theta\right)}{q\left(x_1^{(\theta, i)} \mid y_1\right)}(公式8)
σ(xk(θ,i),xk−1(θ,i),θ)=q(xt(θ,i)∣xt−1(θ,i),yt)p(yt∣xt(θ,i),θ)p(xt(θ,i)∣xt−1(θ,i),θ).σ(x1:1(θ,i))=q(x1(θ,i)∣y1)p(y1∣x1(θ,i),θ)p(x1(θ,i)∣θ)(公式8)
关于后验的估计
关于后验
p
(
x
1
:
t
∣
y
1
:
t
,
θ
)
p (x_{1:t}|y_{1:t},\theta)
p(x1:t∣y1:t,θ)的估计我们可以计算如下:
∫
p
(
x
1
:
t
∣
y
1
:
t
,
θ
)
f
(
x
1
:
t
)
d
x
1
:
t
=
∫
p
(
y
1
:
t
,
x
1
:
t
∣
θ
)
p
(
y
1
:
t
∣
θ
)
f
(
x
1
:
t
)
d
x
1
:
t
.
(公式
10
)
\int p (x_{1:t}|y_{1:t}, \theta) f (x_{1:t}) dx_{1:t} =\int \frac {p (y_{1:t}, x_{1:t}|\theta)}{p (y_{1:t}|\theta)} f (x_{1:t}) dx_{1:t}.(公式10)
∫p(x1:t∣y1:t,θ)f(x1:t)dx1:t=∫p(y1:t∣θ)p(y1:t,x1:t∣θ)f(x1:t)dx1:t.(公式10)注意,如果
f
(
x
1
:
t
)
=
1
f (x_{1:t}) = 1
f(x1:t)=1时:
p
(
y
1
:
t
∣
θ
)
=
∫
p
(
y
1
:
t
,
x
1
:
t
∣
θ
)
d
x
1
:
t
≈
1
N
∑
i
=
1
N
w
1
:
t
(
θ
,
i
)
(公式
11
)
p(y_{1:t}|\theta) = \int p (y_{1:t}, x_{1:t}|\theta) dx_{1:t} ≈ \frac1{N} \sum_{i=1}^N w^{(θ,i)}_{1:t}(公式11)
p(y1:t∣θ)=∫p(y1:t,x1:t∣θ)dx1:t≈N1i=1∑Nw1:t(θ,i)(公式11)这样一来,公式6也可以写成:
∫
p
(
x
1
:
t
∣
y
1
:
t
,
θ
)
f
(
x
1
:
t
)
d
x
1
:
t
≈
1
1
N
∑
i
=
1
N
w
1
:
t
(
θ
,
i
)
f
(
x
1
:
t
(
θ
,
i
)
)
1
N
∑
i
=
1
N
w
1
:
t
(
θ
,
i
)
f
(
x
1
:
t
(
θ
,
i
)
)
=
∑
i
=
1
N
w
~
1
:
t
(
θ
,
i
)
f
(
x
1
:
t
(
θ
,
i
)
)
(公式
12
)
\begin{aligned} \int p\left(x_{1: t} \mid y_{1: t}, \theta\right) f\left(x_{1: t}\right) d x_{1: t} & \approx \frac{1}{\frac{1}{N} \sum_{i=1}^N w_{1: t}^{(\theta, i)} f\left(x_{1: t}^{(\theta, i)}\right)} \frac{1}{N} \sum_{i=1}^N w_{1: t}^{(\theta, i)} f\left(x_{1: t}^{(\theta, i)}\right) \\ &=\sum_{i=1}^N \tilde{w}_{1: t}^{(\theta, i)} f\left(x_{1: t}^{(\theta, i)}\right) \end{aligned} (公式12)
∫p(x1:t∣y1:t,θ)f(x1:t)dx1:t≈N1∑i=1Nw1:t(θ,i)f(x1:t(θ,i))1N1i=1∑Nw1:t(θ,i)f(x1:t(θ,i))=i=1∑Nw~1:t(θ,i)f(x1:t(θ,i))(公式12) 其中
w
~
1
:
t
(
θ
,
i
)
=
w
1
:
t
(
θ
,
i
)
∑
i
=
1
N
w
1
:
t
(
θ
,
i
)
(公式
13
)
\tilde{w}^{(θ,i)}_{1:t}=\frac{{w}^{(θ,i)}_{1:t}}{\sum_{i=1}^N w_{1: t}^{(\theta, i)}} (公式13)
w~1:t(θ,i)=∑i=1Nw1:t(θ,i)w1:t(θ,i)(公式13)
2.4重采样:
随着时间的推移,规范化的权重将变得越来越倾斜,这时就有人提出检测有效样本,而
N
e
f
f
N_{eff}
Neff就可以用来确定是否需要重新采样,
N
e
f
f
N_{eff}
Neff表达式为:
N
e
f
f
=
1
∑
i
=
1
N
(
w
~
1
:
t
(
θ
,
i
)
)
2
(公式
14
)
N_{eff}=\frac{1}{\sum_{i=1}^N(\tilde{w}^{(θ,i)}_{1:t})^2 } (公式14)
Neff=∑i=1N(w~1:t(θ,i))21(公式14)许多重采样方法随机复制具有较高权重的粒子,同时消除较低权重的粒子,多项重采样是常用的方法,它涉及到从当前粒子集中抽取与其权重成比例的N倍的粒子,为了保持总非归一化权重不变,我们给每个新重采样的样本分配了一个非归一化权重:
1
N
w
1
:
t
(
θ
,
i
)
(公式
15
)
\frac{1}{N}{w}^{(θ,i)}_{1:t}(公式15)
N1w1:t(θ,i)(公式15)
注意重采样后归一化权值为:
1
N
\frac{1}{N}
N1
三、梯度和可能性的计算
对权重进行微分可以得到近似于可能性梯度的结果:
d
d
θ
p
(
y
1
:
t
∣
θ
)
=
1
N
∑
i
=
1
N
d
d
θ
w
1
:
t
(
θ
,
i
)
(公式
16
)
\frac{d}{d\theta}p(y_{1:t}\mid \theta)=\frac {1}{N} \sum_{i=1}^N \frac {d}{d\theta} w^{(θ,i)}_{1:t} (公式16)
dθdp(y1:t∣θ)=N1i=1∑Ndθdw1:t(θ,i)(公式16)为了数值的稳定性,通常最好在对数中传播值。将链式法则应用于(公式11)和(公式16)得到:
d
d
θ
log
p
(
y
1
:
t
∣
θ
)
=
1
p
(
y
1
:
t
∣
θ
)
∑
i
=
1
N
w
1
:
t
(
θ
,
i
)
d
d
θ
log
w
1
:
t
(
θ
,
i
)
≈
∑
i
=
1
N
w
~
1
:
t
(
θ
,
i
)
d
d
θ
log
w
1
:
t
(
θ
,
i
)
(公式
17
)
\begin{aligned} \frac{d}{d \theta} \log p\left(y_{1: t} \mid \theta\right) &=\frac{1}{p\left(y_{1: t} \mid \theta\right)} \sum_{i=1}^N w_{1: t}^{(\theta, i)} \frac{d}{d \theta} \log w_{1: t}^{(\theta, i)} \\ & \approx \sum_{i=1}^N \tilde{w}_{1: t}^{(\theta, i)} \frac{d}{d \theta} \log w_{1: t}^{(\theta, i)} \end{aligned} (公式17)
dθdlogp(y1:t∣θ)=p(y1:t∣θ)1i=1∑Nw1:t(θ,i)dθdlogw1:t(θ,i)≈i=1∑Nw~1:t(θ,i)dθdlogw1:t(θ,i)(公式17)对数权值可以递归计算为:
l
o
g
w
1
:
t
(
θ
,
i
)
=
l
o
g
w
1
:
t
−
1
(
θ
,
i
)
+
l
o
g
σ
(
x
k
(
θ
,
i
)
,
x
t
−
1
(
θ
,
i
)
,
θ
)
(公式
18
)
log w^{(θ,i)} _{1:t}=logw^{(θ,i)}_{1:t−1}+log \text { σ }(x^{(θ,i)}_k , x^{(θ,i)}_{t-1},\theta)(公式18)
logw1:t(θ,i)=logw1:t−1(θ,i)+log σ (xk(θ,i),xt−1(θ,i),θ)(公式18)对公式18两边同时求微分可以得到
d
d
θ
l
o
g
w
1
:
t
(
θ
,
i
)
=
d
d
θ
l
o
g
w
1
:
t
−
1
(
θ
,
i
)
+
d
d
θ
l
o
g
σ
(
x
k
(
θ
,
i
)
,
x
t
−
1
(
θ
,
i
)
,
θ
)
(公式
18
)
\frac {d}{d\theta}log w^{(θ,i)} _{1:t}=\frac {d}{d\theta}logw^{(θ,i)}_{1:t−1}+\frac {d}{d\theta}log \text { σ }(x^{(θ,i)}_k , x^{(θ,i)}_{t-1},\theta)(公式18)
dθdlogw1:t(θ,i)=dθdlogw1:t−1(θ,i)+dθdlog σ (xk(θ,i),xt−1(θ,i),θ)(公式18)
其中
d
d
θ
l
o
g
σ
(
x
k
(
θ
,
i
)
,
x
t
−
1
(
θ
,
i
)
,
θ
)
=
d
d
θ
l
o
g
p
(
x
k
(
θ
,
i
)
,
x
t
−
1
(
θ
,
i
)
,
θ
)
+
d
d
θ
l
o
g
p
(
y
k
∣
x
t
−
1
(
θ
,
i
)
)
−
d
d
θ
l
o
g
q
(
x
k
(
θ
,
i
)
∣
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
)
(公式
19
)
\frac {d}{d\theta}log \text { σ }(x^{(θ,i)}_k , x^{(θ,i)}_{t-1},\theta)=\frac {d}{d\theta}log \text { p }(x^{(θ,i)}_k , x^{(θ,i)}_{t-1},\theta)+\frac {d}{d\theta}log \text { p }(y_k \mid x^{(θ,i)}_{t-1})-\frac {d}{d\theta}log \text { q }(x^{(θ,i)}_k \mid x^{(θ,i)}_{t-1},\theta,y_t)(公式19)
dθdlog σ (xk(θ,i),xt−1(θ,i),θ)=dθdlog p (xk(θ,i),xt−1(θ,i),θ)+dθdlog p (yk∣xt−1(θ,i))−dθdlog q (xk(θ,i)∣xt−1(θ,i),θ,yt)(公式19)如果我们能区分单一测量的可能性,转换模型和研究计划,我们可以近似计算下一个时间间隔的对数似然导数,从而递归逼近每个时间间隔的对数似然导数。
如果粒子滤波使用跃迁模型作为动力,权重更新中的可能性并不明确地依赖于
θ
θ
θ,我们最初可以假设
d
d
θ
l
o
g
σ
=
0
\frac {d } {dθ} logσ = 0
dθdlogσ=0,这样的话,使用(公式18)的归纳论证将表明权导数总是零,因此θ的似然梯度近似为零。但是这种推论是有问题的,因为有些可能性是依赖
θ
\theta
θ的,我们应用链式法则:
d
d
θ
l
o
g
p
(
y
t
∣
x
t
(
θ
,
i
)
)
=
d
d
x
l
o
g
p
(
y
t
∣
x
)
∣
x
=
x
t
(
θ
,
i
)
d
d
d
θ
x
t
(
θ
,
i
)
(公式
20
)
\frac {d}{dθ}log p (y_t|x^{(θ,i)}_t)=\frac{d}{dx}log p(y_t\mid x )\mid_{x=x_t^{(\theta,i)}d}\frac {d}{d\theta}x_t^{(\theta, i)}(公式20)
dθdlogp(yt∣xt(θ,i))=dxdlogp(yt∣x)∣x=xt(θ,i)ddθdxt(θ,i)(公式20)由于
x
t
(
θ
,
i
)
x^{(θ,i)} _t
xt(θ,i)是从建议中采样的随机变量,我们使用重参数化技巧——设
ϵ
t
(
i
)
\epsilon^{(i)}_t
ϵt(i)为从建议中采样时使用的标准N(0,1)随机变量的向量,如果
ϵ
t
(
i
)
\epsilon^{(i)}_t
ϵt(i)是已知的,那么
x
t
(
θ
,
i
)
x^{(θ,i)} _t
xt(θ,i)是
x
t
−
1
(
θ
,
i
)
x^{(θ,i)}_{t−1}
xt−1(θ,i)的一个可微分的确定性函数,于是我们认为
d
d
θ
p
(
y
1
:
t
∣
θ
)
=
d
d
θ
∫
p
(
y
1
:
t
,
ϵ
1
:
t
∣
θ
)
d
ϵ
1
:
t
=
∫
d
d
θ
p
(
y
1
:
t
,
ϵ
1
:
t
∣
θ
)
d
ϵ
1
:
t
≈
1
N
∑
i
=
1
N
d
d
θ
p
(
y
1
:
t
∣
ϵ
1
:
t
(
i
)
,
θ
)
(公式
21
)
\begin{aligned} \frac{d}{d \theta} p\left(y_{1: t} \mid \theta\right) &=\frac{d}{d \theta} \int p\left(y_{1: t}, \epsilon_{1: t} \mid \theta\right) d \epsilon_{1: t} \\ &=\int \frac{d}{d \theta} p\left(y_{1: t}, \epsilon_{1: t} \mid \theta\right) d \epsilon_{1: t} \\ & \approx \frac{1}{N} \sum_{i=1}^N \frac{d}{d \theta} p\left(y_{1: t} \mid \epsilon_{1: t}^{(i)}, \theta\right)(公式21 ) \end{aligned}
dθdp(y1:t∣θ)=dθd∫p(y1:t,ϵ1:t∣θ)dϵ1:t=∫dθdp(y1:t,ϵ1:t∣θ)dϵ1:t≈N1i=1∑Ndθdp(y1:t∣ϵ1:t(i),θ)(公式21)其中
ϵ
t
(
i
)
∼
p
(
ϵ
1
:
t
∣
θ
)
\epsilon^{(i)}_t \sim p (\epsilon_{1:t} \mid \theta)
ϵt(i)∼p(ϵ1:t∣θ)是固定的,并且公式21是可以计算出来的微分。
四、计算导数
为了传播粒子重量的导数,我们需要计算下面的式子:
粒子导数:
d
x
t
(
θ
,
i
)
d
θ
(公式
22
)
\frac {dx^{(θ,i)}_t}{d\theta} (公式22)
dθdxt(θ,i)(公式22)
概率密度函数的导数:
d
d
θ
l
o
g
q
(
x
t
(
θ
,
i
)
∣
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
)
(公式
23
)
\frac {d}{d\theta}log \text { q }(x^{(θ,i)}_t \mid x^{(θ,i)}_{t-1},\theta,y_t) (公式23)
dθdlog q (xt(θ,i)∣xt−1(θ,i),θ,yt)(公式23)
对数概率密度函数的导数:
d
d
θ
l
o
g
p
(
x
t
(
θ
,
i
)
∣
x
t
−
1
(
θ
,
i
)
,
θ
)
(公式
24
)
\frac {d}{d\theta}log \text { p }(x^{(θ,i)}_t \mid x^{(θ,i)}_{t-1},\theta) (公式24)
dθdlog p (xt(θ,i)∣xt−1(θ,i),θ)(公式24)
单测量似然对数概率密度函数的导数:
d
d
θ
l
o
g
p
(
y
t
∣
x
t
−
1
(
θ
,
i
)
)
(公式
25
)
\frac {d}{d\theta}log \text { p }(y_t \mid x^{(θ,i)}_{t-1}) (公式25)
dθdlog p (yt∣xt−1(θ,i))(公式25)
4.1粒子导数的计算
q
(
x
t
(
θ
,
i
)
∣
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
)
=
N
(
x
t
(
θ
,
i
)
;
μ
(
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
)
,
C
(
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
)
)
(公式
26
)
q\left(x_t^{(\theta, i)} \mid x_{t-1}^{(\theta, i)}, \theta, y_t\right)=\mathcal{N}\left(x_t^{(\theta, i)} ; \mu\left(x_{t-1}^{(\theta, i)}, \theta, y_t\right), C\left(x_{t-1}^{(\theta, i)}, \theta, y_t\right)\right)(公式26)
q(xt(θ,i)∣xt−1(θ,i),θ,yt)=N(xt(θ,i);μ(xt−1(θ,i),θ,yt),C(xt−1(θ,i),θ,yt))(公式26)其中
μ
(
⋅
)
和
C
(
⋅
)
μ(\cdot)和C(\cdot)
μ(⋅)和C(⋅)是旧粒子状态的函数,测量值和参数。如果我们提前对噪声进行抽样
ϵ
t
(
i
)
∼
N
(
⋅
;
0
,
I
n
X
)
\epsilon^{(i)}_t\sim\mathcal{N} (\cdot; 0, I_{n_X} )
ϵt(i)∼N(⋅;0,InX),那么新的粒子状态可以写成一个确定性函数:
x
k
(
θ
,
i
)
=
f
(
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
,
ϵ
t
i
)
≜
μ
(
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
)
+
C
(
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
)
×
ϵ
t
i
. (公式
27
)
x_k^{(\theta, i)}=f\left(x_{t-1}^{(\theta, i)}, \theta, y_t, \epsilon_t^i\right) \triangleq \mu\left(x_{t-1}^{(\theta, i)}, \theta, y_t\right)+\sqrt{C\left(x_{t-1}^{(\theta, i)}, \theta, y_t\right)} \times \epsilon_t^i \text {. }(公式27)
xk(θ,i)=f(xt−1(θ,i),θ,yt,ϵti)≜μ(xt−1(θ,i),θ,yt)+C(xt−1(θ,i),θ,yt)×ϵti. (公式27)计算的时候注意一点——
x
t
−
1
(
θ
,
i
)
x^{(θ,i)}_{ t−1}
xt−1(θ,i)本身是θ的函数。于是我们公式22计算公式为:
d
x
t
(
θ
,
i
)
d
θ
=
d
d
θ
f
(
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
,
ϵ
t
i
)
=
∂
f
∂
x
t
−
1
(
θ
,
i
)
d
x
t
−
1
(
θ
,
i
)
d
θ
+
∂
f
∂
θ
d
θ
d
θ
=
∂
f
∂
x
t
−
1
(
θ
,
i
)
d
x
t
−
1
(
θ
,
i
)
d
θ
+
∂
f
∂
θ
.
(公式
28
)
\begin{aligned} \frac{d x_t^{(\theta, i)}}{d \theta} &=\frac{d}{d \theta} f\left(x_{t-1}^{(\theta, i)}, \theta, y_t, \epsilon_t^i\right) \\ &=\frac{\partial f}{\partial x_{t-1}^{(\theta, i)}} \frac{d x_{t-1}^{(\theta, i)}}{d \theta}+\frac{\partial f}{\partial \theta} \frac{d \theta}{d \theta} \\ &=\frac{\partial f}{\partial x_{t-1}^{(\theta, i)}} \frac{d x_{t-1}^{(\theta, i)}}{d \theta}+\frac{\partial f}{\partial \theta} .(公式28) \end{aligned}
dθdxt(θ,i)=dθdf(xt−1(θ,i),θ,yt,ϵti)=∂xt−1(θ,i)∂fdθdxt−1(θ,i)+∂θ∂fdθdθ=∂xt−1(θ,i)∂fdθdxt−1(θ,i)+∂θ∂f.(公式28)
4.2概率密度函数的导数的计算:
为了跟对数概率密度函数的导数区分,可以写成:
l
o
g
q
(
x
t
(
θ
,
i
)
∣
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
)
=
Q
(
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
,
ϵ
(
i
)
t
)
(公式
29
)
log q(x^{(θ,i)}_t\mid x^{(θ,i)}_{t-1},\theta,y_t)=Q(x^{(θ,i)}_{t−1},\theta,y_t,\epsilon^(i)_t)(公式29)
logq(xt(θ,i)∣xt−1(θ,i),θ,yt)=Q(xt−1(θ,i),θ,yt,ϵ(i)t)(公式29)为了书写方便我们去掉固定值
y
t
、
ϵ
(
i
)
t
y_t、\epsilon^(i)_t
yt、ϵ(i)t
Q
(
x
t
−
1
(
θ
,
i
)
,
θ
)
≜
l
o
g
q
(
f
(
x
t
−
1
(
θ
,
i
)
,
θ
)
∣
x
t
−
1
(
θ
,
i
)
=
l
o
g
N
(
f
(
x
t
−
1
(
θ
,
i
)
,
θ
)
;
µ
(
x
t
−
1
(
θ
,
i
)
,
θ
)
,
C
(
x
t
−
1
(
θ
,
i
)
,
θ
)
)
(公式
30
)
Q(x^{(θ,i)}_{t−1},\theta)\triangleq log q(f(x^{(θ,i)}_{t−1} , θ)\mid x^{(θ,i)}_ {t−1}\\ =log\mathcal{N}(f(x^{(θ,i)}_{t−1}, \theta);µ(x^{(θ,i)}_{t−1}, \theta),C(x^{(θ,i)}_{t−1},θ))(公式30)
Q(xt−1(θ,i),θ)≜logq(f(xt−1(θ,i),θ)∣xt−1(θ,i)=logN(f(xt−1(θ,i),θ);µ(xt−1(θ,i),θ),C(xt−1(θ,i),θ))(公式30)我们假设它是满足高斯的,于是我们就有:
d
d
θ
Q
(
x
t
−
1
(
θ
,
i
)
,
θ
)
=
∂
∂
f
log
N
(
f
;
μ
,
C
)
(
d
f
d
θ
+
d
μ
d
θ
+
d
C
d
θ
)
=
∂
∂
f
log
N
(
f
;
μ
,
C
)
(
∂
f
∂
x
t
−
1
(
θ
,
i
)
d
x
t
−
1
(
θ
,
i
)
d
θ
+
∂
f
∂
θ
)
+
∂
∂
μ
log
N
(
f
;
μ
,
C
)
(
∂
μ
∂
x
t
−
1
(
θ
,
i
)
d
x
t
−
1
(
θ
,
i
)
d
θ
+
∂
μ
∂
θ
)
+
∂
∂
C
log
N
(
f
;
μ
,
C
)
(
∂
C
∂
x
t
−
1
(
θ
,
i
)
d
x
t
−
1
(
θ
,
i
)
d
θ
+
∂
C
∂
θ
)
.
(公式
31
)
\begin{aligned} \frac{d}{d \theta} Q\left(x_{t-1}^{(\theta, i)}, \theta\right)=& \frac{\partial}{\partial f} \log \mathcal{N}(f ; \mu, C)\left(\frac{d f}{d \theta}+\frac{d \mu}{d \theta}+\frac{d C}{d \theta}\right) \\ =& \frac{\partial}{\partial f} \log \mathcal{N}(f ; \mu, C)\left(\frac{\partial f}{\partial x_{t-1}^{(\theta, i)}} \frac{d x_{t-1}^{(\theta, i)}}{d \theta}+\frac{\partial f}{\partial \theta}\right)+\\ & \frac{\partial}{\partial \mu} \log \mathcal{N}(f ; \mu, C)\left(\frac{\partial \mu}{\partial x_{t-1}^{(\theta, i)}} \frac{d x_{t-1}^{(\theta, i)}}{d \theta}+\frac{\partial \mu}{\partial \theta}\right)+\\ & \frac{\partial}{\partial C} \log \mathcal{N}(f ; \mu, C)\left(\frac{\partial C}{\partial x_{t-1}^{(\theta, i)}} \frac{d x_{t-1}^{(\theta, i)}}{d \theta}+\frac{\partial C}{\partial \theta}\right) .(公式31) \end{aligned}
dθdQ(xt−1(θ,i),θ)==∂f∂logN(f;μ,C)(dθdf+dθdμ+dθdC)∂f∂logN(f;μ,C)(∂xt−1(θ,i)∂fdθdxt−1(θ,i)+∂θ∂f)+∂μ∂logN(f;μ,C)(∂xt−1(θ,i)∂μdθdxt−1(θ,i)+∂θ∂μ)+∂C∂logN(f;μ,C)(∂xt−1(θ,i)∂Cdθdxt−1(θ,i)+∂θ∂C).(公式31)
4.3对数概率密度函数的导数的计算
首先我们令:
P
(
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
,
ϵ
t
i
)
≜
log
p
(
f
(
x
t
−
1
(
θ
,
i
)
,
θ
,
y
t
,
ϵ
t
i
)
∣
x
t
−
1
(
θ
,
i
)
,
θ
)
=
log
N
(
f
(
x
t
−
1
(
θ
,
i
)
)
;
a
(
x
t
−
1
(
θ
,
i
)
,
θ
)
,
Σ
(
θ
)
)
(公式
32
)
\begin{aligned} P\left(x_{t-1}^{(\theta, i)}, \theta, y_t, \epsilon_t^i\right) & \triangleq \log p\left(f\left(x_{t-1}^{(\theta, i)}, \theta, y_t, \epsilon_t^i\right) \mid x_{t-1}^{(\theta, i)}, \theta\right) \\ &=\log \mathcal{N}\left(f\left(x_{t-1}^{(\theta, i)}\right) ; a\left(x_{t-1}^{(\theta, i)}, \theta\right), \Sigma(\theta)\right) (公式32 ) \end{aligned}
P(xt−1(θ,i),θ,yt,ϵti)≜logp(f(xt−1(θ,i),θ,yt,ϵti)∣xt−1(θ,i),θ)=logN(f(xt−1(θ,i));a(xt−1(θ,i),θ),Σ(θ))(公式32)我们假设过渡模型具有加强高斯噪声,它与x^{(θ,i)}_{t−1}无关。然后我们就得到
d
d
θ
P
(
x
t
−
1
(
θ
,
i
)
,
θ
)
=
∂
∂
f
log
N
(
f
;
a
,
Σ
)
(
∂
f
∂
x
t
−
1
(
θ
,
i
)
d
x
t
−
1
(
θ
,
i
)
d
θ
+
∂
f
∂
θ
)
+
∂
∂
a
log
N
(
f
;
a
,
Σ
)
(
∂
a
∂
x
t
−
1
(
θ
,
i
)
d
x
t
−
1
(
θ
,
i
)
d
θ
+
∂
a
∂
θ
)
+
∂
∂
Σ
log
N
(
f
;
a
,
Σ
)
(
∂
Σ
∂
θ
)
(公式
33
)
\begin{aligned} \frac{d}{d \theta} P\left(x_{t-1}^{(\theta, i)}, \theta\right)=& \frac{\partial}{\partial f} \log \mathcal{N}(f ; a, \Sigma)\left(\frac{\partial f}{\partial x_{t-1}^{(\theta, i)}} \frac{d x_{t-1}^{(\theta, i)}}{d \theta}+\frac{\partial f}{\partial \theta}\right)+\\ & \frac{\partial}{\partial a} \log \mathcal{N}(f ; a, \Sigma)\left(\frac{\partial a}{\partial x_{t-1}^{(\theta, i)}} \frac{d x_{t-1}^{(\theta, i)}}{d \theta}+\frac{\partial a}{\partial \theta}\right)+\\ & \frac{\partial}{\partial \Sigma} \log \mathcal{N}(f ; a, \Sigma)\left(\frac{\partial \Sigma}{\partial \theta}\right) (公式33) \end{aligned}
dθdP(xt−1(θ,i),θ)=∂f∂logN(f;a,Σ)(∂xt−1(θ,i)∂fdθdxt−1(θ,i)+∂θ∂f)+∂a∂logN(f;a,Σ)(∂xt−1(θ,i)∂adθdxt−1(θ,i)+∂θ∂a)+∂Σ∂logN(f;a,Σ)(∂θ∂Σ)(公式33)其中
a
=
a
(
x
t
−
1
(
θ
,
i
)
,
θ
)
、
Σ
=
Σ
(
θ
)
a = a(x^{(θ,i)}_{t−1} , θ)、\Sigma=\Sigma(\theta)
a=a(xt−1(θ,i),θ)、Σ=Σ(θ)。
4.4单测量似然对数概率密度函数的导数的计算
首先令
L
(
x
t
(
θ
,
i
)
,
θ
,
y
t
)
≜
log
p
(
y
t
∣
x
t
(
θ
,
i
)
,
θ
)
=
log
N
(
y
t
;
h
(
x
t
(
θ
,
i
)
,
θ
)
,
R
(
θ
)
)
(公式
34
)
\begin{aligned} L\left(x_t^{(\theta, i)}, \theta, y_t\right) & \triangleq \log p\left(y_t \mid x_t^{(\theta, i)}, \theta\right) \\ &=\log \mathcal{N}\left(y_t ; h\left(x_t^{(\theta, i)}, \theta\right), R(\theta)\right) (公式34) \end{aligned}
L(xt(θ,i),θ,yt)≜logp(yt∣xt(θ,i),θ)=logN(yt;h(xt(θ,i),θ),R(θ))(公式34)假设概率是高斯分布,方差独立于
x
t
(
θ
,
i
)
x^{(\theta,i)}_t
xt(θ,i),于是我们有
d
d
θ
L
(
x
t
(
θ
,
i
)
,
θ
,
y
t
)
=
∂
∂
h
log
N
(
y
k
;
h
,
R
)
(
∂
h
∂
x
t
(
θ
,
i
)
d
x
t
(
θ
,
i
)
d
θ
+
∂
h
∂
θ
)
+
∂
∂
R
log
N
(
y
t
;
h
,
R
)
d
R
d
θ
.
(公式
35
)
\begin{aligned} \frac{d}{d \theta} & L\left(x_t^{(\theta, i)}, \theta, y_t\right) =\frac{\partial}{\partial h} \log \mathcal{N}\left(y_k ; h, R\right)\left(\frac{\partial h}{\partial x_t^{(\theta, i)}} \frac{d x_t^{(\theta, i)}}{d \theta}+\frac{\partial h}{\partial \theta}\right)+\frac{\partial}{\partial R} \log \mathcal{N}\left(y_t ; h, R\right) \frac{d R}{d \theta} .(公式35) \end{aligned}
dθdL(xt(θ,i),θ,yt)=∂h∂logN(yk;h,R)(∂xt(θ,i)∂hdθdxt(θ,i)+∂θ∂h)+∂R∂logN(yt;h,R)dθdR.(公式35)其中
h
=
h
(
x
t
(
θ
,
i
)
,
θ
)
、
R
=
R
(
θ
)
h=h(x^{(θ,i)}_t , θ)、R=R(\theta)
h=h(xt(θ,i),θ)、R=R(θ)。
总结
概述了在粒子滤波器中执行重采样步骤时如何扩展重新参数化技巧以使用公共随机数。这限制了计算HMC和NUTS中用于p-MCMC中提出新参数的梯度时遇到的不连续问题,如简介所说,机器学习领域最近引入了不同的可微重采样方法。在使用NUTS进行参数估计的背景下比较这些方法将是未来工作的另一个有趣的方向(总结还没有完善,后续继续写)。