深度學習(一):概率圖模型引入


一、簡介

       概率圖模型(Probabilistic Graphical Model ,PGM)是用圖來表示變量概率依賴關系的理論,結合概率論與圖論的知識,利用圖來表示與模型有關的變量的聯合概率分布。圖的每個節點(node)都表示一個隨機變量,而圖的邊(edge)則被用於編碼這些隨機變量之間的關系,通常是條件概率。

       對於一個K維隨機變量$X=\left [ X_{1},X_{2},...,X_{K}, \right ]^{T}$,它的聯合概率分布是高維空間的分布,一般很難直接建模,特別是在我們不知道它們之間的依賴關系的時候。如果我們有三個二值隨機變量,分別是$ X_{1}$, $X_{2} $,$X_{3}$,我們可以建立一個二維概率表來記錄每一種取值的概率,因為有3個變量,每個變量有2種可能的取值,即我們有$2^{3}=8$種情況下的聯合概率值,不過當我們知道前7個概率后,第8個概率直接用1-就可以計算出來,所以對於三個二值隨機變量的聯合概率分布,我們需要知道7個參數來表達它的聯合概率分布。

       隨着隨機變量的個數增加,所需參數數量會指數型增加,上一個例子是2的3次方,如果是10個隨機變量就需要2的10次方-1個參數來說明這個聯合隨機概率分布。

       有一種想法就是,如果我們能夠知道其中幾個隨機變量之間的依賴關系,可以大大減少所需參數個數,大致可以這么想:如果我們知道當$ X_{1}=1$時,$X_{2}$只能取0,那么我們所需要的參數數量將會直接少一半。所以依賴於這種想法,有人提出了獨立性假設,可以有效減少參數量,把K維隨機變量的聯合概率分布分解為K個條件概率的乘積:

$p\left ( x \right )=P\left ( X=x \right )=p\left ( x_{1} \right )p\left ( x_{2}\mid x_{1}  \right )p\left ( x_{K}\mid x_{1},...,x_{K-1}  \right )=\prod_{k=1}^{K}p\left ( x_{k}\mid x_{1},...,x_{k-1}  \right )$

       當概率模型中的變量數量比較多的時候,其條件依賴關系也很復雜,有的隨機變量可能會依賴1個或多個變量,可能有兩個隨機變量都依賴於同一個隨機變量,為了表示這種復雜的關系,就引入了圖結構,可以直觀的描述隨機變量之間的條件獨立性性質,把一個復雜的聯合概率模型分解成一些簡單的條件概率模型的組合,對於一個非聯通圖,都存在多個條件獨立性假設,可以根據條件獨立性來將聯合概率分解。比如下圖就表示了,當已知X1時,X2和X3條件獨立,且已知X2和X3時,X1和X4條件獨立,且已知X4時,X2和X3不獨立:

       圖模型有三個基本問題:

      1.表示問題,就是給定一組隨機變量的條件概率表示形式,怎么樣畫出圖結構來描述變量之間的依賴關系。簡稱:給了式子怎么畫圖, 解決辦法就是,如果是有向圖,父節點表示條件,子節點表示當前的隨機變量即可。

      2.推斷問題,就是在已知部分變量時,計算其他變量的后驗概率分布。通常是已知可觀測變量,求隱變量的后驗概率分布的時候用到,其中還會有精確推斷,近似推斷,近似推斷中又會涉及到一系列的采樣方法的介紹。

      3.學習問題,包括有圖結構的學習和參數的學習,這里主要關注在給定圖結構時的參數學習,即參數估計問題。很多機器學習模型都可以歸結為概率模型,比如建模輸入和輸出之間的條件概率分布。

二、有向圖模型

      有向圖模型又叫貝葉斯網絡或信念網絡,是指用有向圖來表示概率分布的圖模型。

      貝葉斯網絡定義:如果X的聯合概率分布可以分解為每個隨機變量的局部概率的連乘形式,則圖結構就可以叫貝葉斯網絡:

$p\left ( x \right )=\prod_{k=1}^{K}p\left ( x_{k}\mid x_{/k} \right )$

其中$x_{/k}$是$x_{k}$的所有父節點隨機變量的集合。

      我們知道,條件獨立性是指有第三方的時候,雙方獨立。所以在圖結構中,直接相連的兩個節點不會構成條件獨立,明顯直接相連的二者不會因為任何其他人的出現而斷開與彼此的聯系,我們可以認為它們倆的感情很好,誰都不能拆散;

      但是如果有兩個節點,經過了第三個節點而產生了一條有聯系的路徑,它們之間有可能達到條件獨立,也就是說,第三者干點什么事,就可能讓本來有聯系的雙方老死不相往來了,沒辦法,誰讓它們倆之間的聯系是通過第三方呢?

      以下簡單討論常用情況,詳細的另開文章:

 

 

 

      貝葉斯網絡有局部馬爾可夫性質:每個隨機變量在給定其父節點的情況下,與它的非后代節點條件獨立,也就是說,只要給定了一個節點的所有父節點,那么這個節點就和其他的既不是它的父節點也不是子節點的其他節點獨立。

 

1.sigmoid信念網絡

       引入條件獨立性假設,把高維隨機變量之間的復雜關系降低,減少了參數量,但是替代其的是很多的條件概率,我們很貪心,希望進一步的更簡單的去計算這些條件概率,於是我們可以用simoid函數來建模圖模型中的條件概率。(看到這里的時候我在想,不是說高斯概率可以很好的模擬任意分布嘛,為什么要用sigmoid而不用高斯?),所以,建模如下:

$p\left ( x_{k}=1\mid x_{/k};\theta  \right )=\sigma \left ( \theta _{0}+\sum \theta _{i}x_{i} \right )$

       其中,$\theta _{i}$是我們要學習的參數,假設變量$x_{k}$的父節點有M個,如果使用我們最開始說的表格記錄法來記錄這個條件概率的話,需要2的M次方個參數,使用信念網絡則只需要M+1個參數,且即使父節點增加了,復雜度也不會是指數型的增長。如果對不同變量的條件概率都用同一個參數化模型來模擬,那么參數量就更加少了。

2.朴素貝葉斯

       條件概率,獨立。就會想到機器學習中最簡單的朴素貝葉斯分類器,它的朴素之名就來源於在給定Y的情況下X的各個特征之間是條件獨立的,而且Y和X都是隨機變量。所以朴素貝葉斯是個生成模型而不是判別模型,判別模型中的條件只是個變量,而不是隨機變量,沒有隨機性。

3.隱馬爾可夫模型

     把藍色隱含狀態視為y1,y2,y3..,紅色可見狀態視為x1,x2...,然后隱馬爾可夫的聯合概率按照上面講的方法可以寫成:

$p\left ( x,y;\theta   \right )=\prod_{t=1}^{T}p\left ( y_{t}\mid y_{t-1},\theta_{s}   \right )p\left ( x_{t}\mid y_{t},\theta_{t}   \right )$

     有向圖中不管是看圖寫公式還是看公式畫圖都算比較簡單的。學了概率圖模型后,再理解隱馬爾可夫就比較容易了。

 

三、無向圖模型

       無向圖模型又叫馬爾可夫隨機場馬爾可夫網絡,是用無向圖來描述具有局部馬爾可夫性質隨機向量X聯合概率分布的模型。前面說有向圖的貝葉斯網絡的時候,也說到過貝葉斯網絡有局部馬爾可夫性質,但是貝葉斯網絡是有向圖,其中描述給定的條件節點是某個隨機變量的父節點,然而在馬爾可夫隨機場中是無向圖,沒有父子節點之說,只有鄰居節點。所以我們把這里的局部馬爾科夫性質換一種表述:一個隨機變量在給定它的鄰居的情況下獨立於其他所有變量,用式子表達如下:

$p\left ( x_{k}\mid x_{/k} \right )=\prod_{k=1}^{K}p\left ( x_{k}\mid x_{N(k)} \right )$

$x_{N(k)}$就是$x_{k}$的鄰居節點,而$x_{/k}$是除了$x_{k}$以外的所有節點。也就是說$x_{/k}$包括$x_{k}$的鄰居節點$x_{N(k)}$。我們可以看到左式和右式相等,右式的條件部分比左式減少的部分就是非鄰居節點被拋去了,也就是說這個式子表達的含義就是在給定鄰居節點的時候,非鄰居節點和原節點$x_{k}$相互獨立。這就是無向圖的馬爾可夫性質

       因為無向圖沒有方向,我們很難像有向圖一樣,找到父節點就是找到了條件,所以不能用有向圖的方法來構造圖和數學式子之間的關系。這種看圖寫公式的我們可以叫做概率分解,因為整個圖模型表達的就是一個聯合概率分布,不管是有向圖還是無向圖,它畫出來的目的或存在的意義都是讓多個隨機變量之間的條件關系更加清楚,也就是把聯合概率分布分解成一個個的條件概率相乘的形式。現在的無向圖的難點在於,沒有父節點這種說法,我們怎么找條件。

      好在無向圖起碼也有一個局部馬爾可夫性,由這個性質出發思考,一個隨機變量在給定它的鄰居的情況下獨立於其他所有變量,首先這個鄰居肯定是和隨機變量不是獨立的,畢竟都直接相連了,然后這個隨機變量X和其他所有變量就條件獨立了,這個其他所有變量是什么,既然和X不直接相連,但是又確實和X在同一個圖內,而且又不是X的鄰居節點,那么就是X的鄰居的鄰居節點。那如果X沒有鄰居的鄰居呢,也就是這是一個全連通圖,那就沒什么可說的了,不存在誰和誰條件獨立了,大家都是兩兩相連的,都是一家人,關起門來好商量,一家人的聯合概率就由一家人獨自解決,具體怎么辦呢,那就看團里的人怎么商量了;與團相對,還有最大團的概念,意思就是說,比如三個節點兩兩相連,相親相愛,這時候其中的一個節點A說,我要帶一個新節點D來一起玩,A很喜歡D,但其余兩個節點BC都不喜歡D,當A不在的時候,D和B或C相處得都不愉快,不能成一家人,沒辦法關門商量,只好把D趕走才行。

      有一個定理叫Hammersley-Clifford,意思就是如果一個聯合概率分布滿足局部馬爾可夫性質,那么聯合概率就可以拆解成最大團上非負函數的乘積形式,這個非負函數通常是定義在最大團上的勢能函數,勢能函數就是一個衡量能量E與勢能phi的函數,物理里,能量越高,勢能越低。如果吧能量理解為以前高中學的動能,小球從高處速度為0的時候開始落下,重力勢能減小,動能增大,因為勢能轉化為動能了。這個勢能函數應該就想表達,小球速度越快(動能越大),重力勢能就越小。具體公式如下:

$p\left ( x \right )=\frac{1}{Z}\prod_{c\in  C}\phi \left ( x_{c} \right )$

$\phi \left ( x_{c} \right )=exp\left ( -E_{c}\left ( x_{c} \right ) \right )$

其中的Z就是用來概率歸一化的,稱為配分函數,它的計算復雜度是指數級的,所以推斷和參數學習的時候是個坎。

       上面這個公式也叫吉布斯分布,根據Hammersley-Clifford,無向圖模型和吉布斯分布等價。因為吉布斯分布一定滿足馬爾可夫隨機場的性質,且馬爾科夫隨機場的概率分布一定可以表示成吉布斯分布。如果用吉布斯分布+勢能函數公式來表達無向圖模型的話,這種分布還可以叫玻爾茲曼分布,而任何一個無向圖模型表示的聯合概率分布都可以表示成玻爾茲曼分布的形式。

常見的無向圖模型有:

1.對數線性模型/最大熵模型

      對數線性模型其實就是把線性模型放在指數位置上,再加上一個歸一化系數就好。之所以叫對數線性模型是因為把指數去掉之后,概率部分多了一個log;同時也叫最大熵模型,因為這種模型學習的原則就是讓熵最大。因為加上歸一化系數后,整體式子看着就很像把線性模型套進softmax函數里,所以又叫softmax回歸模型,但本質上是做分類的。而且如果用對數線性模型來直接建模條件概率的話,其中的y只代表取值,而不是隨機變量。這里只放公式,詳細筆記放在機器學習分類里:

$p(y\mid x;\theta )=\frac{1}{Z(x;\theta ))}exp(\theta ^{T}f(x,y))$

2.條件隨機場

       條件隨機場是直接建模條件概率的無向圖模型,與上一個對數線性模型中y代表取值不同,這里的y是隨機變量,所以不能直接套用線性模型放在指數部分,而是要進行因子分解,也就是把許多的y拆解成最大團,用勢能函數來替代線性模型放在指數部分。就像前面講到的吉布斯分布一樣。

其條件概率分布為:

$p(y\mid x;\theta )=\frac{1}{Z(x;\theta ))}exp(\sum_{c\in C}^{ }\theta _{c}^{T}f_{c}(x,y_{c}))$

常用的條件隨機場是鏈式結構,稱為線性鏈條件隨機場(CRF):

其條件概率為:

$p(y\mid x;\theta )=\frac{1}{Z(x;\theta ))}exp(\sum_{t=1}^{T}\theta _{1}^{T}f_{1}(x,y_{t})+\sum_{t=1}^{T}\theta _{2}^{T}f_{2}(x,y_{t},y_{t+1}))$

       其中f1表示的是狀態特征,也就是x和某個位置上的y構成的最大團的勢能函數,主要和這個y的位置t有關;f2表示的是轉移特征,主要和兩個y他們的相對關系有關。這里不再把f稱為勢能函數,而是稱為特征,含義是“滿足某種條件時表現出來的特征”,在高維空間中,兩個隨機變量之間的關系很難簡單的用條件刻畫,更廣泛的理解,可以稱為兩個隨機變量有關系,它們有關系的時候會表現出某種特征被我們捕捉到。在后面講玻爾茲曼機的時候會提到類似的思想。

四、有向圖無向圖轉換

      主要關注將有向圖轉化為無向圖,轉化的原則就是如果有幾個向量都相關,那么就要把它們全部歸屬到一個團中,即加上連邊即可。但是這樣會丟失一些獨立性,本身獨立的兩個隨機變量會因為增加了連邊而變得不再獨立。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM