机器学习之隐含马尔可夫
一、马尔可夫
简单的来说,马尔可夫过程就是说当前的状态仅和上一个状态有关,它是一种2-gram模型
二、HMM(Hiden Markov model) 隐含马尔可夫模型
描述:
HMM是一个时间序列问题。
HMM主要有两个矩阵和两个序列,首先有 n 个状态 Si , 每个状态可以产生 m 个观测值 Vj , 状态和状态之间又一个状态转移矩阵AnXn = [ aij ],状态和观测值之间有一个观测概率矩阵 BnXm = [bij], 然后还有一个最初的状态概率 ∏,根据这些条件我们可以解决下面三个问题
1、概率问题,某个观测序列出现的概率
我们知道最初的状态的概率∏,状态转移矩阵,观测概率矩阵,可以求出某个观测序列出现的概率,主要有两种方法,前向法和后项法。
假设
前向法:
从最初的状态(∏)开始求出 观测结果为 v1 的概率, 也就是每一个状态都会产生 V1,
在产生出 V1 的情况下,去求下一步产生出V2 的概率,前一个时间每个状态都可以转移到当前时间的状态,而当前状态主要产生V2, 形成一个树状结构
直到最后状态t, 将所有产生Vt的概率累加,即得 观测序列 (V1, V2 ... Vt)的概率。
后向算法:
与前向类似,前向是从最初状态(∏)开始出发,后向是从最后的状态,原理差不多。
2、学习问题:已知观测序列,估计模型参数
没看懂
3、预测问题:已知观测序列和模型参数,求概率最大的状态序列
这里和第一个问题 求概率问题挺像的,只不过需要记录一下每一个当前状态的前驱,便于最后回溯。