机器学习基础(二)近似推断

引言

从给定的数据中去求解所产生数据的模型是机器学习的中心任务之一,但通常会有一些复杂的模型,总是阻碍我们精确的对它进行描述,或无法准确得出模型的方程,或无法对某几个方程求解,亦或是求解方程的代价太大以至于无法实现。于是,便有了一个用简单的模型去接近、模拟、近似复杂的模型,从而能够进行求解得到最终的近似模型,有能力已有的数据进行描述,这就是近似的方法。本文回顾机器学习中的基础的近似方法————变分推断(Variational Inference),这需要一定的关于概率的基础知识,如果有需要可以参考前一篇文章 机器学习基础(一)概率论

变分推断

变分的方法主要起源于 18 世纪欧拉、拉格朗日(两位神一般的存在)的研究。变分推断所解决的问题是,用一个分布 \(q(x)\) 去近似另一个复杂的分布 \(p(x)\),通常来说 \(p(x)\) 是一个后验分布,记作 \(p(x|D)\),其中 \(D\) 表示给定的、已知的、观测到的数据。于是,上述问题可以被描述成 \[\begin{equation} q^{*}(x) = \arg\min_{q \in Q} \mathcal{L} (q(x), p(x|D)) \label{eqmin} \end{equation} \] \(\mathcal{L}\) 是一个衡量 \(q(x)\)\(p(x|D)\) 两个分布之间的距离的函数。

证据下界 ELBO

在变分推断中,\(\eqref{eqmin}\) 中的 \(\mathcal{L}\) 函数可以使用 KL 散度(Kullback–Leibler Divergence),也有其他的如 Wasserstein 距离(Wasserstein Distance)等等。例如我们使用 KL 散度,代入 \(\eqref{eqmin}\),则可以得到 \[\begin{equation} q^{*}(x) = \arg\min_{q \in Q} KL(q(x)||p(x|D)) \end{equation} \] 代入 KL 散度的公式可以得到 \[\begin{equation} \begin{split} q^{*}(x) &= \arg\min_{q \in Q} KL(q(x)||p(x|D)) \\ &= \arg\min_{q \in Q} \int_x q(x) \log \frac{q(x)}{p(x|D)} \ dx \\ &= \arg\min_{q \in Q} \left[\int_x q(x) \log q(x) \ dx - \int_x q(x) \log p(x|D) \ dx \right ] \\ &= \arg\min_{q \in Q} \left\{\mathbb{E}_{q(x)}\left[\log q(x) \right] - \mathbb{E}_{q(x)}\left[\log p(x|D) \right] \right\} \\ &= \arg\min_{q \in Q} \left\{\mathbb{E}_{q(x)}\left[\log q(x) \right] - \mathbb{E}_{q(x)}\left[\log p(x, D) \right] + \mathbb{E}_{q(x)}\left[\log p(D) \right] \right\} \\ &= \arg\min_{q \in Q} \left\{\mathbb{E}_{q(x)}\left[\log q(x) \right] - \mathbb{E}_{q(x)}\left[\log p(x, D) \right] + \log p(D) \right\} \end{split} \label{eqelbo} \end{equation} \] \(\eqref{eqelbo}\) 最后一行的最后一项是因为 \(\log p(D)\) 与期望的对象 \(q(x)\) 无关,是一个常数,因此可以去掉期望符号。而最后一行的前两项取一个负号就定义为 证据下界 (Evidence Lower Bound) 简称 ELBO,记作 \(-ELBO\) \[ELBO = \mathbb{E}_{q(x)}\left[\log p(x, D) \right] - \mathbb{E}_{q(x)}\left[\log q(x) \right] \] 于是最小化 KL 散度,等价于最大化证据下界 ELBO。

其实通过观察 \(\eqref{eqmin}\) 可以发现 KL 散度等于负的 ELBO 加上一个常数,写作 \[KL(q(x)||p(x|D)) = \underbrace{\mathbb{E}_{q(x)}\left[\log q(x) \right] - \mathbb{E}_{q(x)}\left[\log p(x, D) \right]}_{-ELBO} + \log p(D) \] 左右移项 \[\log p(D) = KL(q(x)||p(x|D)) + ELBO \] 因为 \(\log p(D)\) 为常数,\(KL(q(x)||p(x|D)) \geq 0\),于是 \[\log p(D) \geq ELBO \] 这也是为什么 ELBO 被称之为证据下界的原因。

正在写...

请我喝杯咖啡吧。