HMM學習最佳範例七 前向 後向演算法3

2021-06-22 06:48:06 字數 1757 閱讀 7204

七、前向-後向演算法(forward-backward algorithm)

前向-後向演算法是baum於2023年提出來的,又稱之為baum-welch演算法,雖然它是em(expectation-maximization)演算法的乙個特例,但em演算法卻是於2023年提出的。那麼為什麼說前向-後向演算法是em演算法的乙個特例呢?這裡有兩點需要說明一下。

第一,2023年a. p. dempster、n. m. laird、 d. b. rubin在其**「maximum likelihood from incomplete data via the em algorithm」中首次提出了em演算法的概念,但是他們也在**的介紹中提到了在此之前就有一些學者利用了em演算法的思想解決了一些特殊問題,其中就包括了baum在70年代初期的相關工作,只是這類方法沒有被總結而已,他們的工作就是對這類解決問題的方法在更高的層次上定義了乙個完整的em演算法框架。

第二,對於前向-後向演算法與em演算法的關係,此後在許多與hmm或em相關的**裡都被提及,其中賈里尼克(jelinek)老先生在1997所著的書「statistical methods for speech recognition」中對於前向-後向演算法與em演算法的關係進行了完整的描述,讀者有興趣的話可以找來這本書讀讀。

關於em演算法的講解,網上有很多,這裡我就不獻醜了,直接拿目前搜尋「em演算法」在google排名第一的文章做了參考,希望讀者不要拍磚:

em 演算法是 dempster,laind,rubin 於 1977 年提出的求引數極大似然估計的一種方法,它可以從非完整資料集中對引數進行 mle 估計,是一種非常簡單實用的學習演算法。這種方法可以廣泛地應用於處理缺損資料,截尾資料,帶有討厭資料等所謂的不完全資料(incomplete data)。

假定集合z = (x,y)由觀測資料 x 和未觀測資料y 組成,z = (x,y)和 x 分別稱為完整資料和不完整資料。假設z的聯合概率密度被引數化地定義為p(x,y|θ),其中θ 表示要被估計的引數。θ 的最大似然估計是求不完整資料的對數似然函式l(x;θ)的最大值而得到的:

l(θ; x )= log p(x |θ) = ∫log p(x ,y |θ)dy ;(1)

em演算法包括兩個步驟:由e步和m步組成,它是通過迭代地最大化完整資料的對數似然函式lc( x;θ )的期望來最大化不完整資料的對數似然函式,其中:

lc(x;θ) =log p(x,y |θ) ; (2)

假設在演算法第t次迭代後θ 獲得的估計記為θ(t ) ,則在(t+1)次迭代時,

e-步:計算完整資料的對數似然函式的期望,記為:

q(θ |θ (t) ) = e; (3)

m-步:通過最大化q(θ |θ(t) ) 來獲得新的θ 。

通過交替使用這兩個步驟,em演算法逐步改進模型的引數,使引數和訓練樣本的似然概率逐漸增大,最後終止於乙個極大點。

直觀地理解em演算法,它也可被看作為乙個逐次逼近演算法:事先並不知道模型的引數,可以隨機的選擇一套引數或者事先粗略地給定某個初始引數λ0 ,確定出對應於這組引數的最可能的狀態,計算每個訓練樣本的可能結果的概率,在當前的狀態下再由樣本對引數修正,重新估計引數λ ,並在新的引數下重新確定模型的狀態,這樣,通過多次的迭代,迴圈直至某個收斂條件滿足為止,就可以使得模型的引數逐漸逼近真實引數。

em演算法的主要目的是提供乙個簡單的迭代演算法計算後驗密度函式,它的最大優點是簡單和穩定,但容易陷入區域性最優。

參考原文見:

注意上面那段粗體字,讀者如果覺得em演算法不好理解的話,就記住這段粗體字的意思吧!

有了後向演算法和em演算法的預備知識,下一節我們就正式的談一談前向-後向演算法。

未完待續:前向-後向演算法4

HMM學習最佳範例七 前向 後向演算法5

七 前向 後向演算法 forward backward algorithm 上一節我們定義了兩個變數及相應的期望值,本節我們利用這兩個變數及其期望值來重新估計隱馬爾科夫模型 hmm 的引數pi,a及b 前向 後向演算法程式示例如下 在baum.c中 void baumwelch hmm phmm,i...

HMM學習最佳範例五 前向演算法3

五 前向演算法 forward algorithm 前向演算法定義 forward algorithm definition 我們使用前向演算法計算t長觀察序列的概率 其中y的每乙個是觀察集合之一。區域性 中間 概率 s 是遞迴計算的,首先通過計算t 1時刻所有狀態的區域性概率 也就是當前狀態相應的...

HMM學習最佳範例一 介紹

一 介紹 introduction 我們通常都習慣尋找乙個事物在一段時間裡的變化模式 規律 這些模式發生在很多領域,比如計算機中的指令序列,句子中的詞語順序和口語單詞中的音素序列等等,事實上任何領域中的一系列事件都有可能產生有用的模式。考慮乙個簡單的例子,有人試圖通過一片海藻推斷天氣 民間傳說告訴我...