Baum Welch估計HMM引數例項

2022-03-05 10:15:08 字數 1077 閱讀 5381

下面的例子來自於《what is the expectation maximization algorithm?》

題面是:假設你有兩枚硬幣a與b,這兩枚硬幣丟擲正面的概率分別為\(\theta_a\)和\(\theta_b\)。下面給出一些觀測的結果,需要你去估計這兩個引數\(\theta_a\)與\(\theta_b\)

假設給的資料是完整的資料,也就是樣本資料告訴了你,此樣本來自硬幣a還是硬幣b。針對與完整的資料,直接使用極大似然估計即可。具體的計算如下圖所示:

我們可以看到,整個估計的過程就是分別統計來自a的正反面與來自b的正反面,然後內部進行估計(本質上是極大似然)。

如果給的資料是不完整的資料呢,比如我們不知道當前觀測序列是來自硬幣a 還是硬幣b,這個時候,就需要使用em演算法。

這裡解釋下求解的過程,首先是我們假設初始的\(\theta_a\)與\(\theta_b\)的值分別為 \(0.6\) 與 \(0.5\). 我們必須要知道當前樣本來自a的概率與來自b的概率,然後才能得出來自a的正面期望數和來自b的正面期望數。估計很多人會被卡在這裡,我也是。因為不知道圖上的\(0.45\)等值是怎麼得出來的。 實際上很簡單,既然我們有了觀測序列,那麼我們分別計算一下來自a的似然值,然後再計算一下來自b的似然值。根據似然的大小來決定概率,具體的坐下如下

\[l_a = 0.6^5\times (1 - 0.6)^5 = 0.0007962624

\]然後再計算下來自b的似然值

\[l_b = 0.5^5\times (1 - 0.5)^5 = 0.0009765625

\]然後計算下這兩個的比值,來計算來自a的概率

\[p(a) = \dfrac = 0.45

\]那麼$$p(b) = 1 - p(a) = 0.55$$

然後採用上面求mle的方法估計引數\(\theta_a\)和引數\(\theta_b\).

重複上述過程幾次到收斂即可。

機器學習筆記 十八 HMM的引數估計

引數估計問題 給定乙個觀察序列o o1o2 ot 如何調節模型 a,b 的引數,使得p o 最大化 ar gmax p otr aini ng 模型的引數是指構成 的 i,a ij,b j k 本文的前序兩節講的em演算法就是為了解決模型引數的最大化問題。其基本思想是,初始時隨機地給模型引數賦值,該...

vins外參ric的的估計

在feature detection and tracking模組中,利用harris特徵點匹配通過基礎矩陣和ransac恢復出rck 1ck r rc k 1c k 相應的使用imu陀螺儀資料積分得到rbk 1bk r rb k 1b k 這兩個測量滿足 r ck 1ck rbc rbc rbk ...

EM演算法學習 番外篇 HMM的引數估計

一 hmm的定義 隱馬爾科夫模型實際上是乙個雙重的隨機過程,其中一重隨機過程不能直接被觀測到,通過狀態轉移概率矩陣描述,另一重隨機過程輸出可以觀測的觀測符號,這個是由輸出的概率來進行定義的.隱馬爾科夫的模型的引數 入 可以表示為乙個五元組 1 s是一組狀態的集合,s 而隨機序列x在t時刻所處的狀態為...