隐马尔科夫模型原理图解.pptx
《隐马尔科夫模型原理图解.pptx》由会员分享,可在线阅读,更多相关《隐马尔科夫模型原理图解.pptx(23页珍藏版)》请在冰豆网上搜索。
山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组HighPerformanceComputingandBigDataProcessingGroup张庆科张庆科隐马尔可夫模型原理图解隐马尔可夫模型原理图解HiddenMarkovModels1山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组提纲HiddenMarkovModelHiddenMarkovModel隐马尔科夫模型的三个问题隐马尔科夫模型的三个问题总结总结1133l概率计算概率计算问题问题l路径预测问题路径预测问题22l参数学习问题参数学习问题HiddenHiddenMarkovMarkovModelModel2山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组11马尔可夫模型马尔可夫模型马尔马尔马尔马尔可可可可夫夫夫夫模型模型模型模型是数学中是数学中具有马尔可夫性质的离散具有马尔可夫性质的离散时间时间随机过程随机过程,是,是用于用于描述随机描述随机过程统计特征的概率过程统计特征的概率模型。
模型。
S2S3S1SNS1t=1t=2t=3t=T-1t=TS1S2S3SNS1S2S3SNS1S2S3SNS1S2S3SNS1S2S3SNS1S2S3SN系统状态数目(N个)S2S3S1S1SN一条一条马尔可夫链马尔可夫链状态序列状态序列=观测序列观测序列3山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组2.2.一阶马尔可夫一阶马尔可夫模型概念模型概念t=1t=2t=3t=4t=5S1S2S3S1S2S3系统状态数目(N=3)一阶马尔可夫一阶马尔可夫模型(模型(MarkovModels)S1S2S3S1S2S3S1S2S3S1S2S3a11a12a13a22a21a23a31a33a32a11a12a22a21a23a33a32a11a12a22a21a23a33a32a11a12a22a21a23a33a32下时期状态只下时期状态只取决于取决于当前当前时期时期状态和转移概率状态和转移概率从某时刻状态到下从某时刻状态到下时刻时刻的的状态按一定概率转移状态按一定概率转移t-1时刻t时刻qt-1qtqt-1qtq1q2q3t-1时刻t时刻晴阴雨T=1T=2T=34山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组3.3.隐马尔可夫模型隐马尔可夫模型t=1t=2t=3t=T-1t=TS1S2S3SNS1S2S3SNS1S2S3SNS1S2S3SNS1S2S3SNS1S2S3SN隐藏状态S2S3S1S1SNt=1t=2t=3t=T-1t=T观观测测状状态态Q1Q2QMQ1Q2QMQ1Q2QMQ1Q2QMQ1Q2QMQ1Q2隐藏状态序列隐藏状态序列观察观察状态序列状态序列Q1QMQ2QMHMM状态状态序列序列观测序列观测序列Q1QM一般随机过程一般随机过程马儿科夫过程马儿科夫过程5山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组t=1t=2t=3t=4t=5S1S2S3一阶隐马尔可夫一阶隐马尔可夫模型模型(HiddenMarkovModels)图图解解S1S2S3S1S2S3S1S2S3S1S2S3a11a12a13a22a21a23a31a33a32a11a12a22a21a23a33a32a11a12a22a21a23a33a32a11a12a22a21a23a33a32下时期状态只下时期状态只取决于取决于当前当前时期时期状态和转移概率状态和转移概率从某时刻状态到下从某时刻状态到下时刻时刻的的状态按一定概率转移状态按一定概率转移t-1时刻t时刻qt-1qt4.4.隐马尔可夫模型隐马尔可夫模型(HiddenMarkovModels(HiddenMarkovModels,HMM)HMM)Q3Q4Q1Q1O2I-隐藏隐藏状态状态转移概率生成概率b2(Q3)b3(Q4)b1(Q1)b1(Q1)b2(Q2)II-观察观察序列序列S2S3S1S1S2qt-1qtq1q2q3t-1时刻t时刻T=1T=2T=36山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组t=1t=2t=3t=T-1t=TS1S2S3S1S2SNS1S2SNS1S2SNS1S2SNO1O2O3OT-1S2SNS1S1S25.5.隐马尔可夫模型隐马尔可夫模型(HiddenMarkovModels(HiddenMarkovModels,HMM)HMM)HMM模型模型五五元组表示:
元组表示:
(N,M,A,B)用来描述用来描述HMM,或简写为,或简写为=(,A,B)一阶隐马尔可夫一阶隐马尔可夫模型模型(HiddenMarkovModels)数学)数学定义定义OTA转移概率矩阵OMOMOMOMOMB生成概率矩阵NM7山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组提纲HiddenMarkovModelHiddenMarkovModel隐马尔科夫模型的三个问题隐马尔科夫模型的三个问题总结总结1133l概率计算概率计算问题问题l路径预测问题路径预测问题22l参数学习问题参数学习问题l概率计算概率计算问题问题8山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组t=1t=2t=3t=T-1t=TS1S2S3S1S2SNS1S2SNzS1S2SNS1S2SNa11a12a13a22a21a23aN1aNNaN2a11a12a22a21a23a33a32a11a12a22a21a23a33a32O1O2O3OT-1OTA转移概率矩阵B生成概率矩阵n问题1:
给定观察序列O=O1,O2,OT,以及模型=(,A,B)=(,A,B),计算P(O|)?
a01a02a0N:
初始概率向量1.1.隐马尔可夫模型隐马尔可夫模型-全概率计算全概率计算S2问题本质:
计算产生观测序列O的所有可能的状态序列对应的概率之和共NT个可能路径(指数级计算)N=5,T=100,=计算量1072t=1t=2t=3S1S2S1S2S1S2BES4S4S4S5S5S5S3S3S3t=4S1S2S4S5S3a01a02a03a04a05aT1aT2aT3aT4aT5O1O2O3O4前前向向算算法法后后向向算算法法9山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组n问题1:
给定观察序列O=O1,O2,OT,以及模型=(,A,B)=(,A,B),如何计算P(O|)?
SkSkS1SNOtS1SNSkS1SN0t-1OTtT0SkS1SN1O1初始化阶段(t=1)中间递归阶段(t=2,T)结束阶段2.2.概率概率计算计算问题:
问题:
前向算法(前向算法(ForwardAlgorithmForwardAlgorithm)前前进Ot-1前前进N=5,T=100,=计算量300010山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组SkOt+1S1SNSkS1SN0OTtT0SkS1SN1O1.n问题1:
给定观察序列O=O1,O2,OT,以及模型=(,A,B)=(,A,B),如何计算P(O|)?
3.3.概率概率计算计算问题:
后向问题:
后向算法(算法(ForwardAlgorithmForwardAlgorithm)OtSkS1SNt+1.后退后退后退后退初始化阶段(t=T)中间递归阶段(t=T-1,2,1)结束阶段11山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组提纲HiddenMarkovModelHiddenMarkovModel隐马尔科夫模型的三个问题隐马尔科夫模型的三个问题总结总结1133l概率计算概率计算问题问题l路径预测问题路径预测问题22l参数学习问题参数学习问题l路径预测问题路径预测问题12山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组1.1.隐马尔可夫模型隐马尔可夫模型-路径预测路径预测n问题2:
给定观察序列O=O1,O2,OT,以及模型,如何推测最可能的状态序列S?
t=1t=2t=3t=T-1t=TS1S2SNS1S2SNS1S2SNzS1S2SNS1S2SNaN1A转移概率矩阵B生成概率矩阵a01a02a0N:
初始概率向量S2问题本质:
计算产生观测序列O的最可能的一条隐藏状态序列QO1O2O3OT-1OT已知观察序列已知观察序列?
解决方法:
Viterbi算法S2SNS1S1S2viterbiviterbi算法算法t=1t=2t=3S1S2S1S2S1S2BES4S4S4S5S5S5S3S3S3t=4S1S2S4S5S3a01a02a03a04a05a1-0a2-0a3-0a4-0a5-0O1O2O3O413山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组2.2.隐马尔可夫状态路径预测:
隐马尔可夫状态路径预测:
ViterbiViterbi算法算法t=1t=2t=3S1S2S1S2S1S2BES4S4S4S5S5S5S3S3S3t=4S1S2S4S5S3a01a02a03a04a05a1-0a2-0a3-0a4-0a5-0O1O2O3O4动画演示:
由Viterbi算法计算产生观测序列O的最可能的一条隐藏状态序列Q14山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组SkSkS1SNOtS1SNSkS1SN0t-1时刻OTt时刻T时刻0SkS1SN1时刻O1初始化阶段(t=1)中间递归阶段(t=2,T)结束阶段Ot-1n问题2:
给定观察序列O=O1,O2,OT,以及模型,如何推测最可能的状态序列S?
MaxS1SNSkS1S?
S?
S?
S1Max路径路径回溯回溯向量向量3.3.预测隐马尔可夫状态路径:
预测隐马尔可夫状态路径:
ViterbiViterbi算法算法表示表示tt时刻,沿状态路径时刻,沿状态路径q1,q2,qt,q1,q2,qt,且且qqtt=S=Skk时,产生已知的观时,产生已知的观察序列的前面察序列的前面tt个子序列个子序列o1,o2,oto1,o2,ot的最大概率值的最大概率值表示表示tt时刻,到达隐状态时刻,到达隐状态sksk,且其,且其dela乘积最大乘积最大的那个状态对应的标记序号值。
的那个状态对应的标记序号值。
路径路径回溯回溯15山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组提纲HiddenMarkovModelHiddenMarkovModel隐马尔科夫模型的三个问题隐马尔科夫模型的三个问题总结总结1133l概率计算概率计算问题问题l路径预测问题路径预测问题22l参数训练问题参数训练问题l参数训练问题参数训练问题16山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组11.隐马尔可夫模型隐马尔可夫模型-参数训练问题参数训练问题n问题3:
给定观察值序列O,如何调整模型参数=(,A,B),使得P(O|)最大?
t=1t=2t=3t=T-1t=TS1S2SNS1S2SNS1S2SNzS1S2SNS1S2SNaN1A转移概率矩阵B生成概率矩阵a01a02a0N:
初始概率向量S2问题本质:
参数=(,A,B)的估值问题O1O2O3OT-1OT已知观察序列已知观察序列OO?
17山东大学高性能计算与大数据处理学科组山东大学高性能计算与大数据处理学科组情形情形11:
路径已知时的参数估计(监督学习方法)情形情形22:
路径未知时的参数估计(非监督学习方法)n问题3:
给定观察值序列O,如何调整模型参数=(,A,B),使得P(O|)最大?
2.2.隐马尔可夫模型隐马尔可夫模型-参数参数训练训练问题问题即:
由最大似然估计法对即:
由最大似然估计法对HMMHMM的参数进行估计的参数进行估计S2S3S1S5S2S2S3S1S5V1V3V2V2V1V4