隱馬爾可夫模型基本問題——概率計算問題詳細講解
阿新 • • 發佈:2018-12-20
概率計算問題又稱評價問題(Evaluation Problem)
已知條件:給定模型和觀測序列 求解目標:計算在模型和觀測序列出現情況下的,也可以認為是求解觀測序列和評估模型之間的匹配程度。 求解方式:直接計演算法、前向演算法、後向演算法
例子:有三個盒子,編號1、2、3,每個盒子都有紅、白兩種顏色的球,有放回的從盒子裡拿1個球,總共進行了四次,出現“紅、白、紅、白”的概率是多少?(初始狀態概率矩陣)
盒子 | 盒1 | 盒 2 | 盒3 |
---|---|---|---|
盒1 | 0.4 | 0.6 | 0 |
盒2 | 0 | 0.8 | 0.2 |
盒 3 | 0 | 0 | 1 |
盒子 | 盒1 | 盒 2 | 盒3 |
---|---|---|---|
紅球 | 7 | 4 | 8 |
白球 | 3 | 6 | 2 |
解析:由表1和表2,可知狀態轉移矩陣A和觀測概率B,此時“模型和觀測序列”為已知條件,求解目標是:“發生的概率,即”
直接計演算法(不提倡)
通過列舉所有可能長度為T的狀態序列,求各個狀態序列和觀測序列的聯合概率,然後對所有可能的狀態序列求和,得到,求解方式如下():
理論上可以計算,但計算量很大,時間複雜度是(是狀態的個數,是觀測列表的長度),因此不可行。
解析:還是上面例子,如果,那麼只要列舉個就行,分別求出對應的概率,再相加就行了,但要是有1000個,需要列舉,這數目就不少了,因此該方法只要知道是什麼就可以了,可行度不高。
前向演算法(重要)
前向概率:在給定的情況下,到時刻時,出現的觀測序列為且狀態為時的概率,記為:
求解步驟:
-
起始值:
-
遞推:當時,