條件隨機(jī)場(chǎng)是給定一組輸入隨機(jī)變量條件下另一組隨機(jī)變量的條件概率分布模型,其特點(diǎn)是假設(shè)輸出隨機(jī)變量構(gòu)成馬爾可夫隨機(jī)場(chǎng)。類似隱馬爾可夫模型,條件隨機(jī)場(chǎng)也有概率計(jì)算問(wèn)題,學(xué)習(xí)問(wèn)題和預(yù)測(cè)問(wèn)題西雀,后面會(huì)給出解決這些問(wèn)題的算法。首先定義馬爾可夫隨機(jī)場(chǎng)歉摧。
概率無(wú)向圖模型(馬爾可夫隨機(jī)場(chǎng))
概率無(wú)向圖模型又叫做馬爾可夫隨機(jī)場(chǎng)艇肴。如下圖所示
是五個(gè)隨機(jī)變量,是概率無(wú)向圖的結(jié)點(diǎn)叁温,結(jié)點(diǎn)的集合記做
再悼。連線代表隨機(jī)變量之間的依賴關(guān)系,是概率無(wú)向圖的邊膝但,邊的集合記做
冲九,如果兩個(gè)變量之間沒(méi)有連線,說(shuō)明這兩個(gè)隨機(jī)變量獨(dú)立跟束。整個(gè)概率無(wú)向圖可以記做
莺奸。
概率無(wú)向圖可以通過(guò)以下方式定義丑孩,首先描述成對(duì)馬爾可夫性、局部馬爾可夫性灭贷、全局馬爾可夫性:
成對(duì)馬爾可夫性:設(shè)和
是無(wú)向圖
中任意兩個(gè)沒(méi)有邊連接的結(jié)點(diǎn)嚎杨,結(jié)點(diǎn)
和
分別對(duì)應(yīng)隨機(jī)變量
和
,其他所有結(jié)點(diǎn)為
氧腰,對(duì)應(yīng)的隨機(jī)變量為
,這些隨機(jī)變量滿足:
即隨機(jī)變量和
條件獨(dú)立刨肃。
局部馬爾可夫性:設(shè)是無(wú)向圖
中任意一個(gè)結(jié)點(diǎn)古拴,
是與
有邊連接的所有結(jié)點(diǎn)。同樣真友,隨機(jī)變量
和
條件獨(dú)立:
全局馬爾可夫性:設(shè)結(jié)點(diǎn)集合黄痪,
是被結(jié)點(diǎn)集合
分開的任意結(jié)點(diǎn)集合,對(duì)應(yīng)的隨機(jī)變量滿足:
可以看出盔然,上述成對(duì)的桅打、局部的、全局的馬爾可夫性定義是等價(jià)的愈案。
概率無(wú)向圖模型的定義
設(shè)有聯(lián)合概率分布挺尾,由無(wú)向圖
表示,在圖
中站绪,結(jié)點(diǎn)表示隨機(jī)變量遭铺,邊表示隨機(jī)變量之間的依賴關(guān)系。如果聯(lián)合概率分布
滿足成對(duì)恢准、局部或全局馬爾可夫性魂挂,就稱此聯(lián)合概率分布為概率無(wú)向圖模型,或馬爾可夫隨機(jī)場(chǎng)馁筐。
有了如上定義涂召,重要的是如何求聯(lián)合。事實(shí)上敏沉,聯(lián)合概率可以寫成若干子聯(lián)合概率的乘積形式果正,也就是將聯(lián)合概率進(jìn)行因子分解。
概率無(wú)向圖模型的因子分解
首先定義圖與最大團(tuán)赦抖。
團(tuán)與最大團(tuán)的定義
無(wú)向圖中任何兩個(gè)結(jié)點(diǎn)均有邊連接的結(jié)點(diǎn)子集稱為團(tuán)舱卡。若
是無(wú)向圖
的一個(gè)團(tuán),并且不能再加進(jìn)任何一個(gè)
的結(jié)點(diǎn)使其成為一個(gè)更大的團(tuán)队萤,則稱
為最大團(tuán)轮锥。
如下圖
上圖有7個(gè)團(tuán),要尔,其中
是最大團(tuán)舍杜。
Hammersley-Clifford定理
概率無(wú)向圖模型的聯(lián)合概率分布可以表示為如下形式:
其中新娜,是無(wú)向圖的最大團(tuán),
是
的結(jié)點(diǎn)對(duì)應(yīng)的隨機(jī)變量既绩,
是
上定義的嚴(yán)格正函數(shù)(通常定義為指數(shù)函數(shù)
)概龄,乘積是在無(wú)向圖所有的最大團(tuán)上進(jìn)行的。規(guī)范化因子
是對(duì)
所有可能的取值情況求和饲握,使其符合概率分布私杜。
條件隨機(jī)場(chǎng)的定義與形式
條件隨機(jī)場(chǎng)是在給定隨機(jī)變量的條件下,隨機(jī)變量
的馬爾可夫隨機(jī)場(chǎng)
。其中
是輸入變量,表示需要標(biāo)注的觀測(cè)序列粱锐。
是輸出變量拟逮,表示標(biāo)記序列,也稱為狀態(tài)序列(類似隱馬爾可夫模型,是沒(méi)有標(biāo)注的隱變量)。可以用下圖表示:
某個(gè)隨機(jī)變量依賴于
和有邊相連接的隨機(jī)變量
瓢捉。于是有如下定義
條件隨機(jī)場(chǎng)的定義
設(shè)與
是隨機(jī)變量,
是在給定
的條件下
的條件概率分布办成,若隨機(jī)變量
構(gòu)成一個(gè)由無(wú)向圖
表示的馬爾可夫隨機(jī)場(chǎng)泡态,即
對(duì)任意結(jié)點(diǎn)成立,則稱條件隨機(jī)概率分布
為條件隨機(jī)場(chǎng)迂卢。式中
表示在圖
中與結(jié)點(diǎn)
有邊連接的所有結(jié)點(diǎn)
兽赁,
表示結(jié)點(diǎn)
以外的所有結(jié)點(diǎn),
冷守,
為結(jié)點(diǎn)
對(duì)應(yīng)的隨機(jī)變量刀崖。
為了簡(jiǎn)化問(wèn)題,通常假設(shè)隨機(jī)變量的概率無(wú)向圖是一條線性鏈拍摇,叫做線性鏈條件隨機(jī)場(chǎng)亮钦,這種假設(shè)雖然簡(jiǎn)化了問(wèn)題,但是依然可以取得比較好的效果充活,并大大降低了計(jì)算的復(fù)雜度蜂莉。如下圖
此時(shí),相鄰的兩個(gè)隨機(jī)變量構(gòu)成一個(gè)最大團(tuán)混卵。但是這種情況依然很復(fù)雜映穗,在此假設(shè)上,再假設(shè)隨機(jī)變量有著和
相同的圖結(jié)構(gòu)幕随,如下圖
此時(shí)每個(gè)隨機(jī)變量只依賴于有邊相連接的隨機(jī)變量
蚁滋,
和
。線性鏈條件隨機(jī)場(chǎng)有如下定義
線性鏈條件隨機(jī)場(chǎng)的定義
設(shè),
均為線性鏈表示的隨機(jī)變量序列辕录,若在給定隨機(jī)變量序列
的條件下睦霎,隨機(jī)變量序列
的條件概率分布
構(gòu)成條件隨機(jī)場(chǎng),即滿足馬爾可夫性
則稱為線性鏈條件隨機(jī)場(chǎng)走诞。在標(biāo)注問(wèn)題中副女,
表示輸入觀測(cè)序列,
表示對(duì)應(yīng)的輸出標(biāo)記序列或狀態(tài)序列蚣旱。
條件隨機(jī)場(chǎng)的參數(shù)化形式
根據(jù)Hammersley-Clifford定理碑幅,可以給出線性鏈條件隨機(jī)場(chǎng)的參數(shù)化形式。
線性鏈條件隨機(jī)場(chǎng)的參數(shù)化形式
設(shè)為線性鏈條件隨機(jī)場(chǎng)塞绿,則在隨機(jī)變量
取值為
的條件下枕赵,隨機(jī)變量
取值為
的條件概率具有如下形式:
其中
式中,和
是特征函數(shù)位隶,
和
是特征對(duì)應(yīng)的權(quán)值。
是規(guī)范化因子开皿,求和是在所有可能的輸出序列上進(jìn)行的涧黄。
值得注意的是,特征函數(shù)依賴于輸入
赋荆,當(dāng)前位置
和上個(gè)位置
笋妥,稱為轉(zhuǎn)移特征。特征函數(shù)
依賴于輸入
和當(dāng)前位置
窄潭,稱為狀態(tài)特征春宣。特征函數(shù)
和
取值通常為0或1,當(dāng)滿足特征時(shí)嫉你,取1月帝。
條件隨機(jī)場(chǎng)的簡(jiǎn)化形式
將轉(zhuǎn)移特征和狀態(tài)特征
用統(tǒng)一的方式表示,對(duì)上述參數(shù)化形式進(jìn)行簡(jiǎn)化幽污。假設(shè)有
個(gè)轉(zhuǎn)移特征嚷辅,
個(gè)狀態(tài)特征,則共有
個(gè)特征函數(shù)距误,記
使用特征函數(shù)對(duì)各個(gè)位置求和簸搞,記為
各個(gè)特征的權(quán)值記為
則線性鏈條件隨機(jī)場(chǎng)的參數(shù)形式可以簡(jiǎn)化為
回顧最大熵模型:
可以看出兩者有著非常類似的形式,并且線性鏈條件隨機(jī)場(chǎng)也是對(duì)數(shù)線性模型准潭。
若以表示權(quán)值向量趁俊,即
以表示全局特征向量,即
則線性鏈條件隨機(jī)場(chǎng)還有以下內(nèi)積形式:
條件隨機(jī)場(chǎng)的矩陣形式
在標(biāo)記(狀態(tài))序列引入特殊的起點(diǎn)和終點(diǎn)狀態(tài)標(biāo)記
刑然,
寺擂,這時(shí)
可以通過(guò)矩陣形式表示。
對(duì)觀測(cè)序列的每一個(gè)位置
,定義一個(gè)
階矩陣(
是標(biāo)記
取值的個(gè)數(shù)沽讹,因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=y_0" alt="y_0" mathimg="1">和
只有是不是start或是不是stop兩個(gè)取值般卑,所以在起點(diǎn)和終點(diǎn)
,其余位置正常)
可以看做各個(gè)位置
上特征函數(shù)的加權(quán)和再求
爽雄,得到輸入
條件下蝠检,未規(guī)范化的狀態(tài)
到狀態(tài)
之間的狀態(tài)轉(zhuǎn)移概率。
這樣挚瘟,給定觀測(cè)序列叹谁,相應(yīng)標(biāo)記序列
的非規(guī)范概率可以通過(guò)該序列
個(gè)矩陣適當(dāng)元素的乘積
表示。于是乘盖,條件概率
是
其中為規(guī)范化因子焰檩,是
個(gè)矩陣的乘積的下標(biāo)為
的元素
,
订框,表示開始狀態(tài)與終止?fàn)顟B(tài)析苫,規(guī)范化因子
是以
為起點(diǎn)
為終點(diǎn)通過(guò)狀態(tài)的所有路徑
的非規(guī)范化概率
之和〈┌猓可以通過(guò)矩陣計(jì)算公式得到衩侥,過(guò)程略。
條件隨機(jī)場(chǎng)的概率計(jì)算問(wèn)題
條件隨機(jī)場(chǎng)的概率計(jì)算問(wèn)題是給定條件隨機(jī)場(chǎng)矛物,輸入序列
和輸出序列
茫死,計(jì)算條件概率
,
以及相應(yīng)的數(shù)學(xué)期望的問(wèn)題履羞。類似隱馬爾可夫模型峦萎,使用前向-后向算法。
前向-后向算法
對(duì)每個(gè)指標(biāo)忆首,定義前向向量
:
遞推公式為
又可表示為
表示在位置
的標(biāo)記是
并且到位置
的前部分標(biāo)記序列的非規(guī)范化概率爱榔,
的取值有
個(gè),所以
是
維列向量糙及。
同樣搓蚪,對(duì)每個(gè)指標(biāo),定義后向向量
:
遞推公式
又可表示為
表示在位置
的標(biāo)記為
并且從
到
的后部分標(biāo)記序列的非規(guī)范化概率丁鹉,
的取值有
個(gè)妒潭,所以
是
維列向量。
由前向-后向向量的定義不難得到:
這里揣钦,是元素均為1的
維列向量雳灾。
概率計(jì)算
其中,
期望值計(jì)算
其中冯凹,
其中是
的經(jīng)驗(yàn)分布谎亩。
在
時(shí)炒嘲,是轉(zhuǎn)移特征函數(shù),對(duì)應(yīng)概率
匈庭,在
時(shí)夫凸,是狀態(tài)特征函數(shù),對(duì)應(yīng)概率
阱持∝舶瑁可以通過(guò)一次前向掃描得到
和
,通過(guò)一次后向掃描計(jì)算
衷咽,從而計(jì)算所有的概率和特征的期望鸽扁。
條件隨機(jī)場(chǎng)的學(xué)習(xí)算法
條件隨機(jī)場(chǎng)模型實(shí)際上是定義在時(shí)序數(shù)據(jù)上的對(duì)數(shù)線性模型,類似最大熵模型镶骗,所以也可以用IIS法桶现,梯度下降法以及擬牛頓法。
改進(jìn)的迭代尺度法(IIS)法
IIS法的思路是找到特征函數(shù)權(quán)值參數(shù)的更新量
鼎姊,使得極大似然函數(shù)改變量
的下界在每次迭代時(shí)提高骡和,達(dá)到極大似然估計(jì)的效果,具體推導(dǎo)參考最大熵模型相寇。
條件隨機(jī)場(chǎng)模型學(xué)習(xí)的改進(jìn)的迭代尺度法
輸入:特征函數(shù)慰于,
;經(jīng)驗(yàn)分布
裆赵;
輸出:參數(shù)估計(jì)值;模型
跺嗽。
(1)對(duì)所有战授,取初值
(2)對(duì)每一:
(a)當(dāng)時(shí),令
是方程
的解桨嫁;
當(dāng)植兰,
時(shí),令
是方程
的解璃吧,其中
是在數(shù)據(jù)中出現(xiàn)所有特征的總和楣导。
(b)更新值:
(3)如果不是所有都收斂,重復(fù)步驟(2)
當(dāng)是常數(shù)時(shí)畜挨,方程比較容易求解筒繁,當(dāng)
不是常數(shù)時(shí),方程比較難求解巴元,在《統(tǒng)計(jì)機(jī)器學(xué)習(xí)》條件隨機(jī)場(chǎng)部分有其他相關(guān)解決方法的描述毡咏。
擬牛頓法
對(duì)于條件隨機(jī)場(chǎng)模型
學(xué)習(xí)的優(yōu)化目標(biāo)函數(shù)是對(duì)數(shù)似然函數(shù)的相反數(shù):
其梯度函數(shù)是
條件隨機(jī)場(chǎng)模型學(xué)習(xí)的BFGS算法
輸入:特征函數(shù),
逮刨;經(jīng)驗(yàn)分布
呕缭;
輸出:參數(shù)估計(jì)值;模型
。
(1)選定初始點(diǎn)恢总,取
為正定對(duì)稱矩陣迎罗,置
(2)計(jì)算。若
片仿,則停止計(jì)算纹安,否則轉(zhuǎn)(3)
(3)由求出
(4)一維搜索:求使得
(5)置
(6)計(jì)算,若
滋戳,則停止計(jì)算钻蔑;否則,按下式求出
:
其中
(7)置奸鸯,轉(zhuǎn)(3)
條件隨機(jī)場(chǎng)的預(yù)測(cè)算法
條件機(jī)場(chǎng)的預(yù)測(cè)問(wèn)題是給定條件隨機(jī)場(chǎng)和輸入序列(觀測(cè)序列)
咪笑,求條件概率最大的輸出序列(標(biāo)記序列)
。常用的算法是維比特算法娄涩,使用了動(dòng)態(tài)規(guī)劃的思路窗怒,推導(dǎo)詳見隱馬爾可夫模型。
條件隨機(jī)場(chǎng)的維特比算法
輸入:模型特征向量和權(quán)值向量
蓄拣,觀測(cè)序列
扬虚;
輸出:最優(yōu)路徑。
(1)初始化
其中
(2)遞推球恤。對(duì)
(3)終止
(4)返回路徑
求得最優(yōu)路徑辜昵。