概率有向圖又稱為貝葉斯網絡,概率無向圖又稱為馬爾科夫網絡。具體地,他們的核心差異表現在如何求
,即怎么表示
這個的聯合概率。
概率圖模型的優點:
- 提供了一個簡單的方式將概率模型的結構可視化。
- 通過觀察圖形,可以更深刻的認識模型的性質,包括條件獨立性。
- 高級模型的推斷和學習過程中的復雜計算可以利用圖計算來表達,圖隱式的承載了背后的數學表達式。
一、概率有向圖
對於有向圖模型,這么求聯合概率:

例如下圖的聯合概率表示如下:


二、概率無向圖

如何求解其聯合概率分布呢?
將概率無向圖模型的聯合概率分布表示為其最大團上的隨機變量的函數的乘積形式的操作,稱為概率無向圖模型的因子分解(factorization)。
團:無向圖中任何兩個節點均有邊連接的節點子集。
最大團:若C為無向圖G中的一個團,並且不能再加進任何一個G的節點時其成為一個更大的團,則稱此團為最大團。上圖中{Y2,Y3,Y4}和{Y1,Y3,Y4}都是最大團。
概率無向圖模型的聯合概率分布P(Y)可以表示為如下形式:

其中C是無向圖最大團,Yc是C的節點對應的隨機變量,
是一個嚴格正勢函數,乘積(因式分解)是在無向圖所有最大團上進行的,Z是歸一化因子,保證P(Y)最后構成一個概率分布。
三、條件隨機場(conditional random field)
雖然定義里面沒有要求,我們還是默認X和Y結構一致,這是general CRF。然后看看linear chain CRF,線性鏈就是X和Y都是一串序列。
linear chain CRF的公式如下:

再詳細一些如下:

t和s都是特征函數,一個是轉移特征,一個狀態特征,x=(x1,x2,...,xn)為觀察變量,y=(y1,y2,...,yn)為隱含變量。所以,CRF也就是直接預測p(y|x),屬於判別式模型。注意一個細節,特征函數里面的觀測變量為x,而不是xi,這也就是說你可以前后隨意看觀測變量,所以特征模板里面可以隨意定義前后要看幾個觀測值。
亦或表示如下:

O為觀察序列,I為預測的隱變量序列。
四、模型訓練與運行
1)訓練
CRF模型的訓練主要訓練特征函數的權重參數λ,一般情況下不把兩種特征區別的那么開,合在一起如下:

每個token會對應多個特征函數,特征函數f取值為0或者1,在訓練的時候主要訓練權重λ,權重為0則沒貢獻,甚至你還可以讓他打負分,充分懲罰。利用極大似然估計尋找最優參數解。
2)工作流程
模型的工作流程:
- step1. 先預定義特征函數
, - step2. 在給定的數據上,訓練模型,確定參數

- step3. 用確定的模型做
序列標注問題或者序列求概率問題
3)序列標注
還是跟HMM一樣的,用學習好的CRF模型,在新的sample(觀測序列
)上找出一條概率最大最可能的隱狀態序列
。
只是現在的圖中的每個隱狀態節點的概率求法有一些差異而已,正確將每個節點的概率表示清楚,路徑求解過程還是一樣,采用viterbi算法
