深度学习-推荐系统-CV-NLP大数据,机器学习,人工智能机器学习与数据挖掘

为什么贝叶斯统计中后验分布(posterior distorti

2019-09-25  本文已影响0人  WilliamY

参考:
StackExchange
Variational Inference: A Review for Statisticians

这个问题是变分推断(variational inference)的一个基础问题。很奇怪的是,我没有在中文社区发现这个问题的详细解释。下面通过一个例子,来解释这个问题。

问题描述

符号定义\textbf{x}=x_{1:n}表示观察变量,\textbf{z}=z_{1:m}表示隐变量,它们的联合概率密度为p(\textbf{x}, \textbf{z})
目标:求解条件概率p(\textbf{z}|\textbf{x})。在贝叶斯框架下,这一过程叫做推断,而p(\textbf{z}|\textbf{x})叫做后验概率。
后验概率密度
p(\textbf{z}|\textbf{x})=\frac{p(\textbf{z}, \textbf{x})}{p(\textbf{x})}=\frac{p(\textbf{z}, \textbf{x})}{\int p(\textbf{z}, \textbf{x})d\textbf{z}}
其中p(\textbf{x})被称为“证据”(evidence)
下面的例子用来说明,证据的积分形式通常没有闭式解

例子:混合高斯模型的后验概率估计

设有K个混合分支,分支的均值集合为\mathbf{\mu}=\{\mu_1,...,\mu_K\},这些均值服从高斯分布\mathcal{N}(0,\sigma^2),其中参数\sigma^2表示方差。采样K次得到\mathbf{\mu}
每个观察数据x_i的产生过程如下:从类别{1,...,K}中选出一个分支,记为c_i,其数学形式为one-hot(一个长为K的向量,其中一位是1,其余位是0)。从(另一个)高斯分布\mathcal{N}({c_i}^T\mu,1)采样,得到x_i。连续采样n次。
即:
\mu_k \sim \mathcal{N}(0,\sigma^2),其中k=1,...,K
c_i \sim Categorical(\frac{1}{K},...,\frac{1}{K}),其中i=1,...,n
x_i|c_i,\mu \sim \mathcal{N}({c_i}^T\mu,1),其中i=1,...,n
联合概率密度为:
p(\mathbf{\mu},\textbf{c},\textbf{x})=p(\mathbf{\mu})\prod_{i=1}^{n}p(c_i)p(x_i|c_i,\mathbf{\mu})
隐变量\mathbf{z}=\{\mathbf{\mu},\mathbf{c}\}
证据为:
p(\textbf{x})=\int p(\mathbf{\mu})\prod_{i=1}^{n}\sum_{c_i}p(c_i)p(x_i|c_i,\mathbf{\mu})d\mu
=\int p(\mu_1,...\mu_K)\prod_{i=1}^{n}\sum_{c_i}p(c_i)p(x_i|c_i,\mu_1,...\mu_K)d\mu_1d\mu_2...d\mu_K
上式中,每一个\mu_k都无法从连乘项里分离出来,所以计算该积分的复杂度为\mathcal{O}(K^n),为K的指数级别的复杂度。所以一般没有闭式解(intractable)。
(想象某个场景,在10个混合分支中,采样100个点,计算该积分的复杂度高达10^{100}!)

ELBO(证据下界)

对目标p(\mathbf{z}|\mathbf{x})求解,一味蛮干是行不通的。通行的做法有两种,要么通过蒙特卡洛法近似,要么通过变分推断近似。这里介绍后一种。
我们利用容易处理的“代理人”函数q(\mathbf{z})近似p(\mathbf{z}|\mathbf{x})
q^*(z)=armin_{q(z)\in \mathcal{Q}} KL[q(z)||p(\mathcal{z}|\mathcal{x})]
其中KL表示相对熵,由定义,
KL[q(z)||p(\mathcal{z}|\mathcal{x})]=\mathbb{E}[\log q(\mathcal{z})]-\mathbb{E}[\log p(\mathcal{z}|\mathcal{x})]=\mathbb{E}[\log q(\mathcal{z})]-\mathbb{E}[\log p(\mathcal{z},\mathcal{x})]+\log p(\mathcal{x})
由此可见,
\mathbb{E}[\log p(\mathcal{z},\mathcal{x})]-\mathbb{E}[\log q(\mathcal{z})]=\log p(\mathcal{x})-KL[q(z)||p(\mathcal{z}|\mathcal{x})] \leq \log p(\mathcal{x})
定义
ELBO(q) =\mathbb{E}[\log p(\mathcal{z},\mathcal{x})]-\mathbb{E}[\log q(\mathcal{z})]
最大化ELBO就是最小化KL[q(z)||p(\mathcal{z}|\mathcal{x})],成功避开计算p(\mathcal{z}|\mathcal{x})

上一篇下一篇

猜你喜欢

热点阅读