天天看點

[PRML]圖模型-有向圖模型

首發于 我不愛機器學習 公衆号,微信号:learning_free
[PRML]圖模型-有向圖模型

1 簡介

機率在現代模式識别中起着核心作用。機率論可以用兩個簡單的方程來表示,它們分别對應着求和法則和乘積法則。是以,完全可以通過代數操作來建立和解決複雜的機率模型。

然而,使用機率分布的圖解表示(稱為機率圖模型,probabilistic graphical models)來增強分析是非常有利的。它提供了幾個有用的屬性:

  • 提供了一種可視化機率模型結構的簡單方法,并可用于設計和激發新模型。
  • 通過檢視圖,可以深入了解模型的屬性,包括條件獨立屬性。
  • 複雜的計算需要在複雜的模型中執行推理和學習,可以用圖形化操作來表示,其中隐含的數學表達式是隐式的。

圖由節點(nodes)(也稱為頂點,vertices)通過連結(links)(也稱為邊或弧,edges or arcs)連接配接而成。

在機率圖形模型中,每個節點表示一個随機變量(或一組随機變量),連結表示這些變量之間的機率關系。

這個圖捕捉到所有随機變量的聯合分布可以分解成因子的乘積(decomposed into a product of factors),每個因子隻依賴于變量的一個子集。

首先讨論貝葉斯網絡(Bayesian networks),也稱為有向圖模型(directed graphical models),其中圖的連結具有特定的方向性,用箭頭表示。

另一類主要的圖模型是馬爾可夫随機場(Markov random fields),也稱為無向圖模型(undirected graphical models),其中的連結沒有箭頭,沒有方向意義。

有向圖用于表示随機變量之間的因果關系(causal relationships),而無向圖更适合表示随機變量之間的軟限制(soft constraints)。

為了解決推理問題,通常将有向圖和無向圖轉換為另一種稱為因子圖(factor graph)的表示形式,這樣比較友善。

在本章中,我們将重點讨論圖形模型在模式識别和機器學習中應用的關鍵方面。

2 貝葉斯網絡

首先考慮任意的三個變量 a a a、 b b b和 c c c的聯合分布 p ( a , b , c ) p (a,b,c) p(a,b,c)。根據機率的乘積法則,可以把聯合分布寫成這種形式:

p ( a , b , c ) = p ( c ∣ a , b ) p ( a , b )   ( 式 1 ) p ( a , b , c ) = p ( c ∣ a , b ) p ( b ∣ a ) p ( a )   ( 式 2 ) \begin{aligned} p(a,b,c)&=p(c|a,b)p(a,b) \ (式1)\\ p(a,b,c)&=p(c|a,b)p(b|a)p(a) \ (式2) \end{aligned} p(a,b,c)p(a,b,c)​=p(c∣a,b)p(a,b) (式1)=p(c∣a,b)p(b∣a)p(a) (式2)​

這種分解适用于聯合分布的任何選擇。現在用一個簡單的圖形模型來表示(式2)的右邊:

  • 首先,為每個随機變量 a a a、 b b b和 c c c引入一個節點,并将每個節點與右側相應的條件分布相關聯(式2)。
  • 然後,對于每個條件分布,從對應于分布所依賴的變量的節點向圖添加定向連結(箭頭)。是以,對于因子 p ( c ∣ a , b ) p(c|a,b) p(c∣a,b),節點 a a a和節點 b b b到節點 c c c之間将有連結,而對于因子 p ( a ) p(a) p(a),将沒有傳傳入連結接,結果如下圖所示。如果有連結從節點 a a a到節點 b b b,則節點 a a a是節點 b b b的父節點(parent node),節點 b b b叫子節點(child node)。
[PRML]圖模型-有向圖模型

該圖表示三個變量 a a a、 b b b和 c c c的聯合機率分布的有向圖模型,對應于式2右邊的分解。

注:式2左邊是關于三個變量 a a a、 b b b和 c c c對稱的,但右邊不是。在式2進行分解時,我們隐式地選擇了一個特定的順序,即 a a a、 b b b、 c c c。若選擇不同的順序,将得到一個不同的分解,進而得到一個不同的圖形表示。

現在對上面的圖進行擴充,假設基于 K K K個變量的聯合分布的機率為 p ( x 1 , . . . , x K ) p(x_1,...,x_K) p(x1​,...,xK​)。通過反複應用機率乘積法則,這個聯合分布可以寫成條件分布的乘積,每個變量對應一個條件分布:

p ( x 1 , . . . , x K ) = p ( x K ∣ x 1 , . . . , x K − 1 ) . . . p ( x 2 ∣ x 1 ) p ( x 1 )   ( 式 3 ) p(x_1,...,x_K)=p(x_K|x_1,...,x_{K-1})...p(x_2|x_1)p(x_1) \ (式3) p(x1​,...,xK​)=p(xK​∣x1​,...,xK−1​)...p(x2​∣x1​)p(x1​) (式3)

對于給定的 K K K,可以再次将其表示為一個有 K K K個節點的有向圖,在式3右側的每個條件分布都有一個節點,每個節點都有來自所有編号較低的節點的傳傳入連結接。我們說這個圖是完全連通的,因為每一對節點之間都有一個連結。

目前為止,已經研究了通用的聯合分布,它們的分解可以用全連通圖(fully connected graphs)表示,适用于分布的任何選擇。下面的圖不是一個完全連通的圖,因為從 x 1 x_1 x1​到 x 2 x_2 x2​或 x 3 x_3 x3​到 x 7 x_7 x7​沒有任何連結。

[PRML]圖模型-有向圖模型

該圖描述了變量 x 1 , x 2 , . . . , x 7 x_1,x_2,...,x_7 x1​,x2​,...,x7​的聯合分布。聯合分布的相應分解如式4。

現在将上面的圖用相應的聯合分布的條件分布項的乘積表示,每個節點對應一個條件分布。每一個條件分布隻對應圖中有父節點的節點。7個變量的聯合分布:

p ( x 1 ) p ( x 2 ) p ( x 3 ) p ( x 4 ∣ x 1 , x 2 , x 3 ) p ( x 5 ∣ x 1 , x 3 ) p ( x 6 ∣ x 4 ) p ( x 7 ∣ x 4 , x 5 )   ( 式 4 ) p(x_1)p(x_2)p(x_3)p(x_4|x_1,x_2,x_3)p(x_5|x_1,x_3)p(x_6|x_4)p(x_7|x_4,x_5) \ (式4) p(x1​)p(x2​)p(x3​)p(x4​∣x1​,x2​,x3​)p(x5​∣x1​,x3​)p(x6​∣x4​)p(x7​∣x4​,x5​) (式4)

現在我們可以用一般的術語來描述給定的有向圖和變量相應分布之間的關系。由圖定義的聯合分布由圖中所有節點的乘積給出,每個節點的條件分布取決于圖中該節點的父節點對應的變量。是以,對于一個有 K K K個節點的圖,其聯合分布:

p ( x ) = ∏ k = 1 K p ( x k ∣ p a k )   ( 式 5 ) p(\mathbf{x})=\prod_{k=1}^Kp(x_k|pa_k) \ (式5) p(x)=k=1∏K​p(xk​∣pak​) (式5)

p a k pa_k pak​表示 x k x_k xk​的父節點集合, x = { x 1 , . . . , x K } \mathbf{x}=\{x_1,...,x_K\} x={x1​,...,xK​}。

這個方程表達了有向圖模型的聯合分布的因式分解性質。雖然我們認為每個節點都對應一個單獨的變量,但我們同樣可以将一組變量和向量值變量與一個圖的節點關聯起來。假設各個條件分布是标準化的,則很容易證明式5右側的表示總是标準化的。

有向圖必須考慮一個重要的限制即不存在有向循環。 換句話講就是圖不能有閉環即從一個節點沿着連結的箭頭方向移動,最終可以回到起始節點。這種圖又叫有向無環圖(directed acyclic graphs, or DAGs)。

這等價于節點間存在排序,是以沒有從任何節點到任何編号較低的節點的連結。

後面會給出說明。

證明:式5右側的表示是标準化的。

對于式5,想要證明:

∑ x 1 ⋯ ∑ x K p ( x ) = ∑ x 1 ⋯ ∑ x K ∏ k = 1 K p ( x k ∣ p a k ) = 1 \sum_{x_1}\cdots \sum_{x_K}p(\mathbf{x})=\sum_{x_1}\cdots \sum_{x_K}\prod_{k=1}^Kp(x_k|pa_k)=1 x1​∑​⋯xK​∑​p(x)=x1​∑​⋯xK​∑​k=1∏K​p(xk​∣pak​)=1

假設圖中的節點已經編号, x 1 x_1 x1​是根節點,并且沒有箭頭從編号較高的節點指向編号較低的節點。是以可以在節點上以相反的順序邊緣化,從 x K x_K xK​開始:

∑ x 1 ⋯ ∑ x K p ( x ) = ∑ x 1 ⋯ ∑ x K p ( x K ∣ p a K ) ∏ k = 1 K − 1 p ( x k ∣ p a k ) = ∑ x 1 ⋯ ∑ x K − 1 ∏ k = 1 K − 1 p ( x k ∣ p a k ) \begin{aligned} \sum_{x_1}\cdots \sum_{x_K}p(\mathbf{x})&=\sum_{x_1}\cdots \sum_{x_K}p(x_K|pa_K) \prod_{k=1}^{K-1}p(x_k|pa_k)\\ &=\sum_{x_1}\cdots \sum_{x_{K-1}}\prod_{k=1}^{K-1}p(x_k|pa_k) \end{aligned} x1​∑​⋯xK​∑​p(x)​=x1​∑​⋯xK​∑​p(xK​∣paK​)k=1∏K−1​p(xk​∣pak​)=x1​∑​⋯xK−1​∑​k=1∏K−1​p(xk​∣pak​)​

因為每個條件分布都被假定為标準化的且其他變量不依賴 x K x_K xK​,則重複這個過程 K − 2 K-2 K−2次,最終得到:

∑ x 1 p ( x 1 ∣ ∅ ) = 1 \sum_{x_1}p(x_1|\varnothing) =1 x1​∑​p(x1​∣∅)=1

證明:在有向圖中不存在有向循環,即存在節點的有序編号,對于每個節點,都沒有到編号較低節點的連結。

考慮一個有向圖,其中圖的節點被編号,沒有從一個節點到編号較低的節點的邊。如果圖中存在一個有向循環,那麼屬于這個有向循環的節點子集也必須滿足相同的編号屬性。如果我們沿着邊的方向周遊循環,節點數不能是單調遞增的,因為我們必須回到起始節點。是以,這個循環不可能是一個有向循環。

3 應用

為了說明如何使用有向圖來描述機率分布,我們考慮了貝葉斯多項式回歸(2.2部分)、生成模型、離散變量和線性高斯模型。

3.1 多項式回歸

模型中的随機變量為多項式系數 w \mathbf{w} w向量,觀測資料 t = ( t 1 , . . . , t N ) T \mathbf{t}=(t_1,...,t_N)^T t=(t1​,...,tN​)T。此外,該模型還包含輸入資料 x = ( x 1 , . . . , x N ) \mathbf{x}=(x_1,...,x_N) x=(x1​,...,xN​),噪聲方差 σ 2 \sigma^2 σ2,超參數 α \alpha α(表示 w \mathbf{w} w的高斯先驗精度),所有這些都是模型的參數,而不是随機變量。

現在隻關注随機變量,我們看到聯合分布是由先驗 p ( w ) p(\mathbf{w}) p(w)和 N N N個條件分布 p ( t n ∣ w ) p(t_n|\mathbf{w}) p(tn​∣w)的乘積給出的( n = 1 , . . . , N n=1,...,N n=1,...,N),是以:

p ( t , w ) = p ( w ) ∏ n = 1 N p ( t n ∣ w )   ( 式 6 ) p(\mathbf{t},\mathbf{w})=p(\mathbf{w})\prod_{n=1}^Np(t_n|\mathbf{w}) \ (式6) p(t,w)=p(w)n=1∏N​p(tn​∣w) (式6)

該聯合分布可以用如下圖模型表示:

[PRML]圖模型-有向圖模型

上圖是貝葉斯多項式回歸模型相對應的聯合分布(式6)的有向圖模型。

當我們處理更複雜的模型時,會發現顯示地寫出 t 1 , … , t N t_1,…, t_N t1​,…,tN​是不友善的。是以,我們引入了一種圖形表示法,這種表示法允許這樣的多個節點更緊湊地表達。在這種表示法中,我們繪制一個具代表性的節點 t n t_n tn​,然後用一個框(稱為闆,plate)包圍它,用 N N N标記,表示有 N N N個這樣的節點。以這種方式重寫上面的圖形,我們得到了如下所示的圖形。

[PRML]圖模型-有向圖模型

我們有時會發現,将模型的參數及其随機變量顯式化是有幫助的。在本例中,式6變為:

p ( t , w ∣ x , α , σ 2 ) = p ( w ∣ α ) ∏ n = 1 N p ( t n ∣ w , n , σ 2 ) p(\mathbf{t},\mathbf{w}|\mathbf{x},\alpha,\sigma^2)=p(\mathbf{w}|\alpha)\prod_{n=1}^Np(t_n|\mathbf{w},_n,\sigma^2) p(t,w∣x,α,σ2)=p(w∣α)n=1∏N​p(tn​∣w,n​,σ2)

相應的,我們可以讓 x , α \mathbf{x},\alpha x,α在圖表示中顯示。

随機變量用開放的圓表示(open circles),确定性參數用小的實圓表示(solid circles)

,如下圖所示:

[PRML]圖模型-有向圖模型

當我們将圖模型應用于機器學習或模式識别中的問題時,我們通常會将一些随機變量設定為特定的觀察值,如多項式曲線拟合中訓練集中的變量 { t n } \{t_n\} {tn​}。

在圖形模型中,我們将通過給相應的節點着色來表示這些觀察到的變量。

是以,觀察到的變量 { t n } \{t_n\} {tn​}所對應的圖如下圖所示。

注意, w \mathbf{w} w的值沒有被觀察到,是以 w \mathbf{w} w是一個潛變量(latent variable),也稱為隐變量(hidden variable)。這些變量在許多機率模型中起着至關重要的作用。

[PRML]圖模型-有向圖模型

通過觀察值 { t n } \{t_n\} {tn​},我們可以評估多項式系數 w \mathbf{w} w的後驗分布:

p ( w ∣ T ) ∝ ∏ n = 1 N p ( t n ∣ w )   ( 式 7 ) p(\mathbf{w}|\mathbf{T}) \propto \prod_{n=1}^Np(t_n|\mathbf{w}) \ (式7) p(w∣T)∝n=1∏N​p(tn​∣w) (式7)

為了保持符号的整潔,忽略了确定性參數(deterministic parameters)。

一般來說,像 w \mathbf{w} w這樣的模型參數本身沒什麼直接的意義,因為我們的最終目标是預測新的輸入值。

假設我們給出一個新的輸入值 x ^ \hat{x} x^,希望找到 t ^ \hat{t} t^在給定觀測資料下的相應機率分布。用圖模型描述該問題,如下圖所示。該模型中所有随機變量在确定參數的條件下,對應的聯合分布為:

p ( t ^ , t , w ∣ x ^ , x , α , σ 2 ) = [ ∏ n = 1 N p ( t n ∣ x n , w , σ 2 ) ] p ( w ∣ α ) p ( t ^ ∣ x ^ , w , σ 2 )   ( 式 8 ) p(\hat{t},\mathbf{t},\mathbf{w}|\hat{x},\mathbf{x},\alpha,\sigma^2)=[\prod_{n=1}^Np(t_n|x_n,\mathbf{w},\sigma^2)]p(\mathbf{w}|\alpha)p(\hat{t}|\hat{x},\mathbf{w},\sigma^2) \ (式8) p(t^,t,w∣x^,x,α,σ2)=[n=1∏N​p(tn​∣xn​,w,σ2)]p(w∣α)p(t^∣x^,w,σ2) (式8)

[PRML]圖模型-有向圖模型

t ^ \hat{t} t^的預測分布已經擷取,然後根據機率的和規則,對模型參數 w \mathbf{w} w進行積分:

p ( t ^ ∣ x ^ , x , t , α , σ 2 ) ∝ ∫ p ( t ^ , t , w ∣ x ^ , x , α , σ 2 ) d w p(\hat{t}|\hat{x},\mathbf{x},\mathbf{t},\alpha,\sigma^2)\propto \int p(\hat{t},\mathbf{t},\mathbf{w}|\hat{x},\mathbf{x},\alpha,\sigma^2)d\mathbf{w} p(t^∣x^,x,t,α,σ2)∝∫p(t^,t,w∣x^,x,α,σ2)dw

在這裡,我們隐式地将 t \mathbf{t} t中的随機變量設定為資料集中觀察到的特定值。

3.2 生成模型

在多數情況下,我們希望在給定的機率分布中抽取樣本。考慮 K K K個變量的聯合分布 p ( x 1 , . . . , x K ) p(x_1,...,x_K) p(x1​,...,xK​),根據式5對有向無環圖進行因式分解。假設變量的順序是這樣的:沒有從任何節點到任何編号較低的節點的連結,換句話說,每個節點的編号都比其父節點的編号高。

我們的目标是抽取來自聯合分布的一個樣本 x ^ 1 , . . . , x ^ K \hat{x}_1,...,\hat{x}_K x^1​,...,x^K​。

  • 首先從編号最低的節點開始,抽取來自分布 p ( x 1 ) p(x_1) p(x1​)的一個樣本 x ^ 1 \hat{x}_1 x^1​。
  • 然後,按順序周遊每個節點。對于節點 n n n,我們從條件分布 p ( x n ∣ p a n ) p(x_n|pa_n) p(xn​∣pan​)中抽取一個樣本,其中父變量被設定為它們的采樣值。

注意:在每個階段,這些父值總是可用的,因為它們對應于已經被采樣的編号較低的節點。

一旦我們對最終變量 x K x_K xK​進行了采樣,我們就實作了從聯合分布中獲得樣本的目标。

為了從相應變量子集的某個邊際分布中獲得樣本,我們隻需取所需節點的抽樣值,而忽略其餘節點的抽樣值。如要從分布 p ( x 2 , x 4 ) p(x_2,x_4) p(x2​,x4​)中抽取樣本,我們可以從全聯合分布中抽樣,然後保留 x ^ 2 , x ^ 4 \hat{x}_2,\hat{x}_4 x^2​,x^4​的值,丢棄剩餘的值 { x ^ j ≠ 2 , 4 } \{\hat{x}_{j \neq 2,4}\} {x^j​=2,4​}。

在機率模型的實際應用中,圖的編号較高的變量即終端節點用來表示觀測值,編号較低的節點表示潛在變量。

潛在變量的主要作用是使觀察到的變量的複雜分布能夠用由簡單的(典型的指數族)條件分布建構的模型來表示。

我們可以把這些模型解釋為表示觀測資料産生的過程。如一個對象識别任務,其中每個觀察到的資料點對應于其中一個對象的圖像(包含像素強度向量)。在這種情況下,潛在變量可能被解釋為對象的位置和方向。給定一個特定的觀察圖像,我們的目标是找到物體的後驗分布,并對所有可能的位置和方向進行積分。我們可以使用下圖來表示這個問題。

[PRML]圖模型-有向圖模型

上圖是一種圖形化的模型,表示建立對象圖像的過程,其中對象的辨別(離散變量)和該對象的位置和方向(連續變量)具有獨立的先驗機率。圖像(像素強度的矢量)的機率分布依賴于對象的身份以及它的位置和方向。

圖模型捕獲了産生觀測資料的因果過程(causal process)。是以,這樣的模型通常被稱為生成模型。相比之下,多項式回歸圖模型不具有可生性,因為與輸入變量 x x x沒有關聯的機率分布,是以不可能從該模型中生成合成資料點。我們可以通過引入一個合适的先驗分布 p ( x ) p(x) p(x),以一個更複雜的模型為代價,使其生成。

然而,機率模型中的隐藏變量不需要有任何明确的實體解釋,但可以簡單地引入,以允許用更簡單的元件構造更複雜的聯合分布。

在這兩種情況下,抽樣技術應用于生成模型模拟觀測資料的建立,并是以産生幻想資料的機率分布(如果模型是現實的完美表述)将與觀測資料是相同的。

在實踐中,從一個生成模型中生成合成的觀察結果可以證明該模型所表示的機率分布的形式方面的了解是有用的。

3.3 離散變量

如果我們選擇有向圖中的每個父子對之間的關系作為共轭關系,那麼這樣的模型具有特别好的屬性。

有兩種情況特别值得注意,一種是父節點和子節點分别對應離散變量,另一種是分别對應高斯變量。因為在這兩種情況下,可以對關系進行層次擴充,構造任意複雜的有向無環圖。

我們從研究離散情況開始。

對于有 K K K個可能狀态的單個離散變量 x \mathbf{x} x的機率分布 p ( x ∣ μ ) p(\mathbf{x}|\mu) p(x∣μ):

p ( x ∣ μ ) = ∏ k = 1 K μ k x k   ( 式 9 ) p(\mathbf{x}|\mu)=\prod_{k=1}^K\mu_k^{x_k} \ (式9) p(x∣μ)=k=1∏K​μkxk​​ (式9)

是由參數 μ = ( μ 1 , . . . , μ K ) T \mu=(\mu_1,...,\mu_K)^T μ=(μ1​,...,μK​)T控制。由于限制 ∑ k μ k = 1 \sum_k\mu_k=1 ∑k​μk​=1,是以定義分布時隻有 K − 1 K−1 K−1個 μ k \mu_k μk​需要指定。

現在假設我們有兩個離散變量, x 1 \mathbf{x_1} x1​和 x 2 \mathbf{x_2} x2​,每一個都有 K K K種狀态,我們希望對它們的聯合分布模組化。

我們用參數 μ k l \mu_{kl} μkl​表示觀察 x 1 k = 1 x_{1k}=1 x1k​=1和 x 2 l = 1 x_{2l}=1 x2l​=1的機率,其中 x 1 k x_{1k} x1k​表示 x 1 x_1 x1​的第 k k k個分量, x 2 l x_{2l} x2l​也是如此。聯合分布可以寫成:

p ( x 1 , x 2 ∣ μ ) = ∏ k = 1 K ∏ l = 1 K μ k l x 1 k x 2 l p(\mathbf{x_1},\mathbf{x_2}|\mu)=\prod_{k=1}^K\prod_{l=1}^K\mu_{kl}^{x_{1k}x_{2l}} p(x1​,x2​∣μ)=k=1∏K​l=1∏K​μklx1k​x2l​​

因為參數 μ k l \mu_{kl} μkl​受到限制 ∑ k ∑ l μ k l = 1 \sum_k\sum_l\mu_{kl}=1 ∑k​∑l​μkl​=1,這個分布由 K 2 − 1 K^2-1 K2−1個參數控制。很容易看出, M M M個變量的任意聯合帆布,必須指定的參數總數是 K M − 1 K^M-1 KM−1,是以随着變量數 M M M的增加呈指數增長。

利用乘積法則,我們可以将聯合分布 p ( x 1 , x 2 ) p(\mathbf{x_1},\mathbf{x_2}) p(x1​,x2​)分解成 p ( x 2 ∣ x 1 ) p ( x 1 ) p(\mathbf{x_2}|\mathbf{x_1})p(\mathbf{x_1}) p(x2​∣x1​)p(x1​)。其對應于一個雙節點圖,如下圖 ( a ) (a) (a)所示,有一條從 x 1 \mathbf{x_1} x1​節點到 x 2 \mathbf{x_2} x2​節點的連結。

邊緣分布 p ( x 1 ) p(\mathbf{x_1}) p(x1​)由 K − 1 K-1 K−1個參數控制。相似的,對于 x 1 \mathbf{x_1} x1​的 K K K個可能狀态的每一個,條件分布 p ( x 2 ∣ x 1 ) p(\mathbf{x_2}|\mathbf{x_1}) p(x2​∣x1​)也需要指定 K − 1 K-1 K−1個參數。是以,在聯合分布中必須指定的參數總數是 ( K − 1 ) + K ( K − 1 ) = K 2 − 1 (K−1)+K(K−1)=K^2-1 (K−1)+K(K−1)=K2−1。

[PRML]圖模型-有向圖模型

現在假設變量 x 1 \mathbf{x_1} x1​和 x 2 \mathbf{x_2} x2​是獨立的,對應于上圖 ( b ) (b) (b)所示的圖模型。每個變量都可以用一個單獨的多項式分布來描述,參數總數是 2 ( K − 1 ) 2(K-1) 2(K−1)。對于 M M M個獨立離散變量的分布,每個變量有 K K K個狀态,則參數總數是 M ( K − 1 ) M(K-1) M(K−1),是以參數的總數随變量的個數線性增長。

從圖形的角度來看,我們通過删除圖中的連結減少了參數的數量,代價是限制了分布的類别。

一般情況,如果我們有 M M M個離散變量 x 1 , . . . , x M \mathbf{x_1},...,\mathbf{x_M} x1​,...,xM​,可以用一個有向圖對聯合分布模組化,每個節點對應一個變量。每個節點的條件分布由一組非負參數給出,這些參數受歸一化限制。如果圖是完全連通的那麼我們就得到了一個具有 K M − 1 K^M-1 KM−1參數的完全一般分布,而如果圖中沒有連結那麼聯合分布就分解成邊緣分布的乘積,參數的總數就是 M ( K − 1 ) M(K-1) M(K−1)。

具有中間連通性的圖允許比完全因式分解的圖更一般的分布,同時比一般聯合分布需要更少的參數。作為一個例子,考慮下圖所示的節點鍊。邊際分布 p ( x 1 ) p(\mathbf{x_1}) p(x1​)需要 K − 1 K-1 K−1個參數,對于 M − 1 M-1 M−1個條件分布的每一個 p ( x i ∣ x i − 1 ) p(\mathbf{x_i}|\mathbf{x_{i-1}}) p(xi​∣xi−1​)需要 K ( K − 1 ) K(K-1) K(K−1)個參數, i = 2 , . . . , M i=2,...,M i=2,...,M。是以參數總數為 K − 1 + ( M − 1 ) K ( K − 1 ) K-1+(M-1)K(K-1) K−1+(M−1)K(K−1),其是 K K K的二次函數,并随着鍊的長度 M M M線性(而不是指數)增長。

[PRML]圖模型-有向圖模型

另一種減少模型中獨立參數數量的方法是共享參數(sharing parameters)(也稱為綁定參數,tying of parameters)。

例如在上圖鍊的例子中,我們可以安排所有的條件分布 p ( x i ∣ x i − 1 ) p(\mathbf{x_i}|\mathbf{x_{i-1}}) p(xi​∣xi−1​),對于 i = 2 , . . . , M i=2,...,M i=2,...,M由同一組 K ( K − 1 ) K(K-1) K(K−1)個參數控制。連同控制 x 1 \mathbf{x_1} x1​分布的 K − 1 K-1 K−1個參數。為了定義聯合分布,則需要指定 K 2 − 1 K^2-1 K2−1個參數。

可以通過引入參數的Dirichlet priors,将離散變量上的圖轉化為貝葉斯模型。從圖形化的角度來看,每個節點都需要一個額外的父節點,其表示與相應的離散節點相關聯的參數上的Dirichlet分布,下圖的鍊模型說明了這一點。

[PRML]圖模型-有向圖模型

在相應的模型中,我們綁定了控制條件分布 p ( x i ∣ x i − 1 ) p(\mathbf{x_i}|\mathbf{x_{i-1}}) p(xi​∣xi−1​)的參數, i = 2 , . . . , M i=2,...,M i=2,...,M,如下圖所示。

[PRML]圖模型-有向圖模型

另一種控制離散變量模型中參數數量指數增長的方法是對條件分布使用參數化模型,而不是使用條件機率值的完整表。

如下圖所示,其中所有節點都表示二進制變量。每個父變量 x i x_i xi​都由一個參數控制 μ i \mu_i μi​控制,其表示機率 p ( x i = 1 ) p(x_i=1) p(xi​=1),為父節點總共提供 M M M個參數。

[PRML]圖模型-有向圖模型

但是條件分布 p ( y ∣ x 1 , . . . , x M ) p(y|x_1,...,x_M) p(y∣x1​,...,xM​)需要 2 M 2^M 2M個參數,表示父變量的 2 M 2^M 2M個可能設定中的每一個的機率 p ( y = 1 ) p(y=1) p(y=1)。是以,一般來說指定這個條件分布所需的參數數量将随 M M M呈指數增長。我們可以通過使用邏輯方程作用于父變量的線性組合得到一個更簡潔的條件分布形式:

p ( y = 1 ∣ x 1 , . . . , x M ) = σ ( w 0 + ∑ i = 1 M w i x i ) = σ ( w T x )   ( 式 10 ) p(y=1|x_1,...,x_M)=\sigma(w_0+\sum_{i=1}^Mw_ix_i)=\sigma(\mathbf{w}^T\mathbf{x}) \ (式10) p(y=1∣x1​,...,xM​)=σ(w0​+i=1∑M​wi​xi​)=σ(wTx) (式10)

上式中, σ ( a ) = ( 1 + e x p ( − a ) ) − 1 \sigma(a)=(1+exp(-a))^{-1} σ(a)=(1+exp(−a))−1是邏輯方程, x = ( x 0 , x 1 , . . . , x M ) T \mathbf{x}=(x_0,x_1,...,x_M)^T x=(x0​,x1​,...,xM​)T是 ( M + 1 ) (M+1) (M+1)維的向量,該向量表示父節點狀态以及擴增的一個附加變量 x 0 x_0 x0​,其值固定為1。 w = ( w 0 , w 1 , . . . , w M ) T \mathbf{w}=(w_0,w_1,...,w_M)^T w=(w0​,w1​,...,wM​)T是 M + 1 M+1 M+1個參數的向量。在這個意義上,它類似于多元高斯分布中協方差矩陣(例如對角矩陣)的限制性形式的選擇。

3.4 線性高斯模型

通過前面我們了解了如何通過将變量表示為有向無環圖中的節點來構造一組離散變量的聯合機率分布。接下來,我們看一下多元高斯函數是如何表示成一個有向圖,其對應于一個線性高斯模型的分量變量。

考慮 D D D個變量上的任意有向無環圖,其中節點 i i i表示具有高斯分布的單個連續随機變量 x i x_i xi​。該分布的均值取為節點 i i i的父節點 p a i pa_i pai​狀态的線性組合:

p ( x i ∣ p a i ) = N ( x i ∣ ∑ j ∈ p a i w i j x j + b i , v i )   ( 式 11 ) p(x_i|pa_i)=\mathcal{N}{\Large{(}}x_i {\Large{|}}\sum_{j\in pa_i}w_{ij}x_j+b_i,v_i{\Large{)}} \ (式11) p(xi​∣pai​)=N(xi​∣j∈pai​∑​wij​xj​+bi​,vi​) (式11)

其中 w i j w_{ij} wij​和 b i b_i bi​是控制均值的參數, v i v_i vi​是 x i x_i xi​的條件分布的方差。聯合分布的對數是這些條件對圖中所有節點的乘積的對數,是以采用這種形式:

ln ⁡ p ( x ) = ∑ i = 1 D ln ⁡ p ( x i ∣ p a i )   ( 式 12 ) = − ∑ i = 1 D 1 2 v i ( x i − ∑ j ∈ p a i w i j x j − b i ) 2 + c o n s t   ( 式 13 ) \begin{aligned} \ln p(\mathbf{x})&=\sum_{i=1}^D\ln p(x_i|pa_i) \ (式12)\\ &=-\sum_{i=1}^D\frac{1}{2v_i}(x_i-\sum_{j\in pa_i}w_{ij}x_j-b_i)^2+const \ (式13) \end{aligned} lnp(x)​=i=1∑D​lnp(xi​∣pai​) (式12)=−i=1∑D​2vi​1​(xi​−j∈pai​∑​wij​xj​−bi​)2+const (式13)​

x = ( x 1 , . . . , x D ) T \mathbf{x}=(x_1,...,x_D)^T x=(x1​,...,xD​)T, c o n s t const const表示與 x \mathbf{x} x無關的項。上式是 x \mathbf{x} x分量的二次函數,是以聯合分布 p ( x ) p(\mathbf{x}) p(x)是一個多元高斯函數。

我們可以遞歸地确定聯合分布的均值和協方差。每個變量 x i x_i xi​(取決于其父變量的狀态)的形式為高斯分布(式11):

x i = ∑ j ∈ p a i w i j x j + b i + v i ϵ i   ( 式 14 ) x_i=\sum_{j\in pa_i}w_{ij}x_j+b_i+\sqrt{v_i}\epsilon_i \ (式14) xi​=j∈pai​∑​wij​xj​+bi​+vi​

​ϵi​ (式14)

ϵ i \epsilon_i ϵi​是均值為0,方差為1的高斯随機變量,滿足 E [ ϵ i ] = 0 E[\epsilon_i]=0 E[ϵi​]=0和 E [ ϵ i ϵ j ] = I i j E[\epsilon_i\epsilon_j]=I_{ij} E[ϵi​ϵj​]=Iij​, I i j I_{ij} Iij​是機關矩陣的第 i , j i,j i,j個元素。

式14的期望:

E [ x i ] = ∑ j ∈ p a i w i j E [ x j ] + b i   ( 式 15 ) E[x_i]=\sum_{j\in pa_i}w_{ij}E[x_j]+b_i \ (式15) E[xi​]=j∈pai​∑​wij​E[xj​]+bi​ (式15)

是以,我們可以找到 E [ x ] = ( E [ x 1 ] , . . . , E [ x D ] ) T E[\mathbf{x}]=(E[x_1],...,E[x_D])^T E[x]=(E[x1​],...,E[xD​])T的成分通過從編号最低的節點開始并在圖中遞歸地工作(這裡我們再次假設節點編号是這樣的,即每個節點的編号都比其父節點的編号高)。同樣地,我們可以使用式14和式15以遞歸關系的形式得到 p ( x ) p(\mathbf{x}) p(x)的協方差矩陣的 i , j i, j i,j元素:

c o v [ x i , x j ] = E [ ( x i − E [ x i ] ) ( x j − E [ x j ] ) ] = E [ ( x i − E [ x i ] ) { ∑ k ∈ p a j w j k ( x k − E [ x k ] ) + v j ϵ j } ] = ∑ k ∈ p a j w j k c o v [ x i , x k ] + I i j v j   ( 式 16 ) \begin{aligned} cov[x_i,x_j]&=E[(x_i-E[x_i])(x_j-E[x_j])]\\ &=E{\Huge{[}}(x_i-E[x_i]){\Huge{\{}} \sum_{k\in pa_j}w_{jk}(x_k-E[x_k])+\sqrt{v_j}\epsilon_j{\Huge{\}}}{\Huge{]}}\\ &= \sum_{k\in pa_j}w_{jk}cov[x_i,x_k]+I_{ij}v_j \ (式16) \end{aligned} cov[xi​,xj​]​=E[(xi​−E[xi​])(xj​−E[xj​])]=E[(xi​−E[xi​]){k∈paj​∑​wjk​(xk​−E[xk​])+vj​

​ϵj​}]=k∈paj​∑​wjk​cov[xi​,xk​]+Iij​vj​ (式16)​

是以,協方差同樣可以從編号最低的節點開始遞歸計算。

現在考慮兩個極端的情況:

  • 首先,假設圖中沒有連結,是以圖中包含 D D D個孤立的節點。在這種情況下,沒有參數 w i j w_{ij} wij​,隻有 D D D個參數 b i b_i bi​和 D D D個參數 v i v_i vi​。從遞歸關系式15和式16可以看出, p ( x ) p(\mathbf{x}) p(x)的均值由 ( b 1 , … , b D ) T (b_1,…,b_D)^T (b1​,…,bD​)T和對角線協方差矩陣 d i a g ( v 1 , . . . , v D ) diag(v_1,...,v_D) diag(v1​,...,vD​)給出。聯合分布有一組 2 D 2D 2D參數,表示一組獨立的 D D D個單變量高斯分布。
  • 現在考慮一個全連通圖,其中每個節點都有編号較低的節點作為父節點。矩陣 w i j w_{ij} wij​在第 i i i行有 i − 1 i-1 i−1個元素,是以是一個下三角矩陣(在主對角線上沒有元素)。參數 w i j w_{ij} wij​的總數是通過 D × D D\times D D×D矩陣的元素數量 D 2 D^2 D2,減去 D D D占主對角線上的缺失元素,然後除以2獲得。因為矩陣隻有對角線以下的元素,總共有 D ( D − 1 ) / 2 D(D-1)/2 D(D−1)/2個。是以,協方差矩陣中獨立參數 { w i j } \{w_{ij}\} {wij​}和 { v i } \{v_i\} {vi​}的總數為 D ( D + 1 ) / 2 D(D+1)/2 D(D+1)/2,對應于一般對稱協方差矩陣(general symmetric covariance matrix)。

具有一定中間複雜度的圖對應于帶有部分限制的協方差矩陣的聯合高斯分布。以下圖為例,它在變量 x 1 x_1 x1​和 x 3 x_3 x3​之間缺少一個連結。利用遞歸關系式15和式16,我們可以看到聯合分布的均值和協方差:

μ = ( b 1 , b 2 + w 21 b 1 , b 3 + w 32 b 2 + w 32 w 21 b 1 ) T   ( 式 17 ) \mu=(b_1,b_2+w_{21}b_1,b_3+w_{32}b_2+w_{32}w_{21}b_1)^T \ (式17) μ=(b1​,b2​+w21​b1​,b3​+w32​b2​+w32​w21​b1​)T (式17)

Σ = ( v 1 w 21 v 1 w 32 w 21 v 1 w 21 v 1 v 2 + w 21 2 v 1 w 32 ( v 2 + w 21 2 v 1 ) ) w 32 w 21 v 1 w 32 ( v 2 + w 21 2 v 1 ) v 3 + w 32 2 ( v 2 + w 21 2 v 1 ) )   ( 式 18 ) \Sigma=\begin{pmatrix} v_1 &w_{21}v_1 &w_{32}w_{21}v_1 \\ w_{21}v_1&v_2+w_{21}^2v_1 &w_{32}(v_2+w_{21}^2v_1)) \\ w_{32}w_{21}v_1 &w_{32}(v_2+w_{21}^2v_1) &v_3+w_{32}^2(v_2+w_{21}^2v_1) \end{pmatrix}\ (式18) Σ=⎝⎛​v1​w21​v1​w32​w21​v1​​w21​v1​v2​+w212​v1​w32​(v2​+w212​v1​)​w32​w21​v1​w32​(v2​+w212​v1​))v3​+w322​(v2​+w212​v1​)​⎠⎞​ (式18)

[PRML]圖模型-有向圖模型

式17和式18的推導:‘

根據式11和式15,均值 μ \mu μ:

μ 1 = Σ j ∈ ∅ w 1 j E [ x j ] + b 1 = b 1 μ 2 = Σ j ∈ { x 1 } w 2 j E [ x j ] + b 2 = w 21 b 1 + b 2 μ 3 = Σ j ∈ { x 2 } w 3 j E [ x j ] + b 3 = w 32 ( w 21 b 1 + b 2 ) + b 3 \begin{aligned} \mu_1&=\Sigma_{j\in \varnothing}w_{1j}E[x_j]+b_1=b_1\\ \mu_2&=\Sigma_{j\in \{x_1\}}w_{2j}E[x_j]+b_2=w_{21}b_1+b_2\\ \mu_3&=\Sigma_{j\in \{x_2\}}w_{3j}E[x_j]+b_3=w_{32}(w_{21}b_1+b_2)+b_3 \end{aligned} μ1​μ2​μ3​​=Σj∈∅​w1j​E[xj​]+b1​=b1​=Σj∈{x1​}​w2j​E[xj​]+b2​=w21​b1​+b2​=Σj∈{x2​}​w3j​E[xj​]+b3​=w32​(w21​b1​+b2​)+b3​​

根據式11和式16,協方差 Σ \Sigma Σ:

c o v [ x 1 , x 1 ] = Σ k ∈ ∅ w 1 j c o v [ x 1 , x k ] + I 11 v 1 = v 1 c o v [ x 1 , x 2 ] = Σ k ∈ { x 1 } w 2 j c o v [ x 1 , x k ] + I 12 v 2 = w 21 v 1 c o v [ x 1 , x 3 ] = Σ j ∈ { x 2 } w 3 j c o v [ x 1 , x k ] + I 13 v 3 = w 32 w 21 v 1 c o v [ x 2 , x 2 ] = Σ j ∈ { x 1 } w 2 j c o v [ x 2 , x k ] + I 22 v 2 = w 21 2 v 1 + v 2 c o v [ x 2 , x 3 ] = Σ j ∈ { x 2 } w 3 j c o v [ x 2 , x k ] + I 23 v 3 = w 32 ( w 21 2 v 1 + v 2 ) c o v [ x 3 , x 3 ] = Σ j ∈ { x 2 } w 3 j c o v [ x 3 , x k ] + I 33 v 3 = w 32 ( w 21 2 v 1 + v 2 ) + v 3 \begin{aligned} cov[x_1,x_1]&=\Sigma_{k\in \varnothing}w_{1j}cov[x_1,x_k]+I_{11}v_1=v_1\\ cov[x_1,x_2]&=\Sigma_{k\in \{x_1\}}w_{2j}cov[x_1,x_k]+I_{12}v_2=w_{21}v_1\\ cov[x_1,x_3]&=\Sigma_{j\in \{x_2\}}w_{3j}cov[x_1,x_k]+I_{13}v_3=w_{32}w_{21}v_1\\ cov[x_2,x_2]&=\Sigma_{j\in \{x_1\}}w_{2j}cov[x_2,x_k]+I_{22}v_2=w_{21}^2v_1+v_2\\ cov[x_2,x_3]&=\Sigma_{j\in \{x_2\}}w_{3j}cov[x_2,x_k]+I_{23}v_3=w_{32}(w_{21}^2v_1+v_2)\\ cov[x_3,x_3]&=\Sigma_{j\in \{x_2\}}w_{3j}cov[x_3,x_k]+I_{33}v_3=w_{32}(w_{21}^2v_1+v_2)+v_3 \end{aligned} cov[x1​,x1​]cov[x1​,x2​]cov[x1​,x3​]cov[x2​,x2​]cov[x2​,x3​]cov[x3​,x3​]​=Σk∈∅​w1j​cov[x1​,xk​]+I11​v1​=v1​=Σk∈{x1​}​w2j​cov[x1​,xk​]+I12​v2​=w21​v1​=Σj∈{x2​}​w3j​cov[x1​,xk​]+I13​v3​=w32​w21​v1​=Σj∈{x1​}​w2j​cov[x2​,xk​]+I22​v2​=w212​v1​+v2​=Σj∈{x2​}​w3j​cov[x2​,xk​]+I23​v3​=w32​(w212​v1​+v2​)=Σj∈{x2​}​w3j​cov[x3​,xk​]+I33​v3​=w32​(w212​v1​+v2​)+v3​​

我們可以很容易地将線性-高斯圖模型擴充到圖的節點表示多元高斯變量的情況。在這種情況下,我們可以将節點 i i i的條件分布寫成這種形式:

p ( x i ∣ p a i ) = N ( x i ∣ ∑ j ∈ p a i W i j x j + b i , Σ i )   ( 式 19 ) p(\mathbf{x}_i|pa_i)=\mathcal{N}{\Large{(}}\mathbf{x}_i {\Large{|}}\sum_{j\in pa_i}\mathbf{W}_{ij}\mathbf{x}_j+\mathbf{b}_i,\mathbf{\Sigma}_i{\Large{)}} \ (式19) p(xi​∣pai​)=N(xi​∣j∈pai​∑​Wij​xj​+bi​,Σi​) (式19)

W i j \mathbf{W}_{ij} Wij​是一個矩陣(如果 x i x_i xi​和 x j x_j xj​具有不同的維數,則為非平方矩陣)。同樣,很容易證明所有變量的聯合分布是高斯分布。

一個高斯變量 x \mathbf{x} x的均值 μ \mu μ的共轭先驗(conjugate prior)本身就是一個高斯分布。是以 x \mathbf{x} x和 μ \mu μ的聯合分布也是高斯分布。這對應于一個簡單的雙節點圖,其中表示 μ \mu μ的節點是表示 x \mathbf{x} x的節點的父節點。分布的均值 μ \mu μ是一個控制先驗的參數,是以可以将其視為超參數。因為這個超參數的值本身可能是未知的,我們可以再次從貝葉斯的角度來處理它,方法是在超參數之上引入一個先驗,有時被稱為超先驗(hyperprior),它也是由一個高斯分布給出的。這種類型的構造原則上可以擴充到任何級别,它是分層貝葉斯模型的一個例子(hierarchical Bayesian model)。

繼續閱讀