您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > HMM隐马尔科夫模型Hidden Markov model
隐马尔可夫模型HiddenMarkovmodel徐从富浙江大学人工智能研究所2003年10月第一稿2005年9月修改补充Modifiedbysiuleung目录HMM的由来马尔可夫性和马尔可夫链HMM实例HMM的三个基本算法主要参考文献HMM的由来1870年,俄国有机化学家VladimirV.Markovnikov第一次提出马尔科夫模型马尔可夫模型马尔可夫链隐马尔可夫模型马尔可夫性如果一个过程的“将来”仅依赖“现在”而不依赖“过去”,则此过程具有马尔可夫性,或称此过程为马尔可夫过程X(t+1)=f(X(t))马尔科夫链时间和状态都离散的马尔科夫过程称为马尔科夫链记作{Xn=X(n),n=0,1,2,…}–在时间集T1={0,1,2,…}上对离散状态的过程相继观察的结果链的状态空间记做I={a1,a2,…},ai∈R.条件概率Pij(m,m+n)=P{Xm+n=aj|Xm=ai}为马氏链在时刻m处于状态ai条件下,在时刻m+n转移到状态aj的转移概率。转移概率矩阵阴天晴天下雨晴天阴天下雨晴天0.500.250.25阴天0.3750.250.375下雨0.250.1250.625转移概率矩阵(续)由于链在时刻m从任何一个状态ai出发,到另一时刻m+n,必然转移到a1,a2…,诸状态中的某一个,所以有当Pij(m,m+n)与m无关时,称马尔科夫链为齐次马尔科夫链,通常说的马尔科夫链都是指齐次马尔科夫链。1(,)1,1,2,ijjPmmniHMM实例ObservedBallSequenceUrn3Urn1Urn2VeilHMM实例——描述设有N个缸,每个缸中装有很多彩球,球的颜色由一组概率分布描述。实验进行方式如下–根据初始概率分布,随机选择N个缸中的一个开始实验–根据缸中球颜色的概率分布,随机选择一个球,记球的颜色为O1,并把球放回缸中–根据描述缸的转移的概率分布,随机选择下一口缸,重复以上步骤。最后得到一个描述球的颜色的序列O1,O2,…,称为观察值序列O。HMM实例——约束在上述实验中,有几个要点需要注意:不能被直接观察缸间的转移从缸中所选取的球的颜色和缸并不是一一对应的每次选取哪个缸由一组转移概率决定HMM概念HMM的状态是不确定或不可见的,只有通过观测序列的随机过程才能表现出来观察到的事件与状态并不是一一对应,而是通过一组概率分布相联系HMM是一个双重随机过程,两个组成部分:–马尔可夫链:描述状态的转移,用转移概率描述。–一般随机过程:描述状态与观察序列间的关系,用观察值概率描述。Markov链(,A)随机过程(B)状态序列观察值序列q1,q2,...,qTo1,o2,...,oTHMM的组成示意图HMM组成HMM的基本要素用模型五元组=(N,M,π,A,B)用来描述HMM,或简写为=(π,A,B)参数含义实例N状态数目缸的数目M每个状态可能的观察值数目彩球颜色数目A与时间无关的状态转移概率矩阵在选定某个缸的情况下,选择另一个缸的概率B给定状态下,观察值概率分布每个缸中的颜色分布初始状态空间的概率分布初始时选择某口缸的概率HMM可解决的问题问题1:给定观察序列O=O1,O2,…OT,以及模型,如何计算P(O|λ)?问题2:给定观察序列O=O1,O2,…OT以及模型λ,如何选择一个对应的状态序列S=q1,q2,…qT,使得S能够最为合理的解释观察序列O?问题3:如何调整模型参数,使得P(O|λ)最大?(,,)AB(,,)AB解决问题1基础方法给定一个固定的状态序列S=(q1,q2,q3…)表示在qt状态下观测到Ot的概率N=5,M=100,=计算量10^72TtTqqqttObObObqOPSOPt121)()()(),/(),/(21)(tqObtS)/(),/()/(所有SPSOPOP解决问题1前向法动态规划定义前向变量–初始化:–递归:–终结:TtqOOOPiittt1)/,,,()(21 TtObiii1)()(11 NjTtObaijtjijNiit1,11)(])([)(111 NiTiOP1)()/(前向法示意图1...tt+1...a1jt1qN.qi.qj..q1tNtiaNjaij1jtN=5,M=100,=计算量3000解决问题1后向法与前向法类似定义后向变量–初始化:–递归:–终结:11)/,,,()(21TtqOOOPiitTttt TtiT11)( NiTTtjObaittNijijt1,1,...,2,1)()()(111 NiiOP11)()/(Viterbi算法目的:给定观察序列O以及模型λ,如何选择一个对应的状态序列S,使得S能够最为合理的解释观察序列O?N和T分别为状态个数和序列长度定义:我们所要找的,就是T时刻最大的所代表的那个状态序列1211211,2,,,,...()max[...,,|]tttttqqqiPqqqqiOOO…()TiViterbi算法(续)初始化:递归:终结:求S序列:Ni1,0)(Ni1),()(111 iObiiiNjTtaijNjTtObaijijtNitijijtNit1,2],)([maxarg)(1,2),(])([max)(1111 )]([maxarg)])([max1*1*iqiPTNiTTNi1,...,2,1),(*11*TTtqqttt Baum-Welch算法(模型训练算法)目的:给定观察值序列O,通过计算确定一个模型,使得P(O|)最大。算法步骤:1.初始模型(待训练模型)0,2.基于0以及观察值序列O,训练新模型;3.如果logP(X|)-log(P(X|0)Delta,说明训练已经达到预期效果,算法结束。4.否则,令0=,继续第2步工作Baum-Welch算法(续)定义:1111111i11i1ij(,)(,)(,|,)()()()()()()()(,)S()S(,)tttttijjttNNtijjttijNttjTtttijijPsisjXiabOjiabxjiijtiij给定模型和观察序列条件下,从到的转移概率定义为时刻处于状态的概率整个过程中从状态转出的次数(numberoftime)的预期1ij1SSTt从跳转到次数的预期Baum-Welch算法(续2)参数估计:,Oexpectednumberoftimesinstateandobservingsymbolˆ()expectednumberoftimesinstate()()tjttkttjkbkjjjReestimate:expectedcountoftransitionsfromitojˆexpectedcountofstaysati(,)(,)ijttttjaijij1t1()iiSi当=时处于的概率几种典型形状的马尔科夫链a.A矩阵没有零值的Markov链b.A矩阵有零值的Markov链c./d.左-右形式的Markov链HMM的应用领域语音识别机器视觉–人脸检测–机器人足球图像处理–图像去噪–图像识别生物医学分析–DNA/蛋白质序列分析主要参考文献1.LawrenceR.Rabiner,ATutorialonHiddenMarkovModelsandSelectedApplicationsinSpeechRecognition.Proceedings1989.课件/徐从富_AI/补充材料/隐Markov模型.pdf或课件/徐从富_AI/补充材料/隐Markov模型.pdf欢迎批评指正,谢谢!
本文标题:HMM隐马尔科夫模型Hidden Markov model
链接地址:https://www.777doc.com/doc-3643426 .html