# 混合高斯分布

不管 σ,μ\sigma, \mu 如何变化,使用高斯分布都是单峰的,因此在概率的估计上具有局限性。一种最简单的想法就是使用混合高斯分布,即多个高斯分布的求和:

p(x)=k=1KπkN(xμk,Σk).p(x) = \sum_{k=1}^K \pi_k \mathcal{N}(x|\mu_k, \Sigma_k).

其对数似然分布为

logp(Dπ,μ,Σ)=n=1Nlog(k=1KπkN(xnμk,Σk)).\log p(\mathcal{D}|\pi, \mu, \Sigma) = \sum_{n=1}^N \log \left( \sum_{k=1}^K \pi_k \mathcal{N}(x_n|\mu_k, \Sigma_k) \right).

这里的困难在于,log\log 内出现了求和。这样的模型变得复杂难以优化(至少没有闭式解),但带来的好处是模型的表达能力提升,这是一个 trade-off.

# 隐变量模型

隐变量模型 的想法是,在模型构建中存在某变量 zz, 但是在数据中不显著表现出来。例如,对身高数据进行拟合,假设身高数据是双峰的,其双峰的原因是性别差异。但在数据收集中,只收集了身高分布,也只关注身高数据。那么,性别就是一个隐变量,它对身高分布有影响,但数据中并没有性别这个变量。

用数学符号来表示,就是拟合一个

pθ(x)=pθ(xz)p(z)dz.p_{\theta}(x) = \int p_{\theta}(x|z) p(z) \mathrm{d} z.

这里使用积分将隐变量消去。

# 变分推断

logp(x)=logp(xz)p(z)dz=logp(x,z)qϕ(z)qϕ(zx)dz=logEqϕ(zx)[p(x,z)qϕ(zx)]Eqϕ(zx)[logp(x,z)qϕ(zx)]=ELBO(θ,q).\begin{aligned} \log p(x) & = \log \int p(x|z) p(z) \mathrm{d} z \\ & = \log \int\frac{p(x, z)q_\phi(z)}{q_\phi(z|x)} \mathrm{d} z \\ & = \log \mathbb{E}_{q_\phi(z|x)}\left[\frac{p(x, z)}{q_\phi(z|x)}\right] \\ & \geq \mathbb{E}_{q_\phi(z|x)}\left[\log \frac{p(x, z)}{q_\phi(z|x)}\right] \\ & = \text{ELBO}(\theta, q). \end{aligned}

这就是变分推断的证据下界 (Evidence Lower Bound, ELBO).