基于近似計(jì)算解決推斷問題——變分推斷(一)

利用近似計(jì)算來解決難計(jì)算的概率密度估計(jì),是現(xiàn)代統(tǒng)計(jì)學(xué)中的一個(gè)慣用手段。這一方法在貝葉斯推斷統(tǒng)計(jì)中尤為重要,以為貝葉斯統(tǒng)計(jì)將所有關(guān)于未知量的推斷都構(gòu)建為涉及后驗(yàn)概率的計(jì)算。而我們今天要分享的內(nèi)容,就是一個(gè)經(jīng)典的近似推斷方法,其名為變分推斷(variational inference,VI)。

本文主要參考的文獻(xiàn)為David M.Blei 2018發(fā)表的論文 Variational Inference: A Review for Statisticians 。該論文是關(guān)于變分推斷的綜述性論文,主要回顧了變分推斷的主要思想:先假定一個(gè)分布族,并基于 KL 散度(Kullback-Leibler divergence)為指標(biāo),找到其中最接近目標(biāo)的分布;論文還回顧了基于平均場的變分推斷思想(mean-field variational),基于指數(shù)族分布(exponential family models)的特殊情況,以及列舉了高斯貝葉斯混合(Bayesian mixture of Gaussians)的例子。

下面,讓我們對(duì)這篇論文的內(nèi)容逐一進(jìn)行解剖。

我們要解決什么問題?

明確我們的目標(biāo)是什么,才能更好地解決問題。因此,為了更好地描述變分推斷,我們首先需要先明確,我們的問題是什么?

思考這樣一個(gè)問題,假設(shè)我們現(xiàn)在有隱變量 \boldsymbol z=z_{1:m} 和觀測變量 \boldsymbol x=x_{1:n} ,思考它們的聯(lián)合分布
p(\boldsymbol z,\boldsymbol x)=p(\boldsymbol z)p(\boldsymbol x|\boldsymbol z)
在貝葉斯模型中,隱變量有助于控制數(shù)據(jù)分布,貝葉斯模型首先從隱變量 \boldsymbol z 中獲得其先驗(yàn)分布 p(\boldsymbol z) ,并利用似然 p(\boldsymbol x|\boldsymbol z) 來獲得觀測數(shù)據(jù) \boldsymbol x 。而貝葉斯推斷的任務(wù)則是對(duì)觀測數(shù)據(jù)進(jìn)行控制,從而計(jì)算后驗(yàn) p(\boldsymbol z|\boldsymbol x) 。

而這一的推斷有時(shí)是難以計(jì)算的,所以就需要用到近似推斷。接下來要講的近似推斷方法主要是馬爾科夫鏈馬爾可夫(Markov chain Monte Carlo,MCMC)和變分推斷。

基于 MCMC 的近似推斷

馬爾科夫鏈馬爾可夫(MCMC)是近似推斷的經(jīng)典方法,是現(xiàn)代貝葉斯統(tǒng)計(jì)不可或缺的工具。

MCMC 的主要步驟如下:

  1. 構(gòu)建一個(gè)關(guān)于 \boldsymbol z 的遍歷馬爾可夫鏈,其后驗(yàn)為 p(\boldsymbol z|\boldsymbol x)
  2. 從馬爾科夫鏈中采樣,以獲得穩(wěn)定分布的數(shù)據(jù)樣本;
  3. 基于收集到的樣本,構(gòu)建經(jīng)驗(yàn)估計(jì)(empirical estimate)來近似后驗(yàn)。

隨著采樣數(shù)據(jù)容量的增大, MCMC 模型的精度將會(huì)提高,所以在采樣數(shù)據(jù)合適的情況下, MCMC 采樣能夠提供較高的精度。但其弊端也很明顯,由于需要進(jìn)行采樣, MCMC 的計(jì)算速度成為其瓶頸。

主要文獻(xiàn):

MCMC sampling has evolved into an indispensable tool to the modern Bayesian statistician. Landmark developments include the Metropolis-Hastings algorithm (Metropolis et al., 1953; Hastings, 1970), the Gibbs sampler (Geman and Geman, 1984) and its application to Bayesian statistics (Gelfand and Smith, 1990). MCMC algorithms are under active investigation. They have been widely studied, extended, and applied; see Robert and Casella (2004) for a perspective.

基于 VI 的近似推斷

所以,既然 MCMC 有這樣的問題,有沒有什么辦法可以解決這一問題呢?

變分推斷(VI)為解決這一問題,提供了思路。 VI 的主要思想是基于 KL 散度,利用一個(gè)分布 q(\boldsymbol z) 去近似后驗(yàn) q(\boldsymbol z|\boldsymbol x) ,將近似推斷問題轉(zhuǎn)換為優(yōu)化問題,一定程度上能夠提高算法的性能。主要步驟是:

  1. 假定一個(gè)近似分布族 \scr Q ,作為隱變量分布的候選集;

  2. 從分布族中選擇合適的分布,最小化 KL 散度;
    q^*(\boldsymbol z)=\arg\min_{q(\boldsymbol z)\in\scr Q}KL(q(\boldsymbol z)\|p(\boldsymbol z|\boldsymbol x))\tag{1}

  3. 通過最優(yōu)的分布 q^*(\boldsymbol z) 來近似后驗(yàn)。

變分推斷將推斷問題轉(zhuǎn)換為優(yōu)化問題,而優(yōu)化問題的計(jì)算復(fù)雜性取決于我們選擇的分布族 \mathscr Q 。因此,解決變分推斷問題的一個(gè)重點(diǎn)是選擇一個(gè)既能靈活近似 p(\boldsymbol z|\boldsymbol x) 、又易于優(yōu)化的近似分布族。

VI 與 MCMC 的比較

VI 與 MCMC 基于不同的思想解決推斷問題。 MCMC 基于馬爾科夫鏈采樣來近似后驗(yàn),而 VI 則是基于 KL 散度將問題轉(zhuǎn)化為優(yōu)化問題來近似后驗(yàn)。這兩種方法各有優(yōu)劣:

  • MCMC 相比于 VI 需要更多的計(jì)算,但隨著采樣次數(shù)增加, MCMC 能為精度提供保證。
  • VI 無法提供精度的保證,但速度快于 MCMC ,且 VI 解決的是優(yōu)化問題,所以能夠發(fā)揮隨即優(yōu)化算法和分布式優(yōu)化的優(yōu)勢(shì)

所以, VI 更使用于大規(guī)模數(shù)據(jù)、需要快速訓(xùn)練模型的場景, MCMC 使用于小規(guī)模數(shù)據(jù)、但我們需要用計(jì)算代價(jià)換取精度的情況。

除了數(shù)據(jù)集規(guī)模,另一個(gè)值得思考的因素是后驗(yàn)分布的幾何特性。如,當(dāng)后驗(yàn)為多種模式的混合模型,每個(gè)對(duì)應(yīng)的標(biāo)簽排列的組件。對(duì)于 Gibbs sampling 來說,它能專注于目標(biāo)的一個(gè)模型,但在應(yīng)對(duì)混合模型時(shí),就顯得力不從心了,而 VI 在混合模型的表現(xiàn)明顯比 MCMC 好得多。

變分推斷的相關(guān)研究:

The development of variational techniques for Bayesian inference followed two parallel, yet separate, tracks. Peterson and Anderson (1987) is arguably the first variational procedure for a particular model: a neural network. This paper, along with insights from statistical mechanics (Parisi, 1988), led to a flurry of variational inference procedures for a wide class of models (Saul et al., 1996; Jaakkola and Jordan, 1996, 1997; Ghahramani and Jordan, 1997; Jordan et al., 1999). In parallel, Hinton and Van Camp (1993) proposed a variational algorithm for a similar neural network model. Neal and Hinton (1999) (first published in 1993) made important connections to the expectation maximization (EM) algorithm (Dempster et al., 1977), which then led to a variety of variational inference algorithms for other types of models (Waterhouse et al., 1996; MacKay, 1997).

變分推斷(VI)具體怎么做?

變分推斷(VI)的主要目標(biāo)是近似給定觀測數(shù)據(jù)時(shí),隱變量的條件分布 p(\boldsymbol z|\boldsymbol x) ,主要做法時(shí)基于 KL 散度找到一個(gè)近似的分布 q(\boldsymbol z) 。

近似推斷問題

回顧近似推斷問題

回顧一下前面近似對(duì)端的問題,假設(shè)又觀測變量集 \boldsymbol x=x_{1:n} 和隱變量集合 \boldsymbol z=z_{1:m} ,它們的聯(lián)合分布為 p(\boldsymbol z,\boldsymbol x) 。

推斷問題的主要任務(wù)時(shí)計(jì)算給定觀測數(shù)據(jù)時(shí),隱變量的條件分布 p(\boldsymbol z|\boldsymbol x) ,這個(gè)條件分布可以用來產(chǎn)生潛在變量的點(diǎn)或區(qū)間估計(jì),形成新數(shù)據(jù)的預(yù)測密度,等等。

我們可以將條件分布寫作
p(\boldsymbol z|\boldsymbol x)=\frac{p(\boldsymbol z,\boldsymbol x)}{p(\boldsymbol x)}\tag{2}
這一公式的分母為觀測數(shù)據(jù) \boldsymbol x 的邊緣分布,通稱為證據(jù)(evidence),可以由邊緣化隱變量 \boldsymbol z 來獲得
p(\boldsymbol x)=\int p(\boldsymbol z,\boldsymbol x)d\boldsymbol z\tag{3}
對(duì)于大多數(shù)模型,這個(gè)證據(jù)積分是不可用的封閉形式或需要指數(shù)時(shí)間來計(jì)算。

注意,我們將所有未知的興趣量都表示為潛在隨機(jī)變量,其中包括可能控制所有數(shù)據(jù)的參數(shù),如在貝葉斯模型中發(fā)現(xiàn)的(global variable),以及對(duì)單個(gè)數(shù)據(jù)點(diǎn)“局部”的潛在變量(lacal variable)。

高斯貝葉斯混合模型(Bayesian mixture of Gaussians)

思考關(guān)于單位方差單變量高斯的貝葉斯混合(Bayesian mixture of unit-variance univariate Gaussians)

現(xiàn)有 K 個(gè)混合組件,對(duì)應(yīng) K 個(gè)均值為 \boldsymbol \mu=\{\mu_1,\dots,\mu_K\} 的高斯分布。均值參數(shù)由公共分布 p(\mu_k 獨(dú)立采樣得到,公共分布為高斯分布 \mathcal N(0,\sigma^2) ,其中 \sigma^2 為超參數(shù)。(全局參數(shù))

為了由模型生成觀測數(shù)據(jù) x_i ,我們首先選擇一個(gè)聚類分配 c_i ,它表示 x_i 的隱聚類來自 \{1,\dots,K\} 的哪個(gè)分類分布。( c_i 是一個(gè) K 維向量,除了 x_i 所屬的聚類為 1 ,其他值均為 0)所以我們由高斯分布 \mathcal N(c_i^T\boldsymbol\mu,\boldsymbol 1) 獲得數(shù)據(jù) x_i。(局部參數(shù))

完整的層次模型可以表示為
\begin{aligned} \mu_k&\sim\mathcal N(0,\sigma^2),&k=1,\dots,K\\ c_i&\sim Categorical(\frac1K,\dots,\frac1K),&i=1,\dots,n\\ x_i|c_i,\boldsymbol\mu&\sim\mathcal N(c_i^T\boldsymbol\mu,\boldsymbol1),&i=1,\dots,n \end{aligned}
當(dāng)樣本量為 n ,隱變量和觀測變量的聯(lián)合分布為
p(\boldsymbol\mu,\boldsymbol c,\boldsymbol x)=p(\boldsymbol\mu)\prod^n_{i=1}p(c_i)p(x_i|c_i,\boldsymbol\mu)\tag{7}
隱變量為 \boldsymbol z=\{\boldsymbol\mu,\boldsymbol c\} ,包含 K 個(gè)類均值和 n 個(gè)配分參數(shù)。

證據(jù)可以化為聯(lián)合分布的積分的形式
p(\boldsymbol x)=\int p(\boldsymbol\mu)\prod^n_{i=1}\sum_{c_i}p(c_i)p(x_i|c_i,\boldsymbol\mu)d\boldsymbol\mu\tag{8}
公式(8)中的積分函數(shù)并不包含每個(gè) \mu_k 的單獨(dú)因子。而事實(shí)上,每個(gè) \mu_k 出現(xiàn)在積分中的所有 n 個(gè)因子。因此,公式(8)中的積分不化簡為一維積分在 \mu_k's 上的連乘。數(shù)值計(jì)算 k 維積分的時(shí)間復(fù)雜度為 \mathscr O(K^n) 。

如果我們?cè)诠剑?)中,將連乘因子除以加和因子,可以將證據(jù)轉(zhuǎn)換為在所有聚類配分 \boldsymbol c 的加和
p(\boldsymbol x)=\sum_{\boldsymbol c}p(\boldsymbol c)\int p(\boldsymbol\mu)\prod^n_{i=1}p(x_i|c_i,\boldsymbol \mu)d\boldsymbol\mu\tag{9}
以為高斯后驗(yàn)和高斯似然的共軛性,這里的每個(gè)獨(dú)立積分都是可計(jì)算的。但由于積分的數(shù)量為 K^n 個(gè),每個(gè)對(duì)應(yīng)于每個(gè)聚類配分的一個(gè)配置。所以其計(jì)算量于 K 而言是指數(shù)級(jí)的

證據(jù)下界(ELBO)

在變分推斷中,我們選取了一個(gè)分布組 \scr {Q} 作為隱變量分布的候選集,我們的目標(biāo)是找到最優(yōu)的候選集,使得和目標(biāo)分布的 KL 散度最小,從而將問題轉(zhuǎn)換為最優(yōu)化問題
q^*(\boldsymbol z)=\arg\min_{q(\boldsymbol z)\in\mathscr {Q}}KL(q(\boldsymbol z)\|p(\boldsymbol z|\boldsymbol x))\tag{10}
看起來好像把問題變簡單了,但仔細(xì)一看,你會(huì)發(fā)現(xiàn),問題好像還是沒有得到解決——這個(gè)目標(biāo)函數(shù)是難以計(jì)算的,因?yàn)檫@個(gè)目標(biāo)函數(shù)的計(jì)算要求計(jì)算公式(3)中證據(jù)的對(duì)數(shù) \log p(\boldsymbol x)

讓我們回顧一下 KL 散度
KL(q(\boldsymbol z)\|p(\boldsymbol z|\boldsymbol x))=\mathbb E[\log q(\boldsymbol z)]-\mathbb E[\log p(\boldsymbol z|\boldsymbol x)]\tag{11}
將公式展開,我們會(huì)得到
KL(q(\boldsymbol z)\|p(\boldsymbol z|\boldsymbol x))=\mathbb E[\log q(\boldsymbol z)]-\mathbb E[\log p(\boldsymbol z,\boldsymbol x)]+\log p(\boldsymbol x)\tag{12}
可見,KL 散度的計(jì)算依賴于 \log p(\boldsymbol x) ,這樣 KL 散度就變得難以計(jì)算。

所以,為了使得計(jì)算可行,我們?cè)诠剑?2)對(duì) KL 散度進(jìn)行變化,得到證據(jù)下界(the Evidence Lower BOund,ELBO)
ELBO(q)=\mathbb E[\log q(\boldsymbol z,\boldsymbol x)]-\mathbb E[\log q(\boldsymbol z)]\tag{13}
ELBO 是由 KL 散度的負(fù)數(shù)與 \log p(\boldsymbol x) 相加得到,由于 \log p(\boldsymbol x) 對(duì)于 q(\boldsymbol z) 來說是常數(shù),所以最大化 ELBO 等價(jià)于最小化 KL 散度。

我們可以將 ELBO 重寫為數(shù)據(jù)的平均對(duì)數(shù)似然和后驗(yàn) p(\boldsymbol z)q(\boldsymbol z) 的 KL 散度的加和
\begin{aligned} ELBO(q)&=\mathbb E[\log p(\boldsymbol z)]+\mathbb E[\log p(\boldsymbol x|\boldsymbol z)]-\mathbb E[\log q(\boldsymbol z)]\\ &=\mathbb E[\log p(\boldsymbol x|\boldsymbol z)]-KL(q(\boldsymbol z)\|p(\boldsymbol z)) \end{aligned}
這個(gè)目標(biāo)函數(shù)會(huì)讓 q(\boldsymbol z) 把重心放在 \boldsymbol z 的哪個(gè)值上呢?讓我們這個(gè)目標(biāo)函數(shù)作何解釋:

  • 第一項(xiàng)是似然的期望,它激勵(lì)分布把重心放在可解釋觀測數(shù)據(jù)的隱變量上;
  • 第二項(xiàng)是變分密度和后驗(yàn)概率的 KL 散度的負(fù)數(shù),它激勵(lì)分布盡量靠近后驗(yàn)分布。

ELBO 的另一個(gè)特性是它規(guī)定了證據(jù)(的對(duì)數(shù))的下界。根據(jù) ELBO 的定義,我們有
\log p(\boldsymbol x)=KL(q(\boldsymbol z)\|p(\boldsymbol z|\boldsymbol x))+ELBO(q)\tag{14}
由于 KL(\cdot)\geq 0 ,所以對(duì)于任何 q(\boldsymbol z) ,都有 \log p(\boldsymbol x)\geq ELBO(q) 。這也是“證據(jù)下界”這一名字的由來。

ELBO 和 \log p(\boldsymbol x) 的關(guān)系使得我們能夠利用變分下界作為模型的度量 。

相關(guān)研究

The relationship between the ELBO and \log p(\boldsymbol x) has led to using the variational bound as a model selection criterion. This has been explored for mixture models (Ueda and Ghahramani, 2002; McGrory and Titterington, 2007) and more generally (Beal and Ghahramani, 2003). The premise is that the bound is a good approximation of the marginal likelihood, which provides a basis for selecting a model. Though this sometimes works in practice, selecting based on a bound is not justified in theory. Other research has used variational approximations in the log predictive density to use VI in cross-validation based model selection (Nott et al., 2012).

最后, 公式(13)的第一項(xiàng)是完全對(duì)數(shù)似然期望,可利用 EM 算法進(jìn)行優(yōu)化。

平均場變分族

最后,讓我們?cè)侔涯抗夥诺阶兎肿?\mathscr{Q}\ 上。分布族的復(fù)雜性決定了優(yōu)化問題的復(fù)雜性,所以變分推斷問題的一個(gè)重點(diǎn)是選擇適合的分布族。

下面我們重點(diǎn)描述平均場變分族(mean-field variational family)。

什么是平均場變分族

在平均場變分族中,各隱變量之間是相互獨(dú)立的,每個(gè)隱變量都受變分密度分解公式中的一個(gè)因子控制。

通用的平均場變分族公式為
q(\boldsymbol z)=\prod^m_{j=1}q_j(z_j)\tag{15}
公式中的每個(gè)隱變量 z_j 都由對(duì)應(yīng)的變分因子 q_j(z_j) 控制。

我們認(rèn)為,分布族不是關(guān)于觀測數(shù)據(jù)的模型,事實(shí)上,再公式(15)中 并未出現(xiàn)任何關(guān)于 \boldsymbol x 的值。相反,是 ELBO 和相應(yīng)的 KL 最小化問題,將相應(yīng)的變分密度與模型和數(shù)據(jù)連接起來。

當(dāng)個(gè)變分因子可以是任何參數(shù)形式,如,一個(gè)連續(xù)變量可能是高斯因子;一個(gè)分類變量可以是分類因子。

平均場推斷的相關(guān)文獻(xiàn):

Finally, though we focus on mean-field inference in this review, researchers have also studied more complex families. One way to expand the family is to add dependencies between the variables (Saul and Jordan, 1996; Barber and Wiegerinck, 1999); this is called structured variational inference. Another way to expand the family is to consider mixtures of variational densities, i.e., additional latent variables within the variational family (Bishop et al., 1998). Both of these methods potentially improve the fidelity of the approximation, but there is a trade off. Structured and mixture-based variational families come with a more difficult-to-solve variational optimization problem.

連續(xù)的高斯貝葉斯混合

回顧一下前面提到的高斯貝葉斯混合,假設(shè)現(xiàn)在我們有包含這種分布的平均場變分族,其形式為
q(\boldsymbol\mu,\boldsymbol c)=\prod^K_{k=1}q(\mu_k;m_k,s^2_k)\prod^n_{i=1}q(c_i;\psi_i)\tag{16}
根據(jù)平均場的性質(zhì),每個(gè)隱變量都是由相應(yīng)的變分因子控制,在上面的公式中:

  • 因子 q(\mu_k;m_k,s^2_k) 為基于第 k 個(gè)混合組件的均值參數(shù)的高斯分布,高斯分布的均值為 m_k ,方差為 s^2_k
  • 因子 q(c_i;\psi_i) 為第 i 個(gè)觀測值的混合分配,它的分配概率為 K 維向量 \psi_i 。

所以,對(duì)于這一模型,我們有以下參數(shù):

  • 對(duì)于第 k 個(gè)聚類,其混合組件為高斯分布,相應(yīng)的變分參數(shù)為均值和方差(mean and variance);
  • 對(duì)于第 i 個(gè)數(shù)據(jù)點(diǎn),其聚類分配為分類分布,相應(yīng)的變分參數(shù)為分類概率(cluster probabilities)。

解釋了上面是變分族,我們已經(jīng)完全確定了混合高斯的變分推理問題。 于是,高斯貝葉斯混合的 ELBO 可以由公式(7)的模型定義和公式(16)中的平均場分布族定義。

平均場近似的問題

由于平均場近似可以捕捉任何隱變量的邊緣密度,基于平均場近似的變分推斷表現(xiàn)是杠杠的。但由于其假設(shè)各隱變量之間是相互獨(dú)立的,它無法識(shí)別出隱變量之間的關(guān)系。如 Figure 1 所示

image-20210930211718578.png

當(dāng)隱變量之間存在相關(guān)性時(shí),平均場近似估計(jì)往往會(huì)低估隱變量的方差。

坐標(biāo)上升變分推斷(CAVI)

雄赳赳,氣昂昂,跨過鴨綠江。

基于上述的描述,我們可以對(duì)變分推斷有了一個(gè)大概的概念。正所謂“往事俱備,只欠東風(fēng)”,針對(duì)這一優(yōu)化問題,我們現(xiàn)在所缺的就是一個(gè)優(yōu)化方法。所以這一小節(jié),重點(diǎn)放在描述優(yōu)化算法——坐標(biāo)上升變分推斷(coordinate ascent variantional,CAVI)。

坐標(biāo)上升變分推斷,簡稱 CAVI ,是解決變分推斷問題的一個(gè)通用算法,其主要思想為:迭代地對(duì)平均場變分密度的每個(gè)因子進(jìn)行優(yōu)化,優(yōu)化某個(gè)參數(shù)時(shí),都固定其他參數(shù)。它將 ELBO 的優(yōu)化變?yōu)橐粋€(gè)局部優(yōu)化問題。

算法原理

對(duì)于第 j 個(gè)隱變量 z_j ,其 complete conditional 為給定其他隱變量和觀測數(shù)據(jù)時(shí),它的條件密度,即 p(z_j|\boldsymbol z_{-j},\boldsymbol x) 。固定其他變分因子 q_{\scr l}(z_{\scr l})\q_j(z_j) 的優(yōu)化值是與 complete conditional 的期望成正比
q^*_j(z_j)\propto \exp\{\mathbb E_{-j}[\log p(z_j|\boldsymbol z_{-j},\boldsymbol x)]\}\tag{17}
公式(17)的期望是相對(duì)于(當(dāng)前固定的)\boldsymbol z_{-j} 的變分密度,即 \prod_{\scr l\neq j}q_{\scr l}(z_{\scr l})\ 。公式(17)正比于聯(lián)合分布的指數(shù)對(duì)數(shù),所以
q^*_j(z_j)\propto \exp\{\mathbb E_{-j}[\log p(z_j,\boldsymbol z_{-j},\boldsymbol x)]\}\tag{18}
由于平均場的猜想,即所有隱變量是相互獨(dú)立的,所以公式(18)右邊不涉及第 j 個(gè)變分因子。

算法步驟

CAVI 算法的偽代碼如 Algorithm 1 所示

image-20210930214554195.png

CAVI 沿著公式(13)的 ELBO 上移,找到一個(gè)局部最優(yōu)解。

CAVI 可以被看作是一個(gè)信息傳播算法,它基于變量地馬爾可夫毯,迭代地更新每個(gè)隨機(jī)變量地變分參數(shù)。

CAVI can also be seen as a “message passing” algorithm (Winn and Bishop, 2005), iteratively updating each random variable’s variational parameters based on the variational parameters of the variables in its Markov blanket. This perspective enabled the design of automated software for a large class of models (Wand et al., 2011; Minka et al., 2014). Variational message passing connects variational inference to the classical theories of graphical models and probabilistic inference (Pearl, 1988; Lauritzen and Spiegelhalter, 1988). It has been extended to nonconjugate models (Knowles and Minka, 2011) and generalized via factor graphs (Minka, 2005).

算法推導(dǎo)

參考原論文和相關(guān)文獻(xiàn),由于不是本文重點(diǎn),這里不多贅述。

例子:高斯貝葉斯混合

回顧前面關(guān)于高斯貝葉斯混合的內(nèi)容,隱變量和觀測數(shù)據(jù)的聯(lián)合密度如公式(7),分布族如公式(16)。

結(jié)合聯(lián)合分布和平均場分布族,我們可以得到高斯混合的 ELBO 公式
\begin{aligned} ELBO(\boldsymbol m,\boldsymbol s^2,\boldsymbol\psi)=&\sum^K_{k=1}\mathbb E[\log p(\mu_k);m_k,s^2_k]\\ &+\sum^n_{i=1}(\mathbb E[\log p(c_i);\psi_i]+\mathbb E[\log p(x_i|c_i,\boldsymbol\mu);\psi_i,\boldsymbol m,\boldsymbol s^2])\\ &-\sum^n_{i=1}\mathbb E[\log q(c_i;\psi_i)]-\sum^K_{i=1}\mathbb E[\log q(\mu_k;m_k,s^2_k)] \end{aligned}\tag{21}
在每一項(xiàng)中,我們都明確了對(duì)變分參數(shù)的依賴性,每個(gè)期望都是可以以封閉形式計(jì)算的。

接下來,讓我們把 CAVI 應(yīng)用到高斯貝葉斯混合中。我們需要對(duì)變分聚類分配因子的更新和變分混合組件因子的更新進(jìn)行推導(dǎo)。

混合分配的變分密度

讓我們對(duì)聚類分配 c_i 的變分更新進(jìn)行推導(dǎo),利用公式(18),我們可以得到局部參數(shù)的更新公式
q^*(c_i;\psi_i)\propto\exp\{\log p(c_i)+\mathbb E[\log p(x_i|c_i,\boldsymbol\mu);\boldsymbol m,\boldsymbol s^2]\}\tag{22}
其中,指數(shù)的組件為依賴于 c_i 的聯(lián)合密度,第二項(xiàng)的期望是基于混合組件 \boldsymbol\mu 。

公式(22)的第一項(xiàng)為 c_i 的對(duì)數(shù)似然,它對(duì)于所有 c_i 的可能值相同,即 \log p(c_i)=-\log K;第二項(xiàng)為 c_i 的高斯密度的對(duì)數(shù)期望,將 c_i 所以一個(gè)指示向量,我們可以寫出
p(x_i|c_i,\boldsymbol\mu)=\prod^K_{k=1}p(x_i|\mu_k)^{c_{ik}}
于是我們可以計(jì)算對(duì)數(shù)期望概率
\begin{aligned} \mathbb E[\log p(x_i|c_i,\boldsymbol\mu)]&=\sum_kc_{ik}\mathbb E[\log p(x_i|\mu_k);m_k,s^2_k]\\ &=\sum_kc_{ik}\mathbb E[-\frac{(x_i-\mu)^2}{2};m_k,s^2_k]+const\\ &=\sum_kc_{ik}(\mathbb E[\mu_k;m_k,s^2_k]x_i-\frac{\mathbb E[\mu^2_k;m_k,s^2_k]}{2})+const\\ \end{aligned}\tag{23-25}
在這一公式中,我們刪去了和 c_i 無關(guān)的項(xiàng),放到 const 中。而每個(gè)混合組件的參數(shù) \mathbb E[\mu_k]\mathbb E[\mu^2_k] 則是可計(jì)算的。因此,我們可以將第 i 個(gè)聚類分配的變分更新公式寫為
\psi_{ik}\propto\exp\{\mathbb E[\mu_k;m_k,s^2_k]x_i-\frac{\mathbb E[\mu^2_k;m_k,s^2_k]}{2}\}\tag{26}

混合組件均值的變分密度

接下來,讓我們?cè)俜治鲆恍┑?k 個(gè)混合組件的變分密度 q(\mu_k;m_k,s^2_k) 。同樣是利用公式(18),我們可以得到全局參數(shù)的更新公式
q^*(\mu_k)\propto\exp\{\log p(\mu_k)+\sum^n_{i=1}\mathbb E[\log p(x_i|c_i,\boldsymbol\mu);\psi_i,\boldsymbol m_{-k},\boldsymbol s^2_{-k}]\}\tag{27}
現(xiàn)在我們計(jì)算這個(gè)坐標(biāo)最優(yōu) q(\mu_k) 的非歸一化對(duì)數(shù),設(shè) \psi_{ik} 為的第 i 個(gè)觀測來自第 k 個(gè)聚類的可能性,由于 c_i 是一個(gè)指示向量,我們認(rèn)為 \psi_{ik}=\mathbb E[c_{ik};\psi_i] ,于是
\begin{aligned} \log q(\mu_k)&=\log p(\mu_k)+\sum_i\mathbb E[\log p(x_i|c_i,\boldsymbol\mu);\psi_i,\boldsymbol m_{-k},\boldsymbol s^2_{-k}]+const\\ &=\log p(\mu_k)+\sum_i\mathbb E[c_{ik}\log p(x_i|\mu_k);\psi_i]+const\\ &=-\frac{\mu^2_k}{2\sigma^2}+\sum_i\mathbb E[c_{ik};\psi_i]\log(x_i|\mu_k)+const\\ &=-\frac{\mu^2_k}{2\sigma^2}+\sum_i\psi_{ik}(-\frac{(x_i-\mu_k)^2}{2})+const\\ &=-\frac{\mu^2_k}{2\sigma^2}+\sum_i\psi_{ik}x_i\mu_k-\frac{\psi_{ik}\mu_k^2}2+const\\ &=(\sum_i\psi_{ik}x_i)\mu_k-(\frac12\sigma^2+\frac{\sum_i\psi_{ik}}2)\mu^2_k+const \end{aligned}\tag{28-33}
經(jīng)過這一通猛如虎的操作,我們可以發(fā)現(xiàn) \mu_k 的坐標(biāo)最優(yōu)密度是指數(shù)族分布的,其充分統(tǒng)計(jì)量為 \{\mu_k,\mu^2_k\} ,自然參數(shù)為 \{\sum^n_{I=1}\psi_{ik}x_i,-\frac{1}{2}\sigma^2-\sum^n_{i=1}\frac{\psi_{ik}}{2}\}\,根據(jù)指數(shù)族分布的性質(zhì)(下一篇博客將會(huì)介紹到指數(shù)族分布的性質(zhì)),我們可以得到高斯分布中均值和方差的更新公式為
\begin{aligned} m_k&=\frac{\sum_i\psi_{ik}x_i}{\frac1{\sigma^2}+\sum_i\psi_{ik}}\\ s^2_{k}&=\frac1{\frac1{\sigma^2}+\sum_i\psi_{ik}} \end{aligned}\tag{34}

基于 CAVI 的混合高斯

我們利用 ELBO 作為衡量 CAVI 收斂的條件,完整步驟如 Algorithm 2

image-20210930231909328.png

當(dāng)我們學(xué)習(xí)到合適的變分密度時(shí),我們可以用它來幫助我們使用后驗(yàn),如我們可以獲得數(shù)據(jù)的后驗(yàn)分解。我們給他們最可能的混合分配點(diǎn) \hat c_i=\arg\max_k\psi_{ik} 并估計(jì)基于它們變分均值 m_k 的聚類均值。

我們也可以利用它來近似新數(shù)據(jù)的預(yù)測密度。這樣的近似預(yù)測是高斯混合的
p(x_{new}|\boldsymbol x_{1:n})\approx\frac1K\sum^K_{k=1}p(x_{new}|m_k)
其中,p(x_{new}|m_k) 是基于均值 m_k 和單位方差的高斯分布。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容