[ML] Hidden Markov Model 是什麼碗糕?




Markov Model 大致上有三個組成要素,一個是 states,一個是 transition probabilities,一個是 initial probabilities。而大致上,這三個東西都是很明確可以計算的,而states大致上也具有一定的物理意義。
譬如說,在氣象預報上面,我們知道大致上可以區分成三個states,晴天,陰天跟下雨天。
根據統計的資料(譬如說收集一年內,每一天的天氣狀況),我們就可以馬上知道,今天如果是晴天,明天還是晴天的機率,或明天變成下雨天的機率,這就是transition probabilities。
而如果沒有給定前一天的天氣狀況,我也可以從統計資料裡面知道,晴天,陰天,或下雨天的機率。

Hidden Markov Model 在 Hidden 的部分,其實是一個 Markov Model,但是因為是 hidden,所以我們不知道他有多少個 states。states 的多寡需要由經驗來假設。HMM 的 states 也不一定具有物理意義。我們只能觀察這個 model 的輸出結果,藉由觀察到的結果來反推 Model 的可能是什麼樣子。
HMM 主要有三個組成要素,一個是 observation probabilities,一個是 transition probabilities,還有一個是 initial probabilities。
observation probabilities 是我們觀察到的某個東西是從某一個 hidden state 來的機率。
transition probabilities 是 hidden states 之間轉換的機率。
initial probabilities 是一開始的時候,落在某一個 hidden state 的機率。
這些參數的計算,沒有辦法向 Markov model 那樣的對某一個 state 做計數就求得,你必須計算很多種排列組合,然後再找出組合的最大機率,來求得。
輸入一大堆資料來,一直排列組合來找出最好的組合,以求得這些參數的方式,叫做 training 。
一旦參數找出來之後,你就可以很容易運用這個 Model 來求得某個 observation 出現的機率大小 (likelihood)了。

基本上在 Hidden Markov Model 裡面,你必須考慮三個問題:
1. 如果這個 Model 的參數 (即 transition probabilities, observation probabilities, 及 initial probabilities) 都已經給定,你要如何計算一串 observation 是由這個 model 產生的機率。

2. 假定 Model 的參數已經給定,然後你也取得一串觀察的數據,你要如何找出最有可能的 Hidden State 出現順序。(使用 Viterbi Algorithm)

3. 如何求得的 Model 參數 (使用 Baum-Welch Method)




Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.