首先考慮任意的三個變量 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。
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∏Kp(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}。
有向圖必須考慮一個重要的限制即不存在有向循環。 換句話講就是圖不能有閉環即從一個節點沿着連結的箭頭方向移動,最終可以回到起始節點。這種圖又叫有向無環圖(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∏Kp(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−1p(xk∣pak)=x1∑⋯xK−1∑k=1∏K−1p(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
模型中的随機變量為多項式系數 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∏Np(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∏Np(tn∣w,n,σ2)
當我們将圖模型應用于機器學習或模式識别中的問題時,我們通常會将一些随機變量設定為特定的觀察值,如多項式曲線拟合中訓練集中的變量 { 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∏Np(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∏Np(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}。
圖模型捕獲了産生觀測資料的因果過程(causal process)。是以,這樣的模型通常被稱為生成模型。相比之下,多項式回歸圖模型不具有可生性,因為與輸入變量 x x x沒有關聯的機率分布,是以不可能從該模型中生成合成資料點。我們可以通過引入一個合适的先驗分布 p ( x ) p(x) p(x),以一個更複雜的模型為代價,使其生成。
對于有 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∏Kl=1∏Kμklx1kx2l
因為參數 μ 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個參數。
如下圖所示,其中所有節點都表示二進制變量。每個父變量 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∑Mwixi)=σ(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個參數的向量。在這個意義上,它類似于多元高斯分布中協方差矩陣(例如對角矩陣)的限制性形式的選擇。
考慮 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∑wijxj+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∑Dlnp(xi∣pai) (式12)=−i=1∑D2vi1(xi−j∈pai∑wijxj−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∑wijxj+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∑wijE[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∑wjkcov[xi,xk]+Iijvj (式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+w21b1,b3+w32b2+w32w21b1)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) Σ=⎝⎛v1w21v1w32w21v1w21v1v2+w212v1w32(v2+w212v1)w32w21v1w32(v2+w212v1))v3+w322(v2+w212v1)⎠⎞ (式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∈∅w1jE[xj]+b1=b1=Σj∈{x1}w2jE[xj]+b2=w21b1+b2=Σj∈{x2}w3jE[xj]+b3=w32(w21b1+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∈∅w1jcov[x1,xk]+I11v1=v1=Σk∈{x1}w2jcov[x1,xk]+I12v2=w21v1=Σj∈{x2}w3jcov[x1,xk]+I13v3=w32w21v1=Σj∈{x1}w2jcov[x2,xk]+I22v2=w212v1+v2=Σj∈{x2}w3jcov[x2,xk]+I23v3=w32(w212v1+v2)=Σj∈{x2}w3jcov[x3,xk]+I33v3=w32(w212v1+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∑Wijxj+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)。