上一篇博客介绍了隐马尔科夫模型的基本概念和概率计算问题。
这篇博客主要介绍马尔可夫模型的学习问题和预测问题。一、学习算法
已知观测序列O(o1,o2,...oT),估计模型r的参数,使的观测序列O出现的概率P(O|r)最大学习算法分为两种:(1)监督学习算法:训练数据包括观测序列(输入)和对应的状态序列(输出)(2)非监督学习算法:训练数据值包括观测序列1、监督学习方法 用极大似然估计来估计隐马尔科夫模型的参数:状态转移矩阵、观测概率矩阵、初始状态概率向量。 简单来说,就是用频率来估计概率。 训练数据集:S个观测序列、状态序列对 其中状态集合有N个元素,观测集合有M个元素(1)状态转移概率: 统计状态i转移到状态j的频数 统计状态i转换到状态1~N的频数 两者相比就是状态i转移到状态j的频率 —— 概率的估计(2)观测概率 统计状态为i、观测为k的频数 统计状态为i、观测为1~M的频数 两者相比就是状态为i、观测为k的频率 —— 概率的估计(3)初始状态概率 统计初始状态为i的频数 统计一共有多少个初始状态(S个) 两者相比就是初始状态为i的频率 —— 概率的估计
2、非监督学习方法—— Baum-Welch算法 训练数据集:S个长度为T的观测序列(1)参数学习 —— EM算法 Q函数 —> 求极大值(分别用拉格朗日函数表示πi、aij、bj(k),求偏导=0,求解三个值)(2)用t时刻处于状态qi的概率和t时刻处于qi且t+1时刻处于qj的概率,替换上面结果中的概率
二、预测算法
给定模型r=(A,B,π)和观测序列O(o1,o2,...,oT),求最有可能的对应的状态序列主要包含两者算法:(1)近似算法:在每个时刻t选择在该时刻最优可能出现的状态it,从而得到一个状态序列I(i1,i2,..iT),将它作为预测的结果(2)维特比算法:用动态规划解隐马尔科夫模型预测问题,即用动态规划求概率最大路径(最优路径),这时一条路径对应着一个状态序列。
先从概念上理解一下吧,容我缓缓再加上数学推导.....
..................................................