1、介紹
前向算法是用於HMM模型的評估問題。評估問題:對於一個觀察序列和通過不同系統得到的HMM模型,怎麼判斷哪一個HMM模型是最有可能產生這個觀察序列。
HMM模型三元組(
2、實現
要得到對於觀察序列在當前HMM模型下產生的概率,可以列舉所有的state轉移序列(state爲隱藏狀態),通過三元組計算state序列下觀察序列的概率,在相加即可,這個方法爲窮舉。由於state序列的個數爲
前向算法正是爲了減少時間複雜度實現的算法,這個引入局部概率這個概念:表示
在t時刻到達狀態s的概率,通過計算所有能夠到達state的路徑的概率的和再乘以相應隱藏狀態對於觀察狀態的條件概率得到。那麼在時刻T按照觀察序列達到各個state的和即爲要求的概率。在前向算法中局部概率是一個遞歸求解的過程。當t=1時,狀態j局部概率爲:
其中k爲觀察值。當t>1時,狀態j的局部概率爲:
其中
遞歸計算到T時刻,那麼在當前HMM模型下,產生觀察序列的概率爲:
時間複雜度爲