1. 程式人生 > >1個例子解釋 隱馬爾科夫模型(HMM) 的 5 個基本要素

1個例子解釋 隱馬爾科夫模型(HMM) 的 5 個基本要素

隱馬爾可夫模型(Hidden Markov Model,HMM)是一個尋找事物在一段時間裡的變化模式的統計學方法,它用來描述一個含有隱含未知引數的馬爾可夫過程。其難點是從可觀察的引數中確定該過程的隱含引數。然後利用這些引數來作進一步的分析。

HMM 現已成功地用於語音識別,自然語言處理,模式識別以及故障診斷等領域。

下面,通過一個例子,通俗易懂地解釋 HMM 的 5 個基本要素,希望對大家有所啟發。

基本要素

隱馬爾可夫模型的 5 個要素如下所示:

1.隱含狀態 S

這些狀態之間滿足馬爾可夫性質,是馬爾可夫模型中實際所隱含的狀態。這些狀態通常無法通過直接觀測而得到。

2.可觀測狀態 O

在模型中與隱含狀態相關聯,可通過直接觀測而得到,例如O1、O2、O3等。

3.初始狀態概率矩陣 π

表示隱含狀態在初始時刻 t=1 的概率矩陣,例如 t=1 時,P(S1)=p1、P(S2)=P2、P(S3)=p3,則初始狀態概率矩陣 π=[ p1 p2 p3 ].

4.隱含狀態轉移概率矩陣 A

描述了HMM模型中 各個隱含狀態 之間的轉移概率,Aij = P( Sj | Si ), 1≤i, j≤N

表示在 t 時刻、狀態為 Si 的條件下,在 t+1 時刻狀態是 Sj 的概率。

5.觀測狀態轉移概率矩陣 B,英文為 Confusion Matrix,令N代表隱含狀態數目,M代表可觀測狀態數目,則:Bij = P( Oi | Sj ), 1≤i≤M, 1≤j≤N ,表示在 t 時刻、隱含狀態是 Sj 條件下,觀察狀態為 Oi 的概率。

例子解釋

假設我們手裡有三個不同的骰子,第一個骰子是我們平常見的骰子,稱這個骰子為 D6,6個面,每個面(1,2,3,4,5,6)出現的概率是1/6。第二個骰子是個四面體,稱這個骰子為 D4,每個面(1,2,3,4)出現的概率是1/4。第三個骰子有八個面,稱這個骰子為 D8,每個面(1,2,3,4,5,6,7,8)出現的概率是1/8。

因此,HMM 的 5 個要素中的 2 個已經知道了,即:隱含狀態 S = { D6, D4, D8 };可觀測狀態 O = {1,2,3,4,5,6,7,8 }. 同時,其他3個矩陣的shape也能確定了,初始狀態初始狀態概率矩陣的 shape 為 (3,1) , 隱含狀態轉移概率矩陣 A 的 shape 為 (3,3) ,觀測狀態轉移概率矩陣 B 的shape 為 (3, 8).

image

假設我們開始擲骰子,我們先從三個骰子裡挑一個,挑到每一個骰子的概率都是1/3。然後我們擲骰子,得到一個數字,1,2,3,4,5,6,7,8中的一個。不停的重複上述過程,我們會得到一串數字,每個數字都是1,2,3,4,5,6,7,8中的一個。

例如我們可能得到這麼一串數字(擲骰子5次):1 6 3 5 2 . 這串數字叫做可見狀態鏈。但是在隱馬爾可夫模型中,我們不僅僅有這麼一串可見狀態鏈,還有一串隱含狀態鏈。在這個例子裡,這串隱含狀態鏈就是你用的骰子的序列。比如,隱含狀態鏈有可能是:D6 D8 D8 D6 D4

一般來說,HMM中說到的馬爾可夫鏈其實是指隱含狀態鏈,因為隱含狀態(骰子)之間存在轉換概率(transition probability)。在我們這個例子裡,設定 t= 1 時, 抽中骰子 D4, D6, D8 的概率分別為 1/3 ,則初始狀態概率矩陣為 (1/3, 1/3, 1/3).

設定,D6後面不能接D4,D6後面是D6的概率是0.9,是D8的概率是0.1;D4後面是D4 的概率為 0.3,D6的概率為 0.3,D8的概率是 0.4 ;D8後面是D4 的概率為 0.6,D6的概率為 0.1,D8的概率是 0.3 ;則 隱含狀態轉移概率矩陣 A

D4 D6 D8

D4 0.3 0.3 0.4

D6 0 0.9 0.1

D8 0.6 0.1 0.3

儘管可見狀態之間沒有轉換概率,但是隱含狀態和可見狀態之間有一個概率叫做輸出概率(emission probability)。就我們的例子來說,六面骰(D6)產生1的輸出概率是1/6。產生2,3,4,5,6的概率也都是1/6。我們同樣可以對輸出概率進行其他定義。比如,我有一個被賭場動過手腳的六面骰子,擲出來是1的概率更大,是1/2,擲出來是2,3,4,5,6的概率是1/10,因此 ,觀測狀態轉移概率矩陣 B

1 2 3 4 5 6 7 8

D4 1/4 1/4 1/4 1/4 0 0 0 0

D6 1/6 1/6 1/6 1/6 1/6 1/6 0 0

D8 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8

我們同樣可以對輸出概率進行其他定義。比如,我有一個D6篩子被賭場動過手腳擲出來是1的概率更大,是1/2,擲出來是2,3,4,5,6的概率是1/10,則此時的 觀測狀態轉移概率矩陣 B

1 2 3 4 5 6 7 8

D4 1/4 1/4 1/4 1/4 0 0 0 0

D6 1/2 1/10 1/10 1/10 1/10 1/10 0 0

D8 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8

總結

例子解釋 HMM 的 5 元素,希望對大家有用。如果覺得有點幫助,歡迎點贊和轉發,您的鼓勵是我一直前進的最大動力!

相關連結

點選以下標題檢視相關內容:

深度學習|大師之作,必是精品

免費送6本精選的演算法,機器學習,深度學習的書

機器學習、深度學習乾貨分享

自然語言處理|語言模型介紹

自然語言處理之詞To詞向量

一文了解自然語言處理的每個範疇用到的核心技術,難點和熱點(1)

NLP入門:CNN,RNN應用文字分類,個性化搜尋,蘋果和喬布斯關係抽取(2)

下一代資訊服務新風口:以自然語言為基本輸入方式的問答系統綜述(附兩篇論文)

一文梳理NLP之機器翻譯和自動摘要的發展現狀

斯坦福大學NLP課程筆記系列1:深度學習應用於NLP介紹

TensorFlow 實戰 3層網路求解嵌入詞向量,附程式碼詳解

關於演算法channel

演算法channel是一個提供系統入門,工程與學術相結合的原創乾貨公眾號,包括基礎演算法,機器學習,深度學習,NLP,工具庫使用等10餘個頻道,如果你對演算法和人工智慧感興趣,歡迎在公眾號後臺點選「交流群」。

這裡寫圖片描述