學習第14章 概率圖模型

機器學習的核心思想就是根據已知的內容去推測未知的內容,然後在已知和未知之間建立起聯繫,這個聯繫就是機器學習中的各種模型!這和我們的經驗系統很像,在第一章中的挑西瓜的例子就是我們利用經驗系統來把西瓜的可觀測外觀信息(根蒂、花紋、聲響)和未知信息(是否是好瓜)建立起聯繫的結果。

說回本章的內容,一種建立已知信息與未知信息聯繫的方法是對未知信息的概率分佈進行推測。概率模型(probabilistic model)提供了一種描述框架,將學習任務歸結於計算變量的概率分佈。在概率模型中,利用已知變量推測未知變量的分佈稱爲“推斷”(inference),其核心是如何基於可觀測變量 x 推測出未知變量 c 的條件分佈 P( c | x ) 。貝葉斯學習算法就是一個經典的概率模型

具體來說,概率模型有“生成式”和“判別式”兩種方式,這兩種類型的區別在第七章貝葉斯分類器“一起來讀西瓜書:第七章 貝葉斯分類器”中已有過介紹,簡單來說,前者是通過計算 P(c, r, x) 來得到 P( c | x )的,後者是直接計算 P(c, r | x) 來得到 P( c | x )的,其中 r 是除了可觀測變量和要計算的變量外的其他變量。

上邊介紹了那麼多,那麼到底什麼是概率圖模型呢?

概率圖模型是一類用圖來表達變量相關關係的概率模型。使用概率圖模型的原因是因爲直接利用概率求和規則消去變量 r 計算開銷太大,而且屬性之間往往存在複雜的關係,而以圖爲表現工具,對變量間的關係進行簡潔緊湊的表達將有助於提高研究推斷和學習算法的效率。

概率圖模型根據邊的性質不同,大致可分爲以下兩類:第一類是使用有向無環圖表示變量之間的依賴關係,稱爲有向圖模型或者貝葉斯網(Bayesian network);第二類是使用無向圖表示變量間的相關關係,稱爲無向圖模型或者馬爾可夫網(Markov network)

下邊我將分別對概率圖模型的不同類型、學習和推斷詳情以及具體的模型進行介紹,希望通過本章的學習,大夥能對概率圖模型有個較爲清晰的認識

1)隱馬爾可夫模型(Hidden Markov Model,簡稱 HMM )

隱馬爾可夫模型是結構最簡單的動態貝葉斯網(Dynamic Bayesian Network),這是一種著名的有向圖模型,主要用於時序數據建模,在語音識別、自然語言處理領域有廣泛應用。

隱馬爾可夫模型具有兩組變量,第一組是系統的狀態變量{y1, y2, ... , yn},其中 yi 爲第 i 時刻系統的狀態。通常假定狀態變量是隱藏的、不可被觀測的,因此狀態變量亦稱“隱變量”(hidden variable)。第二組是觀測變量{x1, x2, ... , xn},其中 xi 是第 i 時刻的觀測值。下圖是隱馬爾可夫模型的圖結構:

圖中的箭頭表示了變量間的依賴關係。隱馬爾可夫模型是建立在這樣的前提下的:在任一時刻,觀測變量的取值僅依賴於其對應的狀態變量,即 xi 由 yi 決定;同時,t 時刻的狀態變量只由 t-1 時刻的狀態變量決定。

這就是所謂的“馬爾可夫鏈”(Markov Chain):系統下一時刻的狀態僅由當前狀態決定,不依賴於以往的任何狀態

基於這種依賴關係,所有變量的聯合概率分佈爲:

P(x1, y1, ... , xn, yn) =

P(y1) P( x1| y1 ) P( y2 | y1 ) P( x2 | y2) ... P( yn | yn-1) P( xn | yn)

除了結構信息,欲確定一個隱馬爾可夫模型還需以下三組參數:

[1]狀態轉移概率:A -> aij = P( yt+1 = sj | yt = si ),系統從一個狀態轉移到另一個狀態的概率

[2]輸出觀測概率:B -> bij = P( xt = oj | yt = si ) ,系統在當前狀態的觀測值概率

[3]初始狀態概率:∏ -> ∏i = P( y1 = oj ),系統的初始狀態概率

通過指定狀態空間 Y、觀測空間 X 和上述三組概率參數 r = [A, B, ∏] ,就能確定一個隱馬爾可夫模型。具體的步驟爲:

[1]用初始狀態概率 ∏ 算出初始狀態 y0

[2]用 B 算出當前狀態的觀測值 xt

[3]用 A 算出下一個狀態 yt+1

[4]重複第二、第三步直到到達停止條件

可在實際應用中,隱馬爾可夫模型的參數並不一定都能得到,因此人們常常關注下邊三個基本問題:

[1]給定了參數 r,並且知道觀測序列 X = {x0, x1, ..., xn-1},評估模型與觀測序列之間的匹配程度,來推測下一狀態的觀測概率: P( xn | r )

[2]給定了參數 r,並且知道觀測序列 X = {x0, x1, ..., xn},要預測對應的狀態序列 Y = {y0, y1, ..., yn}

[3]給定觀測序列 X = {x0, x1, ..., xn},如何調整模型參數 r 使得該序列出現的概率最大

2)馬爾可夫隨機場(Markov Random Field,簡稱 MRF)

馬爾可夫隨機場是典型的馬爾可夫網,這是一種著名的無向圖模型。圖中的每個節點代表一個或一組變量,節點之間的邊表示兩個變量之間的依賴關係。 馬爾可夫隨機場有一組勢函數(potential functions),亦稱“因子”(factor),這是定義在變量子集上的非負實函數,主要用於定義概率分佈函數。

馬爾可夫隨機場是一種具有馬爾可夫特性的隨機場,要理解什麼是馬爾可夫隨機場,我們得要先理解什麼是隨機場,而什麼又是馬爾科夫特性。

[1]什麼是隨機場

在概率論中, 由樣本空間Ω = {0, 1, …, G − 1}n取樣構成的隨機變量Xi所組成的S = {X1, …, Xn}。若對所有的ω∈Ω下式均成立,則稱π爲一個隨機場。

π(ω) > 0.

當給每一個位置中按照某種分佈隨機賦予相空間的一個值之後,其全體就叫做隨機場。我們不妨拿種地來打個比方。其中有兩個概念:位置(site),相空間(phase space)。“位置”好比是一畝畝農田;“相空間”好比是種的各種莊稼。我們可以給不同的地種上不同的莊稼,這就好比給隨機場的每個“位置”,賦予相空間裏不同的值。所以,俗氣點說,隨機場就是在哪塊地裏種什麼莊稼的事情

[2]什麼是馬爾可夫特性

上一節我們提到了馬爾可夫鏈的概念,即系統的下一狀態僅由當前狀態決定,不依賴於以往的任何狀態。馬爾可夫特性是這個概念的一個變化,即一個變量只與其鄰接變量相關,不依賴於不相鄰的任何變量

還是拿種地打比方,如果任何一塊地裏種的莊稼的種類僅僅與它鄰近的地裏種的莊稼的種類有關,與其它地方的莊稼的種類無關,那麼這些地裏種的莊稼的集合,就是一個馬爾可夫隨機場。

[3]“團”(clique)、“極大團”(maximal clique)及聯合概率

下圖是一個簡單的馬爾可夫隨機場。對於圖中結點的一個子集,若任意兩個結點間都有邊連接,則稱該結點子集爲一個團。若在一個團中加入另外任何一個結點都不再構成團,則稱該團爲極大團

引入團概念的原因是什麼呢?其實很簡單,就是爲了能更方便的計算變量x的聯合概率。根據馬爾可夫特性,每個變量只與其鄰接結點相關,那麼多個變量之間的聯合概率分佈能基於團分解爲多個因子的乘積。具體來說,對於 n 個變量 x = {x1, x2, ..., xn},所有團構成的集合爲 C,與團 Q 屬於 C 對應的變量集合記爲 xQ,則聯合概率 P(x) 定義爲:

其中 Z 爲規範化因子,被連乘的函數代表的是團 Q 對應的勢函數,勢函數的作用是定量刻畫變量集 xQ 中變量之間的相關關係。

3)條件隨機場(Conditional Random Field,簡稱 CRF)

條件隨機場是一種判別式無向圖模型,它可以被看成是給定觀測值的馬爾可夫隨機場。前邊介紹的隱馬爾可夫模型和馬爾可夫隨機場都是“生成式”模型,而條件隨機場是“判別式”模型,即給定觀測數據{x1, x2, ..., xn}以及對應的標記數據{y1, y2, ..., yn},構建條件概率模型 P( y | x )。

對於一個無向圖模型,若圖中的每個變量 y_v 都滿足馬爾可夫性,即

則稱 (y, x) 構造一個條件隨機場

理論上來說,條件隨機場的圖 G 可具有任意結構,只要能表示標記變量之間的條件獨立性即可。但在實際應用中,尤其是對標記序列建模時,最常用的仍是下圖所示的鏈式結構,即“鏈式條件隨機場”(chain-structured CRF)

與馬爾可夫隨機場類似,條件隨機場也使用了合適的“勢函數”來計算所要求的條件概率,只不過條件隨機場是將勢函數引入特徵函數(feature function)中來進行計算的。

特徵函數通常是實值函數,以刻畫數據的一些很可能成立或期望成立的經驗特徵。比如在下圖所示的語法分析任務中,

可以有如下特徵函數,

這說明經驗上來說,第 i 個觀測值爲“knock”時,其相應的標記 y_i 和 y_i+1 很可能分別爲 [V] 和 [P]

4)學習與推斷

在介紹了概率圖模型的三種主流結構後,接下來我們繼續學習如何在概率圖模型中進行學習和推斷。

基於概率圖模型定義的聯合概率分佈,我們能對目標變量的邊際分佈或以某些可觀測變量爲條件的條件分佈進行推斷。具體來說,假設圖模型所對應的變量集 x = {x1, x2, ..., xn} 能分爲 x_E 和 x_F 兩個不相交的變量集,推斷問題的目標就是計算邊際概率 P( x_E ) 或條件概率 P( x_F | x_E ),由條件概率定義有如下公式:

其中聯合概率 P(x_E, x_F) 可基於概率圖模型獲得,因此,推斷問題的關鍵就是如何高效的計算邊際分佈,即上式的分母部分。

概率圖模型的推斷方法大致可以分爲兩類:第一類是精確推斷方法,希望能計算出目標變量的邊際分佈或條件分佈的精確值;遺憾的是,一般情況下,此類算法的計算複雜度隨着極大團數量的增長呈指數增長,適用範圍有限。第二類是近似推斷方法,希望在較低的時間複雜度下獲得原問題的近似解;此類方法在現實任務中更常見。本節介紹兩種精確推斷方法,下一節介紹近似推斷方法。

[1]變量消去

精確推斷的實質是一種動態規劃算法,它利用圖模型所描述的條件獨立性來削減計算目標概率值所需的計算量。變量消去是最直觀的精確推斷算法,也是構建其它精確推斷算法的基礎。

我們以下圖有向圖模型爲例來介紹其工作流程:

假定推斷目標爲邊際概率 P( x5 ),顯然爲了完成此目標,只需通過加法消去變量{x1, x2, x3, x4},即:

其中 mij(xj) 是求加過程的中間結果,下標 i 表示此項是對 xi 求加的結果,下標 j 表示此項中剩下的其它變量。顯然 mij(xj) 是 xj 的函數。

變量消去算法通過利用乘法對加法的分配律,把多個變量的積的求和問題轉換爲對部分變量交替進行求積和求和的問題。這種轉換使得每次的求和和求積運算限制在局部,僅與部分變量有關,從而簡化了計算。

變量消去法有一個明顯的缺點,那就是若需計算多個邊際概率,會造成大量冗餘計算。下一小節的信念傳播算法就很好的解決了這個問題。

[2]信念傳播(Belief Propogation)

信念傳播算法將變量消去法中的求和操作看作一個消息傳遞的過程,較好的解決了求解多個邊際分佈時的重複計算問題。

在變量消去算法的計算過程中,通過求和操作消去變量的過程 mij(xj),我們可以看作是從 xi 向 xj 傳遞消息的過程。通過觀測不難發現,每次消息的傳遞操作僅與變量 x 的鄰接結點直接相關,換言之,消息傳遞相關的計算被限制在圖的局部進行。

在信念傳播算法中,一個結點僅在接收到來自其它所有結點的消息後才能向下一個結點傳遞信息,且結點的邊際分佈正比於它所接收的消息的乘積。

若圖結構中沒有環,則信念傳播算法經過兩個步驟即可完成所有消息傳遞,進而能計算所有變量上的邊際分佈:

指定一個根結點,從所有葉結點向根結點傳遞信息,直到所有根結點收到所有鄰接結點的信息

從根結點向葉結點傳遞消息,直到所有葉結點都接收道消息

例如在下邊的圖結構中,我們令 x1 爲根結點,則 x4 與 x5 爲葉結點,則以上兩步的消息傳遞過程如下。此時圖的每條邊上都有方向不同的兩條信息,基於這些消息以及上一小節的公式,即可得到所有變量的邊際概率

5)近似推斷

像在上一節中介紹的,爲了節省計算開銷,在現實生活中近似推斷更爲常用。近似推斷方法大致可分爲兩大類:第一類是採樣,通過使用隨機化方法完成近似;第二類是使用確定性近似完成近似推斷,典型代表是變分推斷

[1]MCMC採樣(Markov Chain Monte Carlo Sampling,馬爾可夫鏈蒙特卡洛採樣)

在很多任務中,我們所關心的其實並非是概率分佈本身,而是在該概率分佈下某個變量的期望。那麼當能通過直接的操作近似逼近這個變量的期望時,我們就不需要大費周章的去推斷概率分佈了。

簡單來說,若已知變量 x 的概率密度函數 p(x),那麼我要要求 y = f(x) 的期望時,我們就不需要去計算出條件概率 P(y|x) 了,只需要計算 f(x) 在多個樣本 {x1, x2, x3, ..., xn}上的 f(xi) 的平均值,或者在一定範圍取值內的積分。根據大數定理,這種通過大量採樣的辦法就能獲得較高的近似精度。

那麼我們關注的問題就從如何求得期望的近似變成要如何高效的獲取樣本了!

MCMC方法就是概率圖模型中最常用的採樣技術。對高維多元變量 x,MCMC採樣通過構造“平穩分佈爲 p 的馬爾可夫鏈”來產生樣本。

首先,讓我們先理解什麼是馬爾可夫鏈的平穩狀態。直觀理解就是,假設在(t-1)時刻,馬爾可夫鏈到達平穩狀態,那麼其所處的狀態儘可能保持穩定。我們假設馬爾可夫鏈的狀態轉移概率爲: T( xi | xj ),表示從狀態 xj 轉移到狀態 xi 的概率,則當馬爾可夫鏈在某個時刻處於平穩狀態時,需滿足:

這裏馬爾可夫鏈狀態轉移概率的構造至關重要,不同的構造方式將產生不同的MCMC算法。

[2]變分推斷(variational inference)

變分推斷通過使用已知簡單分佈來逼近需推斷的複雜分佈,並通過限制近似分佈的類型,從而得到一種局部最優、但具有確定解的近似後驗分佈。

變分推斷使用的近似分佈需要具有良好的數值性質,通常是基於連續型變量的概率密度函數來刻畫的。

假設有 N 個可觀測變量 {x1, x2, ..., xN},這 N 個變量均依賴於其它變量 z,且 x 與 z 均服從分佈參數 θ。那麼一般來說,我們根據該概率圖模型的推斷與學習任務主要是由觀測到的變量 x 來估計隱變量 z 和分佈參數變量 θ,即求解 p( z | x,θ ) 和 θ

通常我們可以使用極大似然函數和 EM 算法來進行推斷,但是在現實任務中,推斷的過程可能因爲 z 模型複雜而難以進行。此時可藉助變分推斷,假設隱變量 z 服從分佈:q(z) = q1(z1) * q2(z2) * ... * qM(zM)

我們通過使用相對簡單或結構更好的的分佈 q 去近似 z 的後驗分佈 p( z | x,θ ) 即能在節省計算開銷的情況下得到所要概率分佈

6)話題模型(topic model)

話題模型是一族生成式有向圖模型,主要用於處理離散型的數據(如文本集合),在信息檢索、自然語言處理等領域有廣泛應用。

隱狄利克雷模型(Latent Dirichlet Allocation,簡稱LDA)是話題模型的典型代表。

[1]基本概念

按照由小到大的順序,話題模型涉及到的以下幾個概念:

詞(word):待處理數據的基本離散單元

文檔(document):待處理的數據對象,它由一組詞組成

話題(topic):話題表示一個概念,具體表示爲一系列與該概念相關的詞,以及它們在該概念下出現的概率

詞袋(bag-of-words):文檔的表示方式,將文檔中的詞不計順序的存儲成一個詞的集合

比如在文本處理領域,LDA算法處理的對象是一篇篇文章,不妨假設數據集中包含 K 個話題,T篇文檔,文檔中的詞來自於一個包含 N 個詞的詞典。文檔以詞袋的形式表示 W = {w1, w2, ..., wt},wi表示第 i 篇文檔中 N 個詞分別的詞頻;同理 K 個 N 維向量 B = {b1, b2, ..., bk} 用來表示 K 個話題

[2]模型介紹

在現實任務中,我們可以通過統計文檔中的詞來獲得詞頻向量 W,但我們通常不清楚這組文檔都談論了哪些話題,也不知道每篇文檔與哪些話題有關。

狄利克雷模型以生成式模型的角度來看待文檔和話題,認爲文檔的話題分佈滿足參數爲 α 的 K 維狄利克雷分佈,話題詞頻則依賴於參數爲 η 的 N 維狄利克雷分佈

通過 α 和 η,我們可以分別得到文檔的話題分佈 Θt 以及話題詞頻 Bk,由此可得到話題指派 z_tn (z_tn 表示第 t 個文檔的第 n 個詞所屬於的話題分佈)以及最終的文檔詞頻 wt

實際上,我們唯一能觀測到的變量只有 wt,但是通過極大似然估計以及變分法來進行近似推斷,我們能獲得參數 α 和 η 的取值。

2. 基礎知識

1)狄利克雷函數

狄利克雷函數(英語:dirichlet function)是一個定義在實數範圍上、值域不連續的函數。

2)邊際分佈(marginal distribution)

邊際分佈是指對無關變量求和或積分的結果。例如對於 (x, y) 構成的聯合概率分佈中,對於 x 的邊際分佈爲:

P(x) = P{ X < x } = P{ X < x, Y < 正無窮 }

3)大數定理

大數定律(law of large numbers),是一種描述當試驗次數很大時所呈現的概率性質的定律。在隨機事件的大量重複出現中,往往呈現幾乎必然的規律,這個規律就是大數定律。通俗地說,這個定理就是,在試驗不變的條件下,重複試驗多次,隨機事件的頻率近似於它的概率。偶然中包含着某種必然。

3. 總結

1)概率模型是一種將學習任務歸結於計算變量的概率分佈的描述框架,概率模型的學習即基於訓練樣本來估計變量的分佈。

2)概率圖模型是一類用圖來表達變量相關關係的概率模型

3)概率圖模型根據邊的性質不同,大致可分爲有向圖模型和無向圖模型

4)隱馬爾可夫模型是結構最簡單的一種著名的有向圖模型,其每一個節點代表系統所處的狀態,且該狀態只與其前置狀態有關

5)馬爾可夫隨機場是一種著名的無向圖模型,其用圖模型來表示屬性之間的相互獨立性,並且根據馬爾可夫性,屬性的聯合概率可由極大團的勢函數的乘積獲得

6)條件隨機場可以被看成是給定觀測值的馬爾可夫隨機場,其將勢函數引入特徵函數中來對條件概率進行計算

7)基於概率圖模型定義的聯合概率分佈,我們需要對其中的目標變量或者條件分佈進行推斷,根據推斷方法的不同可分爲精確推斷,以及近似推斷

8)精確推斷包括利用乘法對加法的分配律,把多個變量的積的求和問題轉換爲對部分變量交替進行求積和求和的問題的變量消去法,以及將變量消去法中的求和操作看作一個消息傳遞的過程,較好的解決了求解多個邊際分佈時的重複計算問題的信念傳播法

9)近似推斷包括採樣以及變分推斷兩種方法,前者是通過採樣來對目標分佈的期望進行近似,後者是通過將目標變量的分佈分解爲更爲簡單或者結構更好的分佈的乘積來進行近似

10)話題模型是一個具體的用在自然語言處理上的有向圖模型,通過使用極大似然估計法以及各種近似推斷方法來獲得訓練樣本集的模型分佈



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章