條件隨機場
(conditional random fields)
,是一種判別式圖模型,因為其強大的表達能力和出色的效能,得到了廣泛的應用。從最通用角度來看,
crf本質上是給定了觀察值集合
(observations)
的馬爾可夫隨機場。在這裡,我們直接從最通用的角度來認識和理解
crf,最後可以看到,線性
crf和所謂的高階
crf,都是某種特定結構的
crf。
1. 隨機場
簡單地講,隨機場可以看成是一組隨機變數的集合(這組隨機變數對應同乙個樣本空間)。當然,這些隨機變數之間可能有依賴關係,一般來說,也只有當這些變數之間有依賴關係的時候,我們將其單獨拿出來看成乙個隨機場才有實際意義。
2.markov
隨機場(mrf)
這是加了markov
性質限制的隨機場。首先,乙個
markov
隨機場對應乙個無向圖。這個無向圖上的每乙個節點對應乙個隨機變數,節點之間的邊表示節點對應的隨機變數之間有概率依賴關係。因此,
markov
隨機場的結構本質上反應了我們的先驗知識——哪些變數之間有依賴關係需要考慮,而哪些可以忽略。
markov
性質是指,對
markov
隨機場中的任何乙個隨機變數,給定場中其他所有變數下該變數的分布,等同於給定場中該變數的鄰居節點下該變數的分布。這讓人立刻聯想到馬式鏈的定義:它們都體現了乙個思想:離當前因素比較遙遠
(這個遙遠要根據具體情況自己定義)的因素對當前因素的性質影響不大。
markov
性質可以看作是
markov
隨機場的微觀屬性,那麼其巨集觀屬性就是其聯合概率的形式。
假設mrf
的變數集合為s={
y1,...yn},
p(y1,...yn)=1/z * exp,
其中z是歸一化因子,即對分子的所有
y1,..yn
求和得到。
u(y1,..yn)
一般稱為
energyfunction,
定義為在
mrf上所有
clique-potential
之和。t
稱為溫度,一般取
1。什麼是
click-potential呢?
就是在mrf
對應的圖中,每乙個
clique
對應乙個函式,稱為
clique-potential
。這個聯合概率形式又叫做
gibbsdistribution
。hammersley and clifford
定理表達了這兩種屬性的等價性。
如果click-potential
的定義和
clique
在圖中所處的位置無關,則稱該
mrf是
homogeneous
;如果click-potential
的定義和
clique
在圖中的朝向
(orientation)
無關,則稱該
mrf是
isotropic
的。一般來說,為了簡化計算,都是假定
mrf即是
homogeneous
也是iostropic
的。3.
從markov
隨機場到
crf現在,如果給定的mrf
中每個隨機變數下面還有觀察值,我們要確定的是給定觀察集合下,這個
mrf的分布,也就是條件分布,那麼這個
mrf就稱為
crf(conditional random field)
。它的條件分布形式完全類似於
mrf的分布形式
,只不過多了乙個觀察集合x,即
p(y1,..yn|x) = 1/z(x) * exp{ -1/t * u(y1,...yn,x)
。u(y1,..yn,x)
仍舊是click-potential
之和。4.
訓練通過一組樣本,我們希望能夠得到crf
對應的分布形式,並且用這種分布形式對測試樣本進行分類。也就是測試樣本中每個隨機變數的取值。
在實際應用中,clique-potential
主要由使用者自己定義的特徵函式組成,即使用者自己定義一組函式,這些函式被認為是可以用來幫助描述隨機變數
分布的。而這些特徵函式的強弱以及正向、負向是通過訓練得到的一組權重來表達的,這樣,實際應用中我們需要給出特徵函式以及權重的共享關係
(不同的特徵函
數可能共享同乙個權重),而
clicque-potential
本質上成了對應特徵函式的線性組合。這些權重就成了
crf的引數。因此,本質上,圖的結構
是使用者通過給出特徵函式的定義確定的(例如,只有一維特徵函式,對應的圖上是沒有邊的
)還有,
crf的分布成了對數線性形式。
看到這個分布形式,我們自然會想到用最大似然準則來進行訓練。對其取log
之後,會發現,表示式是
convex
的,也就是具有全域性最優解——這是很讓人振奮的事情。而且,其梯度具有解析解,這樣可以用
lbfgs
來求解極值。
此外,也可以使用最大熵準則進行訓練,這樣可以用比較成熟的gis
和iis
演算法進行訓練。由於對數線性的分布形式下,最大熵準則和最大似然準則本質上是一樣的,所以兩者區別不是很大。
此外,由於前面兩種訓練方法在每一輪迭代時,都需要inference,
這樣會極大地降低訓練速度。因此普遍採用另一種近似的目標函式,稱為偽似然。它用
每個隨機變數的條件分布
(就是給定其他所有隨件變數的分布
)之積來替代原來的似然函式,根據
markov
性質,這個條件分布只和其鄰居有關
(markov blanket),
這樣在迭代過程中不需要進行全域性的
inference,
速度會得到極大的提公升。我自己的經驗表明,當特徵函式很多取實數值時,偽似然的
效果跟最大似然的差不多,甚至略好於後者。但對於大量二元特徵
(binary-valued)
,偽似然的效果就很差了。
5.推斷
如前所述,訓練的過程中我們需要概率推斷,分類的時候我們需要找出概率最大的一組解,這都涉及到推斷。這個問題本質上屬於圖模型上的概率推斷問題。對於最
簡單的線性框架的結構,我們可以使用
viterbi
演算法。如果圖結果是樹形的,可以採用信念傳播
(belief propogation),
用sum-product
得到概率,用
max-product
得到最優的
configuration.
但是對於任意圖,這些方
法就無效了。一種近似的演算法,稱為
loopy-belief propogation,
就是在非樹形結構上採用信念傳播來進行推斷,通過迴圈傳播來得到近似解。這麼做據說在某些場合下效果不錯。但是,在訓練時如果採
用近似推斷的話,可能會導致長時間無法收斂。
基於任意圖上的概率推斷演算法稱為junction tree
。這個演算法能夠保證對任意圖進行精確推理。它首先把原來的圖進行三角化,在三角化的圖上把
clique
按照某種方式列舉出來作為節點(實際上就是合併特徵函
數),clicque
之間如果有交集,對應的節點之間就有邊,這樣就得到乙個新的圖,通過對這個圖求最大生成樹,就得到了
junction tree.
最後在junction tree
上進行信念傳播可以保證得到精確解。
本質上這3
中演算法都屬於動態規劃的思想。
viterbi
的想法最直觀,信念傳播首先將特徵函式都轉換為
factor
,並將其與隨機變數組合在一起形成
factor-graph,
這樣在factor-graph
上用動態規劃的思想進行推斷(即做了一些預處理)。
junction tree
的做法是通過合併原有的特徵函式
, 形成一種新的圖,在這個圖上可以保證動態規劃的無後效性,於是可以進行精確推理。
(做了更為複雜的預處理
)值得注意的是,junction tree
雖然極大地避開了組合**,但由於它要合併特徵函式並尋找
clique,
使用者的特徵函式如果定義的維數過大,它得到新的
clique
也會很大,這樣在計算的時候還是會很低效,因為在推斷的過程中它需要遍歷所有
clique
中的配置,這和
clique
的大小是呈指數級的。所以,使用者要避免使用維數過高的特徵。
MRF馬爾科夫隨機場
hinton和ranzato最新的文章中用到了mrf馬爾科夫隨機場。一篇部落格 無向圖模型 undirected graphical model 又可稱為馬爾可夫隨機場 markov random field 是乙個可以由無向圖表示的聯合概率分布。設有聯合概率分布 p x x subset math...
馬爾科夫隨機場
馬爾可夫鏈因安德烈 馬爾可夫 andrey markov,1856 1922 得名,是數學中具有馬爾可夫性質的離散時間隨機過程。該過程中,在給定當前知識或資訊的情況下,過去 即當期以前的歷史狀態 對於 將來 即當期以後的未來狀態 是無關的。時間和狀態都是離散的馬爾可夫過程稱為馬爾可夫鏈,簡記為 馬爾...
邏輯回歸和馬爾科夫條件隨機場
邏輯回歸 lr 的假設函式是 是由 sigmoid 函式g z 將 z tx對映 到0到1之間 當輸入變數觀測值時,得到 h x 的值就是樣本屬於 1分類的概率 那麼,假設函式為什麼選取h x 而 h x 的值為什麼是 1這個分類的概率呢?從概率圖模型 probabilistic graphical...