天天看點

機率模型與條件随機場

1、機率模型

機器學習中的很多模型可以根據機率分布形式分為生成模型和判别模型,其中生成模型以輸入輸出的聯合分布P(X,Y)為基礎模組化,如樸素貝葉斯、隐馬爾可夫模型;判别模型以條件機率分布P(Y|X)為基礎模組化,如最大熵模型、條件随機場等。這幾個模型之間有一定的關系,它們的關系如下:

機率模型與條件随機場

其中,NB表示樸素貝葉斯,ME表示最大熵,HMM表示隐馬爾科夫,CRF表示條件随機場。joint聯合分布,conditional條件分布。single class輸出單一類别,sequence輸出序列。例如,樸素貝葉斯将輸出y擴充成序列 (y1,y2,...,yn) ,就可以以此為基礎構造HMM;在滿足輸入條件下的HMM可以擴充成CRF。

這裡面,樸素貝葉斯假設最強 ,因為它要求所有輸入特征之間條件獨立,如 P(y|x1,x2,...,xn)=∏i=1nP(y|xi) ;這是一種為計算友善而做的近似假設,然而現實中基本不會有模型符合輸入特征間的獨立,是以以樸素貝葉斯模組化一般會有精度損失。

隐馬爾科夫模型進了一步,它考慮一定的變量相關性,如馬爾科夫假設狀态序列中,目前狀态隻與其前一個狀态有關,如:

P(X,Y)=∏i=0nP(yi|yi−1P(xi|yi)

但是HMM隻考慮了狀态之間的鄰接關系,沒有考慮觀測序列間的關系,條件随機場剛好彌補了這個缺陷。是以條件随機場是一個相對比較完善的模型,但代價是計算複雜性的提高。

2、機率圖模型

上面講到的機率模型可以用圖的形式表示出來,稱為機率圖模型。機率圖模型用圖中結點表示随機變量,結點之間的邊表示變量間的機率相關關系。

在機率圖中,兩結點沒有邊相連,說明兩節點是條件獨立的,比如 P(a,b|c)=P(a|c)⋅P(b|c) 。在機率圖中,結點間全連接配接是不包含任何機率分布資訊的,是以我們更關注的是哪些邊是缺失的,這些缺失的邊表示邊連接配接的結點條件獨立。

下圖中的兩個圖是機率圖的兩種表示形式,一個是獨立圖,一個是因子圖。通過條件獨立的條件,可以将一個複雜的機率分布分解成簡單的機率分布乘積,如下圖中(a),聯合機率分布 P(x1,x2,y)=P(x1)⋅P(x2)⋅P(y|x1,x2) 。

若定義因子,也稱勢函數 Ψs 為機率分布的分解因子,對任意機率圖G=(V,E),有:

p(V)=∏sΨs(Vs)

其中,s表示随機變量構成的集合, Vs 表示該集合中包含的變量。

則可以将 P(x1,x2,y) 寫成 P(x1,x2,y)=Ψ1⋅Ψ2⋅Ψ3 ,這裡的 Ψi 分别與獨立圖中的機率對應。

機率模型與條件随機場

機率圖模型可大緻分為兩類:一類是有向圖模型,表示變量間的依賴關系,也稱為貝葉斯網;一類是無向圖模型,表示變量間的相關關系,也稱為馬爾科夫網或馬爾科夫随機場。

2.1 有向圖模型

在有向圖中,邊表示了變量之間的一種依賴關系。聯合分布機率可以寫作是所有變量在在父節點條件下的機率乘積:

P(V)=∏i=1KP(vk|vnk)

如下圖所示的隐馬爾可夫有向圖,聯合機率可以寫作:

P(x1,x2,x3,y1,y2,y3)=Ψ1(y1)⋅Ψ2(x1,y1)⋅Ψ3(x2,y2)⋅Ψ4(x3,y3)⋅Ψ5(y1,y2)⋅Ψ6(y2,y3)

機率模型與條件随機場

2.2 無向圖模型

在無向圖模型中,有個團和最大團的概念,表示了變量之間的關系。團的意思是一些随機變量結點構成的子集中,兩兩結點都有邊相連,如下圖中(1,2)、(1,2,5)等;最大團表示結點構成的團中再添加任何一個新結點後都不會構成團,如(1,4,5)。在一些線性鍊結構的無向圖,如線性鍊條件随機場中,最大團隻考慮( yj−1,yj,x )。

機率模型與條件随機場

像有向圖的分解一樣,無向圖也可以分解,無向圖是基于最大團進行分解,如下:

P(V)=1Z∏C∈CΨC(VC) 其中每個最大團對應一個勢函數 ΨC 。是不是跟最大熵模型的形式很相似?因為最大熵模型也是一個無向圖模型。像在最大熵模型中一樣,Z是一個歸一化因子,如下:

Z=∑V∏C∈CΨC(VC) 一般,勢函數要求嚴格非負,是以在使用中會選擇指數函數作為勢函數。如下圖的一個最大熵模型,可以寫作:

P(y|x)=1Zλ(x)eλ1f1⋅eλ2f2⋅eλ3f3

機率模型與條件随機場

有向圖與無向圖的一個主要差別在于機率分布的分解不同,在機率有向圖中,分解因子是條件機率分布;在無向圖中,分解因子可以是任意函數,無向圖不需要說明變量間是如何關聯的,而是将在一個團中的變量作為一個整體來看。

**3、條件随機場**

在前面,我們說可以把隐馬爾科夫模型看作是對貝葉斯模型的序列化;類似地,我們可以把條件随機場看作是對最大熵模型的序列化。條件随機場并不要求線性序列,即它可以是任意結構的,通常我們使用較多的是線性鍊随機場,它可以看作是有條件的HMM(即加入了觀測序列x的條件)。

條件随機場屬于判别模型,即它要求出在觀測序列x的條件下得到可能輸出序列y的機率 P(y|x) 。

由上面的無向圖分解公式

P(V)=1Z∏C∈CΨC(VC) 條件機率 P(y|x) 可以寫作:

p(y|x)=p(x,y)p(x)

=p(x,y)∑y′p(y′,x)

=1Z∏C∈CΨC(xC,yC)1Z∑y′∏C∈CΨC(xC,yC)

=1Z(x)∏C∈CΨC(xC,yC)

其中,

Z(x)=∑y′∏C∈CΨC(xC,yC)

下面介紹一下常用的線性鍊條件随機場,

線性鍊CRFs是條件随機場中的一種特殊結構,與隐馬爾科夫一樣,輸出形成一個線性序列,如下圖:

機率模型與條件随機場

根據上面的公式,其條件機率可以寫作,

p(y|x)=1Z(x)∏j=1nΨj(x,y)

其中,n+1表示輸出狀态序列長度,n為勢函數個數。

由圖可知,狀态 yj 與輸入 x 和yj−1有關,特征函數可以寫作:

f(yj−1,yj,x,j)

勢函數:

Ψj(x,y)=exp(∑i=1mλifi(yj−1,yj,x,j))

進而,線性鍊CRFs的條件機率分布可以寫作,

pλ(y|x)=1Zλ(x)exp(∑nj=1∑i=1mλifi(yj−1,yj,x,j))

其中, Zλ(x) 是歸一化因子,

Zλ(x)=∑y∈Yexp(∑nj=1∑i=1mλifi(yj−1,yj,x,j))

繼續閱讀