為什么貝葉斯統(tǒng)計(jì)中后驗(yàn)分布(posterior distortion)沒有閉式解,以及變分推斷的形式

參考:
StackExchange
Variational Inference: A Review for Statisticians

這個(gè)問題是變分推斷(variational inference)的一個(gè)基礎(chǔ)問題。很奇怪的是,我沒有在中文社區(qū)發(fā)現(xiàn)這個(gè)問題的詳細(xì)解釋。一句話總結(jié),如果求解過程出現(xiàn)了不可約掉的積分,該過程就是不可直接計(jì)算的(intractable),或者說沒有閉式解。而機(jī)器學(xué)習(xí)所有解決該問題的辦法,就是巧妙地去掉積分。
下面通過一個(gè)例子,來解釋這個(gè)問題。

問題描述

符號(hào)定義\textbf{x}=x_{1:n}表示觀察變量,\textbf{z}=z_{1:m}表示隱變量,它們的聯(lián)合概率密度為p(\textbf{x}, \textbf{z})
目標(biāo):求解條件概率p(\textbf{z}|\textbf{x})。在貝葉斯框架下,這一過程叫做推斷,而p(\textbf{z}|\textbf{x})叫做后驗(yàn)概率。
后驗(yàn)概率密度
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})被稱為“證據(jù)”(evidence)
下面的例子用來說明,證據(jù)的積分形式通常沒有閉式解。

例子:混合高斯模型的后驗(yàn)概率估計(jì)

設(shè)有K個(gè)混合分支,分支的均值集合為\mathbf{\mu}=\{\mu_1,...,\mu_K\},這些均值服從高斯分布\mathcal{N}(0,\sigma^2),其中參數(shù)\sigma^2表示方差。采樣K次得到\mathbf{\mu}。
每個(gè)觀察數(shù)據(jù)x_i的產(chǎn)生過程如下:從類別{1,...,K}中選出一個(gè)分支,記為c_i,其數(shù)學(xué)形式為one-hot(一個(gè)長為K的向量,其中一位是1,其余位是0)。從(另一個(gè))高斯分布\mathcal{N}({c_i}^T\mu,1)采樣,得到x_i。連續(xù)采樣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
聯(liá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}\}。
證據(jù)為:
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
上式中,每一個(gè)\mu_k都無法從連乘項(xiàng)里分離出來,所以計(jì)算該積分的復(fù)雜度為\mathcal{O}(K^n),為K的指數(shù)級(jí)別的復(fù)雜度。所以一般沒有閉式解(intractable)。
(想象某個(gè)場景,在10個(gè)混合分支中,采樣100個(gè)點(diǎn),計(jì)算該積分的復(fù)雜度高達(dá)10^{100}!)

ELBO(證據(jù)下界)

對(duì)目標(biāo)p(\mathbf{z}|\mathbf{x})求解,一味蠻干是行不通的。通行的做法有兩種,要么通過蒙特卡洛法近似,要么通過變分推斷近似。這里介紹后一種。
我們利用容易處理的“代理人”函數(shù)q(\mathbf{z})近似p(\mathbf{z}|\mathbf{x})
q^*(z)=argmin_{q(z)\in \mathcal{Q}} KL[q(z)||p(\mathcal{z}|\mathcal{x})]
其中KL表示相對(duì)熵,由定義,
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})],成功避開計(jì)算p(\mathcal{z}|\mathcal{x})

拿掉積分!

上面的混合高斯的例子,應(yīng)用變分方法,我們得到
\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 \\ \approx \mathbb{E}_{q(\mu_1,...\mu_K;\lambda)}\prod_{i=1}^{n}\sum_{c_i}p(c_i)p(x_i|c_i,\mu_1,...\mu_K)+KL[q(\mu;\lambda)||p(\mathcal{\mu}|\mathcal{x})]
雖然多引入一個(gè)參數(shù),但是不用求積分,只要算乘法和加減就夠了。生活一下子美好了有木有!

求積分為啥這么難

來自:https://xkcd.com/2117/

微分與積分

至今的算法中,求微分(導(dǎo)數(shù))的一大堆,求積分的寥寥可數(shù)。計(jì)算機(jī)和人類一樣不擅長算積分啊!

最后編輯于
?著作權(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)容

  • 殘觴酒涼,彼時(shí)西廂,玉屏風(fēng)上雕鴛鴦,坐對(duì)銅鏡貼花黃,薄唇點(diǎn)絳,影斜云紗窗,“梧桐葉上已三更?!狈词峙谜Z,弦月滿西...
    越兒笑傾城閱讀 455評(píng)論 2 7
  • 當(dāng)你睡了,衾擁著夢,窗外的 月亮,靜靜的邁著微步, 草蟲兒也不忍作聲。 我獨(dú)坐在你不知曉的窗下 細(xì)數(shù)著昔日見你的光...
    南山野客閱讀 219評(píng)論 0 1
  • 早上起床后,妹妹便纏著奶奶要讀昨天剛從圖書館借來的繪本。 環(huán)境層面: 肯定孩子有圖書館借來的各種繪本,資源豐富。 ...
    Selena_5b5g閱讀 32評(píng)論 0 0
  • 一家人說好下午帶孩子去市民廣場玩。 一到那里,吶喊聲,歡呼聲,音樂聲,原來正在舉辦音樂會(huì)。兒子被一塊大廣告牌吸引了...
    暮羽初心閱讀 363評(píng)論 0 0

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