马科夫链
- 马尔可夫链,因安德烈.马尔科夫(A.A.Markov,1856-1922)得名,是指数学中具有马尔可夫性质的离散事件随机构成。
- 在给定当前只是或信息的情况下,过去(即当前以前的历史状态),对于预测将来(即当前以后的未来状态)是无关的。
-
每个状态的转移只依赖与之前的n个状态,这个过程被称为1个n阶的模型,其中n是影响转移状态的数目。最简单的马尔科夫过程是一阶过程,用数学表达式表示就是下面的形式:
隐马尔科夫模型
-
HMM由初始概率分布π、状态转移概率分布A以及观测概率B确定。
对A 的解释:
- I是长度为T的状态序列,O是对应的观测序列
- A是状态转移概率矩阵(方阵)
上一时刻是qi,下一时刻为qj的概率。
对B的解释
- 观测概率矩阵:
- 是在时刻t由i号隐状态(Inner)观测到k号观测值的概率矩阵N行M列。
- 如果是观测序列的状态是连续的,B则为概率密度函数。
对π的解释
- π是初始状态向量,
- πi是第一个时刻处于状态qi的概率
HMM中的两个基本性质
-
齐次假设:
-
观测独立性假设:
HMM中的3个问题
-
概率计算问题
-
给定模型λ = (A,B,π),如何有效计算其产生
的概率?
- 通过前向算法,后向算法来计算
-
给定模型λ = (A,B,π),如何有效计算其产生
-
学习问题
-
得到观测序列
,如何估计隐马模型的参数λ
-
-
预测问题
-
给定模型λ = (A,B,π),和观测序列
,如何球的观测序列背后,概率最大的状态序列?
-
概率计算问题
直接计算
学习过贝叶斯网络,只要有全概率公式,可以通过除法和求和计算任意一个概率公式
-
状态序列
-
对于固定的状态序列I,观测序列O发生的概率是:
-
O和I同时出现的联合概率是:
-
目标要求:
时间复杂度太高,高达O(N*N^T)。
前向算法和后向算法
计算一组时序发生的概率前向算法
-
定义:给定λ,定义从时刻1到时刻t部分观测序列
且t时刻的状态为qi的概率称为前向概率,记作:
-
如何通过桥梁αt(i)来求得我们的最终目标P(O|λ)?
推导公式如下:
推导公式的思路如下: