機率圖模型:貝葉斯網路

來源:互聯網
上載者:User

標籤:

http://blog.csdn.net/pipisorry/article/details/51461997

貝葉斯網狀圖模型的表示

    為了理解有向圖對於描述機率分布的作用,首先考慮三個變數 a, b, c 上的一個任意的聯合分布 p(a, b, c) 。注意,現階段我們不需要對這些變數做出任何更多的假設,例如它們是離散的還是連續的。實際上,圖模型的一個強大的方面是,一個具體的圖可以描述一大類機率分布。通過使用機率的乘積規則(1.11),我們可以將聯合機率分布寫成下面的形式。
p(a, b, c) = p(c | a, b)p(a, b)            (8.1)
再次使用乘積規則,這次處理方程(8.1)右側的第二項,我們有
p(a, b, c) = p(c | a, b)p(b | a)p(a)           (8.2)
注意,這個分解方法對於任意的聯合機率分布的選擇都成立。

簡單的圖模型表示

    現在,我們使用一個簡單的圖模型表示方程(8.2)的右側,如下所述。首先,我們為每個隨機變數 a, b, c 引入一個結點,然後為每個結點關聯上公式(8.2)右側的對應的條件機率。然後,對於每個條件機率分布,我們在圖中添加一個連結(箭頭),連結的起點是條件機率的條件中的隨機變數對應的結點。因此,對於因子 p(c | a, b) ,會存在從結點 a, b 到結點 c 的連結,而對於因子 p(a) ,沒有輸入的連結。結果就是圖8.1中的圖。如果存在一個從結點 a 到結點 b 的連結,那麼我們說結點 a 是結點 b 的父結點,結點 b 是結點 a 的子結點。注意,我們不會形式化地區分結點和結點對應的變數,而是簡單地使用同樣的符號表示兩者。關於公式(8.2),很有趣的一點是,它的左側關於三個變數 a, b, c 是對稱的,而右側不是。實際上,通過進行公式(8.2)的分解,我們隱式地選擇了一個特定的順序(即 a, b, c )。如果選擇一個不同的順序,我們會得到一個不同的分解方式,因此就得到一個不同的圖表示形式。

K變數聯合機率分布的圖模型表示

    我們將圖8.1給出的例子擴充到 K 個變數的聯合機率分布 p(x 1 , . . . , x K ) 。通過重複使用機率的乘積規則,聯合機率分布可以寫成條件機率的乘積,每一項對應一個變數,形式如下
p(x 1 , . . . , x K ) = p(x K | x 1 , . . . , x K?1 ) . . . p(x 2 | x 1 )p(x 1 )    (8.3)
對應一個給定的 K ,我們可以將其表示為一個具有 K 個結點的有向圖,每個結點對應於公式(8.3)右側的一個條件機率分布,每個結點的輸入連結包括所有以編號低於當前結點編號的結點為起點的連結。我們說,這個圖是全串連的( fully connected ),因為每對結點之間都存在一個連結。

缺失連通圖示

    目前為止,我們操作的對象是一個完全一般的聯合機率分布,從而分解方式以及對應的全連通圖示,可以應用於機率分布的任意選擇。正如我們將會看到的,真正傳遞出圖表示的機率分布的性質的有趣資訊的是圖中連結的缺失( absence )。考慮圖8.2的圖。這不是一個全串連的圖,因為從 x 1 到 x 2 或者從 x 3 到 x 7 之間不存在連結。
現在,我們將根據這幅圖,寫出對應的聯合機率運算式。聯合機率運算式由一系列條件機率的乘積組成,每一項對應於圖中的一個結點。每個這樣的條件機率分布只以圖中對應結點的父結點為條件。例如, x 5 以 x 1 和 x 3 為條件。於是,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 )        (8.4)

有向圖和變數的機率分布間的一般關係

    我們現在說明給定的有向圖和變數上對應的機率分布之間的一般關係。在圖的所有結點上定義的聯合機率分布由每個結點上的條件機率分布的乘積表示,每個條件機率分布的條件都是圖中結點的父結點所對應的變數。因此,對於一個有 K 個結點的圖,聯合機率為

其中, pa k 表示 x k 的父結點的集合, x = {x 1 , . . . , x K } 。這個關鍵的方程表示有向圖模型的聯合機率分布的分解( factorization )屬性。雖然我們之前考慮的情況是每個結點對應於一個變數的情形,但是我們可以很容易地推廣到讓圖的每個結點關聯一個變數的集合,或者關聯向量值的變數。很容易證明,如果公式(8.5)右側的每一個條件機率分布都是歸一化的,那麼這個表示方法整體總是歸一化的。

皮皮blog



例子:貝葉斯多項式迴歸1.2.6曲線擬合問題

    在曲線擬合問題中,我們知道訓練資料 x 和 t ,以及一個新的測試點 x ,我們的目標是預測 t 的值。因此我們想估計預測分布 p(t | x, x, t) 。這裡我們要假設參數 α 和 β 是固定的,事Crowdsourced Security Testing道的(後續章節中我們會討論這種參數如何通過貝葉斯方法從資料中推斷出來)。簡單地說,貝葉斯方法就是自始至終地使用機率的加和規則和乘積規則。因此預測機率可以寫成下面的形式

p(t | x, x, t)  = ∫p(t | x, w)p(w | x, t) d w

隨機變數聯合機率分布的表示

    作為有向圖描述機率分布的一個例子,我們考慮1.2.6節介紹的貝葉斯多項式擬合模型。這個模型中的隨機變數是多項式係數向量 w 和觀測資料 t = (t 1 , . . . , t N ) T 。此外,這個模型包含輸入資料 x = (x 1 , . . . , x N ) T 、雜訊方差 σ 2 以及表示 w 的高斯先驗分布的精度的超參數 α 。所有這些都是模型的參數而不是隨機變數。
現階段我們只關注隨機變數,我們看到聯合機率分布等於先驗機率分布 p(w) 與 N 個條件機率分布 p(t n | w) 的乘積( n = 1, . . . , N ),即
(lz:8.6和p(w | x, t)是正比的)
圖模型表示的聯合機率分布8.3所示。

複雜模型的板( plate )表示

    當我們開始處理更加複雜的模型時,我們會看到,像圖8.3那樣顯式地寫出 t 1 , . . . , t N 的結點是很不方便的。於是,我們引入一種圖結構,使得多個結點可以更簡潔地表示出來。這種圖結構中,我們畫出一個單一表示的結點 t n ,然後用一個被稱為板( plate )的方框圈起來,標記為 N ,表示有 N 個同類型的點。用這種方式重新表示圖8.3,我們得到了圖8.4所示的圖。

顯式表示參數和隨機變數

    我們有時會發現,顯式地寫出模型的參數和隨機變數是很有協助的。此時,公式(8.6)就變成了

對應地,我們可以在圖表示中顯式地寫出 x 和 α 。為了這樣做,我們會遵循下面的慣例:隨機變數由空心圓表示,確定性參數由小的實心圓表示。如果我們讓圖8.4包含確定性參數,我們就得到了圖8.5。

觀測變數和潛在變數

    當我們將圖模型應用於機器學習或者模式識別的問題中時,我們通常將某些隨機變數設定為具體的值,例如將變數 {t n } 根據多項式曲線擬合中的訓練集進行設定。在圖模型中,我們通過給對應的結點加上陰影的方式來表示這種觀測變數( observed variables )。於是,圖8.5所示的圖中,如果 {t n } 是觀測變數,那麼就變成了圖8.6。注意, w 不是觀測變數,因此 w 是潛在變數( latent variable )的一個例子。潛在變數也被稱為隱含變數( hidden variable )。

係數 w 的的後驗機率

觀測到了 {t n } 的值,如果必要的話,我們可以計算係數 w 的的後驗機率。現階段,我們注意到,這是貝葉斯定理的一個直接應用。

觀測資料為條件的t 的機率分布

其中,我們再一次省略了確定性參數,使得記號簡潔。

通常,我們對於 w 這樣的參數本身不感興趣,因為我們的最終目標是對輸入變數進行預測。假設給定一個輸入值 x ,我們想找到以觀測資料為條件的對應的 t 的機率分布。描述這個問題的圖模型8.7所示。以確定性參數(x)為條件,這個模型的所有隨機變數(t, w)的聯合分布為

然後,根據機率的加和規則,對模型參數 w 積分,即可得到 t 的預測分布

其中我們隱式地將 t 中的隨機變數設定為資料集中觀測到的具體值。


皮皮blog



產生式模型
祖先取樣( ancestral sampling )

    許多情況下,我們希望從給定的機率分布中抽取樣本。這裡簡要介紹祖先取樣( ancestral sampling ),與圖模型特別相關。考慮 K 個變數的一個聯合機率分布 p(x 1 , . . . , x K ) ,它根據公式(8.5)進行分解,對應於一個有向非循環圖。我們假設變數已經進行了排序,從而不存在從某個結點到序號較低的結點的連結。換句話說,每個結點的序號都大於它的父結點。我們的目標是從這樣的聯合機率分布中取樣 x 1 , . . . , x K

為了完成這一點,我們首先選出序號最小的結點,按照機率分布 p(x 1 ) 取樣,記作 x 1 。然後,我們順序計算每個結點,使得對於結點 n ,我們根據條件機率 p(x n | pa n ) 進行取樣,其中父結點的變數被設定為它們的取樣值。注意,在每個階段,這些父結點的變數總是可以得到的,因為它們對應於已經採樣過的序號較小的結點。按照具體的機率分布的取樣方法將會在第11章詳細討論。一旦我們對最後的變數 x K 取樣結束,我們就達到了根據聯合機率分布取樣的目標。為了從對應於變數的子集的邊緣機率分布中取樣,我們簡單地取要求結點的取樣值,忽略剩餘結點的取樣值。例如,為了從機率分布 p(x 2 , x 4 ) 中取樣,我們簡單地對聯合機率分布取樣,然後保留 x 2 , x 4 ,丟棄剩餘的值 {x j? =2,4 } 。

機率模型的實際應用

    對於機率模型的實際應用,通常的情況是,數量眾多的變數對應於圖的終端結點(表示觀測值),較少的變數對應於潛在變數。潛在變數的主要作用是使得觀測變數上的複雜分布可以表示為由簡單條件分布(通常是指數族分布)構建的模型。

我們可以將這樣的模型表示為觀測資料產生的過程。例如,考慮一個模式識別的任務,其中每個觀測值對應於一幅映像(由像素灰階值的向量組成)。這種情況下,潛在變數可以看成物體的位置或者方向。給定一個特定的觀測映像,我們的目標是找到物體上的後驗機率分布,其中我們對於所有可能的位置和方向進行了積分。我們可以使用圖8.8的圖模型表示這個問題。

The image (a vectorof pixel intensities) has a probability distribution thatis dependent on the identity of the object as well ason its position and orientation.

產生式模型( generative model )

    圖模型描述了產生觀測資料的一種因果關係( causal )過程( Pearl, 1988 )。因此,這種模型通常被稱為產生式模型( generative model )。相反,圖8.5描述的多項式迴歸模型不是產生式模型,因為沒有與輸入變數 x 相關聯的機率分布,因此無法從這個模型中人工產生資料點。通過引入合適的先驗機率分布 p(x) ,我們可以將模型變為產生式模型,代價是增加了模型的複雜度。

然而,機率模型中的隱含變數不必具有顯式的物理含義。它的引入可以僅僅為了從更簡單的成分中建立一個更複雜的聯合機率分布。在任何一種情況下,應用於產生式模型的祖先取樣方法都類比了觀測資料的創造過程,因此可以產生“幻想的”資料,它的機率分布(如果模型完美地表示現實)與觀測資料的機率分布相同。在實際應用中,從一個產生式模型中產生人工產生的觀測資料,對於理解模型所表示的機率分布形式很有協助。

皮皮blog



離散變數

{如何在一組離散變數上構建聯合機率分布}

    指數族機率分布將許多著名的機率分布當成了指數族分布的特例。雖然指數族分布相對比較簡單,但是它們組成了構建更複雜機率分布的基本元件。圖模型的架構在表達這些基本元件之間的聯絡時非常有用。

    如果我們將有向圖中的每個父結點-子結點對的關係選為共軛的,那麼這樣的模型有一些特別好的性質,我們稍後會給出幾個例子。兩種情形很值得注意,即父結點和子結點都對應於離散變數的情形,以及它們都對應高斯變數的情形,因為在這兩種情形中,關係可以層次化地推廣,構建任意複雜的有向非循環圖。我們首先考察離散變數的情形。

一元離散變數機率分布運算式

    對於有著 K 個可能狀態(使用“1- of - K ”表達方式)的一元離散變數 x ,機率 p(x | μ) 為

(lz:多項式分布)

並且由參數 μ = (μ 1 , . . . , μ K ) T 控制。由於限制條件 k μ k = 1 的存在,因此為了定義機率分布,只需要指定 K ? 1 個 μ k 的值即可。

多元離散變數機率分布運算式

    現在假設我們有兩個離散變數 x 1 和 x 2 ,每個都有 K 個狀態,我們項對它們的聯合機率分布建模。我們將 x 1k = 1 和 x 2l = 1 同時被觀測到的機率記作參數 μ kl ,其中 x 1k 表示 x 1 的第 k 個分量, x 2l 的意義與此相似。聯合機率分布可以寫成

由於參數 μ kl 滿足限制條件 ,因此這個分布由 K^ 2 ? 1 個參數控制。很容易看到,對於 M 個變數的任意一個聯合機率分布,需要確定的參數的數量為 K ^M ? 1 ,因此隨著變數 M 的數量指數增長。

減小模型中獨立參數數量

1 減少圖連結

    使用機率的乘積規則,我們可以將聯合機率分布 p(x 1 , x 2 ) 分解為 p(x 2 | x 1 )p(x 1 ) ,它對應於一個具有兩個結點的圖,連結從結點 x 1 指向結點 x 2 ,8.9(a)所示。邊緣機率分布 p(x 1 ) 與之前一樣,由 K ? 1 個參數控制。類似地,條件機率分布 p(x 2 | x 1 ) 需要指定 K ? 1 個參數,確定 x 1 的 K 個可能的取值。因此,與之前一樣,在聯合機率分布中,需要指定的參數的總數為 (K ? 1) + K(K ? 1) = K ^ 2 ? 1 。

現在假設變數 x 1 和 x 2 是獨立的,對應於圖8.9(b)所示的圖模型。這樣,每個變數由一個獨立的多項式機率分布描述,參數的總數是 2(K ? 1) 。對於 M 個獨立離散變數上的機率分布,其中每個變數有 K 個可能的狀態,參數的總數為 M (K ? 1) ,因此隨著變數的數量線性增長。從圖的角度看,我們通過刪除結點之間連結的方式,減小了參數的數量,代價是類別的機率分布受到了限制。

更一般地,如果我們有 M 個離散變數 x 1 , . . . , x M ,那麼我們可以使用有向圖來對聯合機率分布建模,每個變數對應於一個結點。每個結點的條件機率分布由一組非負參數給出,同時需要滿足歸一化限制條件。如果圖是全串連的,那麼我們有一個完全一般的機率分布,這個分布有 K M ? 1 個參數。而如果圖中不存在連結,那麼聯合機率分布可以分解為邊緣機率分布的乘積,參數的總數為 M (K ? 1) 。串連度處於二者之間的圖使得模型能夠處理比完全分解的機率分布更加一般的機率分布,同時參數的數量比一般的聯合機率分布的參數數量少。作為一個說明,考慮圖8.10所示的結點鏈。邊緣機率分布 p(x 1 ) 需要 K ? 1 個參數,而對於 M ? 1 個條件機率分布 p(x i | x i?1 ) (其中 i = 2, . . . , M )需要 K(K ? 1) 個參數。從而,參數的總數為 K ? 1 + (M ? 1)K(K ? 1) ,這是 K 的二次函數,並且隨著鏈的長度 M 線性增長(而不是指數增長)。

2 參數共用

    另一種減小模型中獨立參數數量的方法是參數共用(sharing),也被稱為參數捆紮(tying)。例如,在圖8.10給出的結點鏈的例子,我們可以使所有的條件機率分布p(xi|xi?1)(其中i=2,...,M)由同樣的參數集合K(K?1)。加上控制x1的K?1個參數,為了定義聯合機率分布所需指定的參數的總數為K2?1。   

    貝葉斯模型:引入參數的狄利克雷先驗

    通過引入參數的狄利克雷先驗,我們可以將離散變數上的圖模型轉化為貝葉斯模型。從圖的觀點來看,每個結點需要額外的父結點表示對應於每個離散結點的參數。這種情況在圖8.11中進行了說明。

如果我們將控制條件機率分布 p(x i | x i?1 ) (其中 i = 2, . . . , M )的參數進行參數共用,那麼對應的模型8.12所示。

3 對條件機率分布使用參數化的模型

    另一種控制離散變數模型參數數量的指數增長的方式是對條件機率分布使用參數化的模型,而不使用條件機率值的完整表格。為了說明這個想法,考慮圖8.13所示的圖,其中所有的結點表示二值變數。每個父結點變數 x i 由單一參數 μ i 控制,這個參數表示機率 p(x i = 1) ,從而對於 M 個父結點,參數總數為 M 。但是,條件機率分布 p(x 1 , . . . , x M ) 需要 2 M 個參數,每個參數表示 2 M 種父結點變數的可能配置下的機率 p(y = 1) 。因此,通常來說,確定這個條件機率分布的參數的數量會隨著 M 指數增長。將 logistic sigmoid 函數作用於父結點變數的線性組合上,我們可以得到一個更加簡潔的條件機率分布,形式為


其中σ(a)=(1+exp(?a))^?1是一個logisticsigmoid函數,x=(x0,x1,...,xM)T是一個(M+1)維向量,表示父結點的M個狀態加上一個額外的變數x0,其值被固定為1。w=(w0,w1,...,wM)T是一個M+1個參數的向量。與一般的情形相比,這是一個更加受限形式的條件機率分布,但是參數的數量隨著M線性增長。在這種情況下,類似於選擇多元高斯分布的共變數矩陣的限制形式(例如對角矩陣)。

皮皮blog



線性高斯模型

{多元高斯分布如何表示為一個對應於成分變數上的線性高斯模型的有向非循環圖}

    說明多元高斯分布如何表示為一個對應於成分變數上的線性高斯模型的有向非循環圖。這使得我們在機率分布上施加有趣的結構,這些結構中的兩個相反的極端情況是一般的高斯分布和對角化共變數高斯分布。幾種廣泛使用的方法是線性高斯模型的例子,例如機率主成分分析,因子分析,以及線性動態系統( Roweis and Ghahramani,1999 )。

多元高斯分布的聯合機率分布 p(x)

    考慮 D 個變數上的任意的有向非循環圖,其中結點 i 表示服從高斯分布的一元連續隨機變數 x i 。這個分布的均值是結點 i 的父結點pa i 的狀態的線性組合,即


其中 w ij 和 b i 是控制均值的參數, v i 是 x i 的條件機率分布的方差。這樣,聯合機率分布的對數為圖中所有結點上的這些條件分布的乘積的對數,因此形式為


其中 x = (x 1 , . . . , x D ) T ,“常數”表示與 x 無關的項。我們看到這是 x 的元素的二次函數,因此聯合機率分布 p(x) 是一個多元高斯分布。

遞迴計算聯合機率分布的均值和方差

    我們可以遞迴地確定聯合機率分布的均值和方差,方法如下。每個變數 x i 的機率分布都是(以父結點狀態為條件的)高斯分布,形式為公式(8.11)所示。因此


其中 ε i 是一個零均值單位方差的高斯隨機變數,滿足 E[ε i ] = 0 且 E[ε i ε j ] = I ij ,其中 I ij 是單位矩陣的第 i, j 個元素。對公式(8.14)取期望,我們有


這 樣, 從 一 個 序 號 最 低 的 結 點 開 始, 沿 著 圖 遞 歸 地 計 算, 我 們 就 可 以 求出 E[x] = (E[x 1 ], . . . , E[x D ]) T 的各個元素。這裡,我們再一次假設所有結點的序號都大於它的父結點的句號。類似地,我們可以使用公式(8.14)和(8.15),以遞迴的方式得到 p(x) 的共變數矩陣的第 i, j 個元素,即

因此共變數可以從序號最低的結點開始,遞迴地計算。

兩 個 極 端 的 情 形

讓 我 們 考 慮 兩 個 極 端 的 情 形。
    首 先, 假 設 圖 中 不 存 在 鏈 接, 因 此 圖 由 D 個 孤 立 的 結 點組 成。 在 這 種 情 況 下, 不 存 在 參 數 w ij , 因 此 只 有 D 個 參 數 b i 和 D 個 參 數 v i 。 根 據 遞 歸 關 系(8.15)和(8.16),我們看到 p(x) 的均值為 (b 1 , . . . , b D ) T ,共變數矩陣是一個對角矩陣,形式為diag (v 1 , . . . , v D ) 。聯合機率分布總計有 2D 個參數,表示 D 個獨立的一元高斯分布組成的集合。

    現在考慮一個全串連的圖,其中每個結點的序號都低於其父結點的序號。這樣矩陣 w ij 的第 i 行有 i ? 1 項,因此矩陣是一個下三角矩陣(主對角線上沒有元素)。參數 w ij 的數量從而可以通過下面的方式得到:取 D × D 的元素個數 D^2 ,減去 D ,表示主對角線上沒有元素,再除以2,因為矩陣只在對角線下方存在元素,從而參數的總數為 D(D?1)/2。獨立參數 {w ij } 加上共變數矩陣中的 {v i } ,因此獨立參數的總數為 D(D+1)/2 ,對應於一個一般的對稱共變數矩陣。

複雜度處於兩種極端情況之間

    複雜度處於兩種極端情況之間的圖對應於共變數矩陣取特定形式的聯合高斯分布。考慮圖8.14中的圖,它在變數 x 1 和 x 3 之間不存在連結。使用遞迴關係(8.15)和(8.16),我們看到聯合高斯分布的均值和共變數為



我們已經可以將線性高斯圖模型擴充到結點表示多元高斯變數的情形。在這種情況下,我們可以將結點 i 的條件機率分布寫成下面的形式

現在 W ij 是一個矩陣。如果 x i 和 x j 的維度不同,那麼 W ij 不是方陣。與之前一樣,很容易證明所有變數上的聯合機率分布是高斯分布。

注意,我們已經看到高斯變數 x 的均值 μ 的共軛先驗本身是 μ 上的一個高斯分布。此時我們已經遇到了線性高斯關係的一個具體的例子。因此 x 和 μ 的聯合分布就是高斯分布。這對應於一個簡單的具有兩個結點的圖,其中表示 μ 和結點是表示 x 的結點的父結點。 μ 上的機率分布的均值是控制先驗分布的參數,因此它可以被看做超參數。由於超參數的值本身是未知的,因此我們可以再一次使用貝葉斯的觀點,引入一個超參數上的先驗機率分布。這個先驗機率分布有時被稱為超先驗( hyperprior ),它還是一個高斯分布。這種構造過程原則上可以延伸到任意層次。這個模型是層次貝葉斯模型( hierarchical Bayesian model )的一個例子。

from: http://blog.csdn.net/pipisorry/article/details/51461997

ref: prml chapter 8:GRAPHICAL MODELS


機率圖模型:貝葉斯網路

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.