隱馬爾可夫模型
要了解隱馬爾可夫模型,首先要了解什麼是馬爾可夫模型。網上的乙個關於天氣的例子能夠幫助我們理解馬爾可夫模型。
1.馬爾可夫模型
假設我們可以通過當前的天氣狀況**未來的天氣狀況,同理,我們也可以通過之前一些天的天氣狀況**今天的天氣狀況。
這種假設成立的條件是:這個模型的每乙個狀態都只依賴於前乙個狀態,這個條件稱之為「馬爾可夫假設」。
存在x1, ... , xn 的乙個數列,這些變數的範圍,即他們所有可能取值的集合,成為「狀態空間」,在天氣狀況的例子中,x1, ... , xn表示的是第一天...第n天的天氣狀況,狀態空間為「晴天,陰天,雨天」。
如果xn+1 滿足等式:
則稱該數列具有馬爾可夫性質,這種具有馬爾可夫性質的離散隨機過程稱為馬爾可夫過程。
該過程中,每個狀態的轉移只依賴於之前的 n 個狀態,這個過程被稱為1個 n 階的模型,其中 n 是影響轉移狀態的數目。最簡單的馬爾科夫過程就是一階過程,每乙個狀態的轉移只依賴於其之前的那乙個狀態。注意這和確定性系統不一樣,因為這種轉移是有概率的,而不是確定性的。
對於天氣狀況的這個例子來說,所有可能的一階轉移為:
每乙個轉移的概率稱為狀態轉移概率,將這些狀態轉移概率用3*3的狀態轉移矩陣來表示為:
設每一元素為aij。
矩陣的約束條件:
這個矩陣表示,如果昨天是晴天,那麼今天有50%的可能是晴天,37.5%的概率是陰天,12.5%的概率會下雨,很明顯,矩陣中每一行的和都是1。
為了初始化這樣乙個系統,我們需要乙個初始的概率向量:
這個向量表示第一天是晴天。
到這裡,我們就為上面的一階馬爾科夫過程定義了以下三個部分:
狀態
:晴天、陰天和下雨
初始向量
:定義系統在時間為0的時候的狀態的概率
狀態轉移矩陣
:每種天氣轉換的概率
所有的能被這樣描述的系統都是乙個馬爾科夫過程。
2.隱馬爾可夫模型
那麼對於乙個關在監獄裡的人來說,他看不到外面的天氣是怎樣的,但是聰明的人有自己的辦法。研究表明,海藻的狀態在某種概率上是和天氣的情況相關的。於是監獄裡的人便可以通過監獄裡藻類的狀態來推斷外面天氣的狀態。
在這個事件中,便存在兩個狀態集合,乙個是可觀察到的狀態的集合(藻類的狀態),乙個是隱藏的狀態(天氣狀況)。此時的天氣狀況便成為了乙個隱藏的馬爾可夫過程。
將乙個隱藏的馬爾可夫過程和乙個與這個隱藏馬爾科夫過程概率相關的並且可以觀察到的狀態集合建立模型,便是隱馬爾可夫模型。
海藻的狀態和天氣的狀況存在的概率關係稱之為混淆矩陣。
這樣的隱馬爾可夫模型可以用乙個5元組來表示,其中 n 表示隱藏狀態的數量,我們要麼知道確切的值,要麼猜測該值,m 表示可觀測狀態的數量,可以通過訓練集獲得, π= 為初始狀態概率,a= 為隱藏狀態的轉移矩陣 pr(xt(i) | xt-1(j)),b= 表示某個時刻因隱藏狀態而可觀察的狀態的概率,即混淆矩陣,pr(ot(i) | xt(j))。在狀態轉移矩陣和混淆矩陣中的每個概率都是時間無關的,即當系統演化時,這些矩陣並不隨時間改變。對於乙個 n 和 m 固定的 hmm 來說,用 λ= 表示 hmm 引數。
所以在乙個隱馬爾可夫模型中存在3個要素:
1.計算給定的乙個可觀察序列的概率
2.根據可觀察序列找到最可能的隱藏狀態序列。
3.根據可觀察的序列找到最可能的hmm。即求出hmm中的各個引數。
下面就是一一解決這三個問題,分別用到了三個演算法:前向演算法,viterbi演算法,baum-welch演算法。
未完待續。。。。。
隱馬爾可夫模型(一) 馬爾可夫模型
馬爾可夫模型 markov model 描述了一類隨機變數隨時間而變化的隨機函式。考察乙個狀態序列 此時隨機變數為狀態值 這些狀態並不是相互獨立的,每個狀態的值依賴於序列中此狀態之前的狀態。乙個系統由n個狀態s 隨著時間的推移,該系統從乙個狀態轉換成另乙個狀態。q 為乙個狀態序列,qi s,在t時刻...
隱馬爾可夫模型
隱 馬爾可夫模型 hidden markov model,hmm 作為一種統計分析模型,創立於20世紀70年代。80 年代得到了傳播和發展,成為訊號處理的乙個重要方向,現已成功地用於語音識別 行為識別,文字識別以及故障診斷等領域。隱馬爾可夫模型是馬爾可夫鏈的一種,它的狀態不能直接觀察到,但能通過觀測...
隱馬爾可夫模型
對隱馬爾可夫模型的解釋,個人覺得一句簡單概括就是 在馬爾可夫鏈的情況下對每乙個狀態都加入乙個單獨輸出口,而我們把這個輸出口定為可視視窗,可把馬爾可夫鏈放到裡面藏起來。ok!這樣就是知道隱馬爾可夫模型的結構了。通過如下例子來說明hmm的含義。假定乙個暗室中有n個口袋,每個口袋中有m種不同顏色的球,乙個...