机器学习笔记(十八)——HMM的参数估计
生活随笔
收集整理的這篇文章主要介紹了
机器学习笔记(十八)——HMM的参数估计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、HMM中的第三個基本問題
????參數估計問題:給定一個觀察序列O=O1O2…OT,如何調節模型μ=(A,B,π)的參數,使得P(O|μ)最大化:
模型的參數是指構成 μ的 πi,aij,bj(k)。本文的前序兩節講的EM算法就是為了解決模型參數的最大化問題。其基本思想是,初始時隨機地給模型參數賦值,該賦值遵循模型對參數的限制,例如,從某一狀態出發的所有轉移概率之和為1.給模型參數賦初值后,得到模型 μ0, 然后根據 μ0可以得到模型中隱變量的期望值。例如,從 μ0得到某一狀態到另一狀態的期望次數,用期望次數來替代實際次數,這樣可以得到模型參數的重新估計值,由此得到新的模型 μ1。然后重復上述過程,直到參數收斂于最大似然估計值。
二、算法介紹
????給定HMM的參數μ和觀察序列O=O1O2…OT在時間t位于狀態si,時間t+1位于狀態sj的概率:
可由下面的公式計算獲得:
ξt(i,j)=P(qt=si,qt+1=sj,O;μ)P(O;μ)=at(i)aijbj(Ot+1)βt+1(j)P(O;μ)=at(i)aijbj(Ot+1)βt+1(j)∑Ni=1∑Nj=1at(i)aijbj(Ot+1)βt+1(j)(18?1)
????給定HMM的參數 μ和觀察序列 O=O1O2…OT在時間 t位于狀態si的概率 γt(i)為:
γt(i)=∑j=1Nξt(i,j)(18?2)
由此, μ的參數可由下式估計:
πiˉ=P(q1=si|O;μ)=γ1(i)aˉij=Q中從狀態qi轉移到qj的期望次數Q中所有從狀態qi轉移到另一狀態(包含qj)的期望次數=∑T?1t=1ξt(i,j)∑T?1t=1γt(i)bˉj(k)=Q中從狀態qj輸出符號vk的期望次數Q到達qj的期望次數=∑Tt=1γt(j)δ(Ot,vk)∑Tt=1γt(j)
三、前向后向算法
????根據上述思路,給出前向后向算法:
1. 初始化:隨機地給參數πi,aij,bj(k)賦值,使得滿足如下約束:
由此,得到模型 μ0.令 i=0,執行下面的EM估計。
2. EM計算
E步:由模型 μi根據公式18-1和18-2計算 ξt(i,j)和 γt(i);
M步:用E步得到的期望值重新估計模型參數 πi,aij,bj(k),得到模型 μi+1
3. 循環計算:
令 i=i+1, 重復EM計算,直到 πi,aij,bj(k)收斂。
總結
以上是生活随笔為你收集整理的机器学习笔记(十八)——HMM的参数估计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UNIX再学习 -- 信号处理
- 下一篇: 机器学习笔记(三)——正则化最小二乘法