參考:《PRML》
注:作為學習筆記以及記錄自己的思考過程后频,我將把所有的細節(jié)全部推導出來梳庆,過程可能比較繁冗。
動機
我們想要對時序數(shù)據構建概率模型卑惜,為了盡量降低參數(shù)量膏执、增加可行性,又不至于喪失數(shù)據之間的相關性露久,我們可以引入所謂的“馬爾可夫性”:
更米,得到的概率模型稱為“馬爾可夫鏈”,即任意一個隨機變量的概率分布只依賴于前面的M個隨機變量毫痕,因此也稱為“M階馬爾可夫鏈”征峦。但是纸巷,隨之而來的問題是,如何抉擇M的大小眶痰,太小了模型能力不足,太大了參數(shù)量和計算量呈指數(shù)級別增加梯啤。
為了解決這個兩難問題竖伯,考慮引入隱變量(latent/hidden variable),反過來我們稱為可見變量(visible variable)或是可觀測變量(observable variable)因宇;我們在這里對每一個可觀測變量引入一個相應的離散隱變量
七婴,這時仍然使用一階馬爾可夫鏈,然而不再是作用到可觀測變量察滑,而是約束到隱變量上打厘,構成了雙重隨機過程;下面正式引入HMM的相關結構:
一贺辰、隱變量滿足一階馬爾可夫性户盯,即:
二、可觀測變量在給定對應的隱變量的值時的條件分布滿足以下條件獨立性:
下面將推出聯(lián)合概率分布結構:
首先由概率乘法法則得:
進一步應用概率乘法法則得到:
由上面的兩個獨立性假設:隱變量的馬爾可夫性饲化,和觀測變量的條件獨立性得到:
即為聯(lián)合概率模型的分解形式莽鸭。
顯然,在引入兩類條件獨立性假設后吃靠,分解式中只剩下了只依賴一個變量的條件分布硫眨,因而在每個時間步可以使用固定的很少數(shù)目的參數(shù),例如:狀態(tài)空間包含K個狀態(tài)巢块,對于來說礁阁,每個時間步用K*K個參數(shù),因此用一個矩陣
就可以描述這個分布族奢,而對
來說姥闭,只需K個參數(shù)即可,我們將其記為
歹鱼。另外泣栈,為了進一步降低參數(shù)量,我們再對HMM引入另一個約束弥姻,就是所謂的“時齊性”南片,即所有的時間步都共享同一組分布,也就是參數(shù)量不會隨著時間步N的增加而增加庭敦,因此
疼进,記公共參數(shù)為:
;這也是機器學習領域極其普遍存在的“參數(shù)共享”思想秧廉。最后伞广,對
也使用參數(shù)共享方法拣帽,并令其為
,例如在語音識別中嚼锄,可能有:
减拭。
然而更為重要的是:通過引入了隱變量,我們獲得了能力足夠強大的同時区丑,保持了結構上較為簡單的概率模型拧粪;而且我們沒有引入觀測變量之間的條件獨立性;事實上沧侥,當我們使用概率模型來預測時可霎,我們對任意階數(shù)M,都沒有作出假設:宴杀;事實上癣朗,任意兩個可見變量都可以通過隱變量進行互相作用,因此在HMM中旺罢,觀測序列并不構成馬爾可夫鏈旷余,這樣便消除了馬爾可夫性這樣的強獨立性條件。
有趣的是扁达,HMM可以視為混合模型的一個推廣荣暮,因為當隱變量之間是獨立的時候,有:
對任意的取值都成立罩驻,因此所有N組隨機變量對
之間是相互獨立的穗酥。另外,當
是K-維的二值分布惠遏,且
是多元高斯分布砾跃,則
相當于是多個獨立同分布高斯混合模型的乘積;特別地节吮,當N=1時抽高,化為GMM模型。
HMM的最大似然解
既然HMM是GMM一種推廣透绩,HMM顯然是沒有閉式解的翘骂。HMM也是包含隱變量的概率模型,因而考慮使用“期望最大化算法”來進行求解。由EM算法的收斂性最后的結論可知,只要最大化Q函數(shù):即可慰安,我們將HMM對應的Q函數(shù)寫出來,并帶上相應參數(shù):
其中:莹桅。
將代入Q函數(shù)中,得到:
下面嘗試啰嗦地將所有步驟整理出來烛亦,將Q函數(shù)化為目標形式:
在上面(1)式中的第1項為:
簡單地應用乘法對加法的分配律诈泼,有:
累加后懂拾,得到的邊緣分布,有:
將代入得:
我們一般有一組記號上的約定:和
铐达,而上面大括號內的表達式剛好是
岖赋,因此有:
在上面(1)式中的第2項為(其中記號表示在除了
以外的所有其它變量上遍歷取值):
設K個轉移概率分布的參數(shù)是
矩陣
,即:
瓮孙;而
贾节,所以只有當j-1時刻處于狀態(tài)k,且j時刻處于狀態(tài)l衷畦,才有
。因此有表達式:
知牌,進一步有下式:
因為我們的模型是時齊的祈争,所以這里的因子不依賴時間步
;將
的展開式代入上面(2)式繼續(xù)計算得:
我們再次引進記號:角寸,和
菩混,并代入上式得:
,即為(1)式的第2項扁藕。
最后對第3項作類似的變換:
到這里沮峡,我們再令K個隱狀態(tài)分別對應的觀測概率分布為:,其中
是第k個狀態(tài)對應的觀測概率的參數(shù)亿柑。則有:
邢疙,代入上式得:
得到(1)式中的第3項對應的目標形式,最后全部代入(1)式得到目標Q函數(shù):
按照慣例望薄,我們假設狀態(tài)轉移概率矩陣的行指標
表示上一時間步的狀態(tài)疟游,而列指標表示下一時間步的狀態(tài);因此痕支,矩陣
的每一行是一個概率質量函數(shù)颁虐,因此每一行相加為1。
為了在M步中優(yōu)化參數(shù)卧须,這里需要求Q函數(shù)在相應的約束條件下的極值點另绩;因此應用Lagrange增廣函數(shù),并求得平穩(wěn)點:
和高斯混合模型GMM的詳細推導文中對的處理一樣花嘶,對分別對
的每個分量
單獨求導笋籽,并令結果為0,得到:
對上面K個等式同時相加得到:椭员,代回上式得:
同理對狀態(tài)轉移概率矩陣參數(shù)進行類似推導干签,得到下面個等式:
在上面的個方程中,固定某個
拆撼,并對所有的
容劳,將相應的
個方程相加得到:
將的表達式代回(6)式喘沿,并省略下標0,得到:
最后竭贩,我們來討論Lagrange函數(shù)極值點關于觀測概率分布的參數(shù)的部分蚜印,一般來說,觀測概率分布可以是離散概率分布或事連續(xù)概率分布都可以留量;下面以GMM作為觀測概率分布完成最后的推導窄赋。
設觀測概率分布為GMM,即:
其中楼熄,是馬爾可夫鏈的狀態(tài)n對應的觀測概率分布的參數(shù)忆绰;即這里共有
個GMM模型,第n個模型包含
個分量可岂,且其參數(shù)記為
错敢,
為數(shù)據空間的維數(shù)。
現(xiàn)在因為確定了觀測概率分布GMM缕粹,則需要把GMM的約束條件也加入到Lagrange函數(shù)里稚茅,我們重新寫一遍Lagrange函數(shù),引入新的Lagrange 乘子平斩,并忽略掉對本次求導的無關項:
類似高斯混合模型GMM的詳細推導中類似的方法亚享,對求導:
上式中的是多元正態(tài)分布指數(shù)上的二次型,將高斯混合模型GMM的詳細推導中相關結論抄過來绘面,就得到上式欺税;另外和GMM文中一樣,令
表示鏈中的第
個樣本屬于狀態(tài)
對應的GMM的第
的后驗概率揭璃;現(xiàn)在令
(其中D是觀測數(shù)據空間的維度)魄衅,經過化簡得:
同理可得相關的等式:
最后對第個狀態(tài)對應的GMM的混合系數(shù)
求導塘辅,并令其為
晃虫,得:
對上面個方程,左右分別乘以對應的混合系數(shù)
:
再次我們湊出了扣墩,即上式等價于:
再將這些方程相加得:
將上式代回上面(9)式哲银,即有:
前向-后向算法
到目前為止,前面所有的推導過程中都應用了封裝的兩個函數(shù):呻惕。下面我們使用前向-后向算法來對其進行估計荆责。
回想,以及
亚脆,所以我們先來處理
做院,使用貝葉斯公式:
其中,上式應用了HMM的條件獨立性假設;在上式的最后一行中键耕,令寺滚,前一個稱為“前向變量”,其意義用語句敘述就是:生成前
個觀測屈雄,且鏈在時間步
時處于狀態(tài)
的概率村视;后一個稱為“后向變量”,用語句敘述是:給定在時間步
鏈處于狀態(tài)
酒奶,而后觀測到后一半的部分觀測序列的概率蚁孔。
顯然,這里的和
是作用過“條件獨立性假設”后的惋嚎,要使得
成為一個合法的概率分布杠氢,我們對
進行歸一化,即使用:
作為分母另伍。
我們來推導出和
的遞歸式:
有了遞歸式鼻百,我們再補上遞歸的觸底式,根據定義有:
對于函數(shù)质况,從后往前遞歸,那么觸底式為
玻靡,但是對于這樣的下標
來說结榄,
無定義,但是
是有定義的囤捻;我們再回到最初的定義中去:
因而:
下面計算分母:臼朗,可以從任意一個
開始迭代計算,例如令
蝎土,用前向算法得到
视哑,最后得到:
。
下面再來處理一下:
下面就可以使用上面推導的公式誊涯,在EM算法中進行參數(shù)優(yōu)化:
1. 初始化參數(shù)挡毅;
2. 在訓練數(shù)據上計算;
3. 利用上面的式重新估計參數(shù)暴构;
4. 根據收斂準則跪呈,判斷是否已經收斂:若沒有,則重復上面2取逾,3步驟耗绿。