课程资料来源于:B站简博士系列教程,教的很好。
目录
马尔科夫链的定义
马尔科夫两要素:初始状态分布、状态转移概率矩阵
隐马尔科夫模型HMM
概率计算、学习、预测
直接计算
前向算法
后向算法
马尔科夫链的定义
未来只与现在有关,St+1只依赖于St。
马尔科夫两要素:初始状态分布、状态转移概率矩阵
Q={q1,q2, ..., qn}。例如状态:晴天、多云、下雨
状态转移概率矩阵P有规律:每一行sum为1,每一个元素处于0~1之间。例如下面的P。
初始状态分布π=(π1, π2, ..., πn)T。每个概率处于0~1之间。
PS:最后例题的计算过程是错的,通过分析矩阵元素定义(晴天转晴,晴天转阴,晴天转雨)*(初始为晴)可知其计算过程应该如下:
隐马尔科夫模型HMM
增加了观测序列,共三个要素π、A、B
中间过程包括状态空间Q、观测空间V;状态序列I、观测序列O;状态转移矩阵A、观测概率矩阵B。
以抛掷硬币为例:
给定一个 使用场景,认为该场景可能存在模型(A、B、C),不同模型之间可以相互转化,针对不同的模型,待观测物体表现出来的状态(正、反)概率也不同。在场景启动时存在的模型可能性按照概率(π)分布,不同模型之间转换的概率为(A),模型预测物体状态概率为(B),具体计算方式为全概率分布公式。
概率计算、学习、预测
直接计算
计算量的复杂度是:其中 T为观测次数(实验进行了多少次)
其具体计算过程如下,P(O,I | λ)为已知三要素下,状态序列O与模型序列I同时成立的概率(每一步的模型都为规定值、每一个状态也都为规定值)。然后求P(O|λ) 即为求所有模型序列下的概率之和。
前向算法
计算量的复杂度是:其中 T为观测次数(实验进行了多少次)
按照状态汇聚,先计算上一个观测中所有状态的概率,然后计算这个观测中每个状态出现的概率,最后分别乘观测概率。
后向算法
按照状态发散,已知上一个观测中某个状态的概率,然后对这个观测不是很能看懂,感觉就是把原来的顺序逆过来,认为上一个观测结果已知,这个只知道状态而不考虑观测。