-
隱馬爾可夫模型
鎖定
隱馬爾可夫模型(Hidden Markov Model,HMM)是統計模型,它用來描述一個含有隱含未知參數的馬爾可夫過程。其難點是從可觀察的參數中確定該過程的隱含參數。然後利用這些參數來作進一步的分析,例如模式識別。
是在被建模的系統被認為是一個馬爾可夫過程與未觀測到的(隱藏的)的狀態的統計馬爾可夫模型。
- 中文名
- 隱馬爾可夫模型
- 外文名
- Hidden Markov Model
- 別 名
- HMM
- 提出者
- Leonard E.Baum等
- 提出時間
- 1966年
- 適用領域
- 自然語言處理、語音識別、模式識別
- 應用學科
- 數理統計學
隱馬爾可夫模型引言
隱馬爾可夫模型(Hidden Markov Model,HMM)作為一種統計分析模型,創立於20世紀70年代。80年代得到了傳播和發展,成為信號處理的一個重要方向,現已成功地用於語音識別,行為識別,文字識別以及故障診斷等領域。
隱馬爾可夫模型基本理論
隱馬爾可夫模型是馬爾可夫鏈的一種,它的狀態不能直接觀察到,但能通過觀測向量序列觀察到,每個觀測向量都是通過某些概率密度分佈表現為各種狀態,每一個觀測向量是由一個具有相應概率密度分佈的狀態序列產生。所以,隱馬爾可夫模型是一個雙重隨機過程----具有一定狀態數的隱馬爾可夫鏈和顯示隨機函數集。自20世紀80年代以來,HMM被應用於語音識別,取得重大成功。到了90年代,HMM還被引入計算機文字識別和移動通信核心技術“多用户的檢測”。HMM在生物信息科學、故障診斷等領域也開始得到應用。
隱馬爾可夫模型基本算法
針對以下三個問題,人們提出了相應的算法
*1 評估問題: 直接計算法(概念上可行,計算上不科學)、前向算法、後向算法
*2 解碼問題:
Viterbi算法:使用動態規劃求解概率最大(最優)路徑。
近似算法:選擇每一時刻最有可能出現的狀態,從而得到一個狀態序列。
*3 學習問題: Baum-Welch算法(向前向後算法)、監督學習算法
隱馬爾可夫模型基本概述
一種HMM可以呈現為最簡單的動態貝葉斯網絡。隱馬爾可夫模型背後的數學是由LEBaum和他的同事開發的。它與早期由RuslanL.Stratonovich提出的最優非線性濾波問題息息相關,他是第一個提出前後過程這個概念的。
在簡單的馬爾可夫模型(如馬爾可夫鏈),所述狀態是直接可見的觀察者,因此狀態轉移概率是唯一的參數。在隱馬爾可夫模型中,狀態是不直接可見的,但輸出依賴於該狀態下,是可見的。每個狀態通過可能的輸出記號有了可能的概率分佈。因此,通過一個HMM產生標記序列提供了有關狀態的一些序列的信息。注意,“隱藏”指的是,該模型經其傳遞的狀態序列,而不是模型的參數;即使這些參數是精確已知的,我們仍把該模型稱為一個“隱藏”的馬爾可夫模型。隱馬爾可夫模型以它在時間上的模式識別所知,如語音,手寫,手勢識別,詞類的標記,樂譜,局部放電和生物信息學應用。
隱馬爾可夫模型可以被認為是一個概括的混合模型中的隱藏變量(或變量),它控制的混合成分被選擇為每個觀察,通過馬爾可夫過程而不是相互獨立相關。最近,隱馬爾可夫模型已推廣到兩兩馬爾可夫模型和三重態馬爾可夫模型,允許更復雜的數據結構的考慮和非平穩數據建模。
隱馬爾可夫模型模型表達
1. 隱含狀態 S
2. 可觀測狀態 O
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 的概率。
隱馬爾可夫模型基本問題
1. 評估問題。
給定觀測序列 O=O1O2O3…Ot和模型參數λ=(A,B,π),怎樣有效計算某一觀測序列的概率,進而可對該HMM做出相關評估。例如,已有一些模型參數各異的HMM,給定觀測序列O=O1O2O3…Ot,我們想知道哪個HMM模型最可能生成該觀測序列。通常我們利用forward算法分別計算每個HMM產生給定觀測序列O的概率,然後從中選出最優的HMM模型。
這類評估的問題的一個經典例子是語音識別。在描述語言識別的隱馬爾科夫模型中,每個單詞生成一個對應的HMM,每個觀測序列由一個單詞的語音構成,單詞的識別是通過評估進而選出最有可能產生觀測序列所代表的讀音的HMM而實現的。
2.解碼問題
給定觀測序列 O=O1O2O3…Ot 和模型參數λ=(A,B,π),怎樣尋找某種意義上最優的隱狀態序列。在這類問題中,我們感興趣的是馬爾科夫模型中隱含狀態,這些狀態不能直接觀測但卻更具有價值,通常利用Viterbi算法來尋找。
這類問題的一個實際例子是中文分詞,即把一個句子如何劃分其構成才合適。例如,句子“發展中國家”是劃分成“發展-中-國家”,還是“發展-中國-家”。這個問題可以用隱馬爾科夫模型來解決。句子的分詞方法可以看成是隱含狀態,而句子則可以看成是給定的可觀測狀態,從而通過建HMM來尋找出最可能正確的分詞方法。
3. 學習問題。
即HMM的模型參數λ=(A,B,π)未知,如何調整這些參數以使觀測序列O=O1O2O3…Ot的概率儘可能的大。通常使用Baum-Welch算法以及Reversed Viterbi算法解決。
怎樣調整模型參數λ=(A,B,π),使觀測序列 O=O1O2O3…Ot的概率最大?
隱馬爾可夫模型歷史
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:31次歷史版本
- 最近更新: rbfxndddzb