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

2021-07-24 04:28:48 字數 2334 閱讀 9774

引數估計問題:給定乙個觀察序列o=

o1o2

…ot ,如何調節模型μ=

(a,b

,π) 的引數,使得p(

o|μ)

最大化: ar

gmaxμp

(otr

aini

ng|μ

) 模型的引數是指構成μ 的

πi,a

ij,b

j(k)

。本文的前序兩節講的em演算法就是為了解決模型引數的最大化問題。其基本思想是,初始時隨機地給模型引數賦值,該賦值遵循模型對引數的限制,例如,從某一狀態出發的所有轉移概率之和為1.給模型引數賦初值後,得到模型μ0

, 然後根據μ0

可以得到模型中隱變數的期望值。例如,從μ0

得到某一狀態到另一狀態的期望次數,用期望次數來替代實際次數,這樣可以得到模型引數的重新估計值,由此得到新的模型μ1

。然後重複上述過程,直到引數收斂於最大似然估計值。

給定hmm的引數

μ 和觀察序列o=

o1o2

…ot 在時間

t 位於狀態si

,時間t+1

位於狀態sj

的概率: ξt

(i,j

)=p(

qt=s

i,qt

+1=s

j|o;

μ)(1

≤t≤t

,1≤i

,j≤n

) 可由下面的公式計算獲得: ξt

(i,j

)=p(

qt=s

i,qt

+1=s

j,o;

μ)p(

o;μ)

=at(

i)ai

jbj(

ot+1

)βt+

1(j)

p(o;

μ)=a

t(i)

aijb

j(ot

+1)β

t+1(

j)∑n

i=1∑

nj=1

at(i

)aij

bj(o

t+1)

βt+1

(j)(

18−1)

給定hmm的引數

μ 和觀察序列o=

o1o2

…ot 在時間

t 位於狀態si

的概率γt(

i)為: γt

(i)=

∑j=1

nξt(

i,j)

(18−2

) 由此,μ

的引數可由下式估計: πi

¯=p(

q1=s

i|o;

μ)=γ

1(i)

a¯ij

=q中從

狀態qi

轉移到q

j的期望

次數q中

所有從狀

態qi轉

移到另一

狀態(包

含qj)

的期望次

數=∑t

−1t=

1ξt(

i,j)

∑t−1

t=1γ

t(i)

b¯j(

k)=q

中從狀態

qj輸出

符號vk

的期望次

數q到達

qj的期

望次數=

∑tt=

1γt(

j)δ(

ot,v

k)∑t

t=1γ

t(j)

根據上述思路,給出前向後向演算法:

1. 初始化:隨機地給引數πi

,aij

,bj(

k)賦值,使得滿足如下約束: ∑i

=1nπ

i=1∑

j=1n

aij=

1,1≤

i≤n∑

k=1m

bj(k

)=1,

1≤j≤

n 由此,得到模型μ0

.令i=0

,執行下面的em估計。

2. em計算

e步:由模型μi

根據公式18-1和18-2計算ξt

(i,j

) 和γt

(i) ;

m步:用e步得到的期望值重新估計模型引數πi

,aij

,bj(

k),得到模型μi

+13. 迴圈計算: 令 i

=i+1

, 重複em計算,直到πi

,aij

,bj(

k)收斂。

機器學習 基於HMM的中文分詞

encoding utf 8 b表示詞彙的開始 m表示詞彙的中間 e表示詞彙的尾部 s表示詞彙單獨成詞 class hmm object def init self self.states b m e s self.load para false self.a dic self.b dic self...

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

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

機器學習中的引數和超引數

模型內部的配置變數,例如 神經網路中的權重w和偏置b,svm中的支援向量,線性回歸或邏輯回歸中的係數 使用資料進行估計 優化演算法 或者學習得到 模型外部設定的變數,例如 神經網路中的學習速率 learning rate 迭代次數 epoch 隱藏層層數 每層的神經元個數 啟用函式的選擇,svm中的...