em算法怎么对应原有分类_[PRML]序列数据 HMM维特比算法及扩展
1 維特比算法
在隱馬爾可夫模型的許多應用中,潛變量有一些有意義的解釋,因此對一個給定的觀察序列尋找最可能的隱狀態序列往往是有趣的。例如,在語音識別中,我們可能希望為給定的一系列聲學(acoustic)觀察找到最可能的音素(phoneme)序列。由于隱馬爾可夫模型的圖是一個有向樹,這個問題可以用最大和算法(max-sum algorithm)精確地解決。
尋找最可能的潛在狀態序列的問題與尋找個別最可能的狀態集的問題是不同的。后一個問題可以通過先運行前向后向(和積)算法來找到潛在變量的邊際,然后分別最大化每個邊緣值來解決。但是,這些狀態的集合通常不符合最可能的狀態序列。事實上,這組狀態甚至可以表示一個概率為零的序列,例如有兩個連續的狀態,它們各自的概率最大,但連接它們的轉移矩陣元素為零。
在實踐中,我們通常對尋找最有可能的狀態序列感興趣,而這可以使用最大和算法有效地解決,在隱馬爾可夫模型中稱為維特比算法(Viterbi algorithm)。請注意,最大和算法適用于對數概率,因此不需要像前向后向算法那樣使用縮放后的變量。
圖16顯示了擴展為格圖的隱馬爾可夫模型的一個片段。正如我們已經注意到的,通過網格的可能路徑的數量隨著鏈的長度呈指數增長。維特比算法有效地搜索這個路徑空間,以找到計算代價僅隨鏈長線性增長的最有可能的路徑。
和和積算法一樣,我們首先將隱馬爾可夫模型表示為一個因子圖,如圖15 所示。同樣,我們將變量節點視為根節點,并從葉節點開始向根傳遞消息。使用結果式93和式94,我們看到在最大和算法中傳遞的消息為:
如果消除兩個方程間的,并結合式46,則得到信息的遞歸形式:
其中。
根據式95和式96,對這些消息初始化:
式中運用了式45。為了保持符號的整潔,我們省略了對模型參數的依賴,其在尋找最可能的序列時保持固定。
Viterbi算法也可以直接從聯合分布的定義式6中得到,取對數,然后交換最大值以及和。很容易看出數量的概率解釋:
一旦我們完成了對的最后的最大化,我們就可以得到最可能路徑對應的聯合分布的值。我們還希望找到與此路徑對應的潛在變量序列值。為此,我們只需使用該文中討論的回溯過程。
我們注意到必須對的個可能值中的每一個對進行最大化。假設我們記錄的值,對應每個的值的最大值。讓我們用表示這個函數,其中。一旦我們將消息傳遞到鏈的末端并找到最可能的狀態,我們就可以使用這個函數遞歸地應用它來沿著鏈回溯:
實際上,我們可以這樣理解維特比算法。我們可以明確地考慮所有通過格子的指數路徑,計算每個路徑的概率,然后選擇概率最大的路徑。我們可以在計算成本上做出如下的巨大節省。假設對于每條路徑,當沿著每條路徑經過晶格時,我們通過加和轉移概率和發射概率的乘積計算它的概率。
考慮一個特定的時間步長和一個特定的狀態。
- 在格點圖中,會有許多可能的路徑匯聚在相應的節點上。但是,我們只需要保留到目前為止概率最大的那條路徑。因為在時間步長處有種狀態,我們需要跟蹤條這樣的路徑。
- 在時間步長時,有條可能的路徑需要考慮,包括條可能的路徑從種當前狀態出發,但是我們只需要保留條對應于時間時每種狀態的最佳路徑。
- 當我們到達最后的時間步長時,我們將發現哪個狀態對應于整個最有可能的路徑。因為有一條唯一的路徑進入那個狀態我們可以沿著這條路徑回到第步來看看它當時處于什么狀態,然后再回到晶格的狀態。
2 隱馬爾可夫模型的擴展
基本的隱馬爾可夫模型,以及基于最大似然的標準訓練算法,已經以多種方式進行了擴展,以滿足特定應用的要求。這里我們討論幾個更重要的例子。
從圖11的數字示例中我們可以看出,隱馬爾科夫模型對于數據來說可能是相當差的生成模型,因為許多合成的數字看起來不太能代表訓練數據。如果目標是序列分類,使用判別技術而不是最大似然技術來確定隱馬爾科夫模型的參數會有顯著的好處。
假設我們有一個觀測序列的訓練集,其中,每一個都按其類標記,其中。對于每一類,我們都有一個獨立的隱含馬爾科夫模型,它有自己的參數,我們將確定參數值的問題作為一個標準的分類問題來處理,在這個問題中我們優化交叉熵:
式利用貝葉斯定理,這可以用與隱馬爾可夫模型相關的序列概率來表示:
其中是類別的先驗概率。這個損失函數的優化比最大似然要復雜,尤其為了計算式73的分母,需要在每個模型下評估每個訓練序列。隱馬爾科夫模型耦合判別訓練方法,被廣泛的應用于語音識別。
HMM的重要弱點是系統保持在給定狀態下的時間分布的表達方式。為了了解這個問題,從給定的HMM中采樣的序列在狀態中精確地花費了步,然后轉換到另一種狀態的概率為:
的指數衰減函數也是如此。
對于許多應用程序,這將是一個非常不現實的狀態持續時間模型。該問題可以通過直接對狀態持續時間建模來解決,其中對角系數都被設為零,并且每個狀態都明確地與可能持續時間的概率分布相關。
從生成的角度來看,當進入狀態時,從中提取一個表示系統將保持在狀態的時間步長的值。然后,模型釋放觀測變量的值,一般假設這兩個值是獨立的,因此對應的發射密度為。這種方法需要EM優化過程進行一些直接的修改。
標準的HMM的另一個限制是,它在捕捉觀測變量之間的長期相關性(即被許多時間步分開的變量之間)方面很差,因為這些必須通過一階隱狀態馬爾科夫鏈來調節。通過對圖5 的圖模型添加額外的鏈接,原則上可以包含更長期的效果。解決這個問題的一種方法是推廣HMM,從而得到自回歸隱馬爾可夫模型,圖17顯示了該模型的一個例子。
對于離散觀測,這對應于發射分布的條件概率的擴展表。在高斯發射密度的情況下,我們可以使用線性高斯框架,其中在給定前面觀測下的和的條件分布是一個高斯分布,其均值是條件變量值的線性組合。顯然,必須限制圖中附加鏈接的數量,以避免自由參數的數量過多。
在圖17所示的示例中,每個觀察依賴于前面兩個觀察到的變量以及隱狀態。雖然這個圖看起來很亂,但我們可以再次應用來發現它實際上仍然有一個簡單的概率結構。
如果我們以為條件,我們會發現,與標準HMM一樣,和的值是獨立的,對應于條件獨立性屬性式5。從節點到節點的每條路徑都經過至少一個相對于該路徑頭尾相接的觀察節點,這很容易驗證。
因此,我們可以再次在EM算法的步中使用前向后向遞歸來確定潛在變量在計算時間內的后驗分布,計算時間在鏈的長度上是線性的。類似地,步只涉及標準步方程的微小修改。在高斯發射密度的情況下,這涉及估計參數使用標準線性回歸方程。
我們已經看到自回歸HMM是標準HMM的自然擴展,當把它看作圖模型的時候。事實上,基于HMM的概率圖形建模觀點激發了大量不同的圖形結構。另一個例子是input-output HMM,模型中我們有一個觀測變量序列,除了輸出變量,其值要么影響潛在變量或輸出變量的分布,要么同時影響二者。
圖18顯示了一個示例。這就把HMM框架擴展到了有序數據的監督學習領域。通過判據的使用,我們再次很容易地證明潛變量鏈的馬爾科夫性質式5仍然成立。
為了驗證這一點,只需注意從節點到節點只有一條路徑,這是相對于觀察到的節點的頭到尾路徑。這個條件獨立性再次允許有效率地計算學習算法的公式。我們可以通過最大化似然函數來確定模型的參數,其中是行由給出的矩陣。作為條件獨立性的結果式5,這個似然函數可以通過EM算法高效地最大化,其中E步包含前向和后向遞歸。
另一個變體是階乘(factorial)隱馬爾可夫模型,有多個獨立的馬爾可夫鏈的潛在變量,和觀察變量的分布在給定的時間步長是以同樣時間步長所有對應的潛在變量為條件的。
圖19顯示了相應的圖模型。考慮階乘HMM的動機可以看出,為了在給定的時間步長表示10位信息,一個標準的HMM需要個潛態,而一個階乘HMM可以利用10個二進制潛鏈(latent chains)。然而,階乘HMMs的主要缺點在于訓練它們的額外復雜性。
階乘HMM模型的M步很簡單。然而,對變量的觀察引入了潛在鏈之間的依賴關系,導致E步困難。可以看出,在圖19中,變量和在節點處通過一條頭對頭的路徑連接,因此它們并沒有。該模型的確切E步并不對應于沿著馬爾科夫鏈獨立地運行前向和后向遞歸。
如圖20中使用所示,在階乘HMM模型中,單個馬爾可夫鏈并不滿足關鍵條件獨立性式5,這一點得到了證實。現在假設有個隱含節點鏈,為了簡單起見,假設所有潛在變量都有相同數量的個狀態。然后一種方法是在一個給定的時間步長有個組合的潛在變量,因此我們可以將模型轉換成一個等價的具有一個潛在變量鏈的標準隱馬爾科夫模型,每個潛在變量都有種潛在狀態。
然后我們可以在E步驟中運行標準的前向后向遞歸。這種方法的計算復雜度為,它是個潛在鏈的指數形式,因此除了的小值之外,對于其他任何值都是難以處理的。一種解決方法是使用抽樣方法。
作為一種優雅的確定性選擇,Ghahramani和Jordan(1997)利用變分推理技術來獲得一種可處理的近似推理算法。這可以使用一個簡單的變分后向分布,充分因式分解潛變量,或者使用一種更強大的方法,用獨立的馬爾科夫鏈來描述變分分布,與原始模型中的潛變量鏈相對應。在后一種情況下,變分推理算法包括沿著每條鏈運行獨立的前向和后向遞歸,這在計算上是有效的,但也能夠捕獲同一鏈內變量之間的相關性。
顯然,有許多可能的概率結構可以根據特定應用程序的需要構建。圖形化模型為激發、描述和分析這樣的結構提供了一種通用的技術,而變分方法為在那些模型中執行推理提供了一個強大的框架,對于這些模型,精確的解決方案是難以解決的。
總結
以上是生活随笔為你收集整理的em算法怎么对应原有分类_[PRML]序列数据 HMM维特比算法及扩展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 增长量计算n+1原则_土方量计算方法
- 下一篇: 大唐波斯将军 机器人_你的工作会被机器人