概率图模型分为两类:第一类是使用有向无环图表示变量间的依赖关系,称为有向图模型和贝叶斯网;第二类是使用无向图表示变量间的相关关系,称为无向图模型或者马尔可夫网。
隐马尔可夫模型(HMM)是结构最简单的动态贝叶斯网。
HMM主要用于时序数据建模,在语音识别、自然语言处理等领域有广泛应用。
HMM的变量可以分为两组。第一组是状态变量用yi表示,通常假定状态变量是隐藏的、不可被观测的,因此状态变量亦称隐变量;第二组是观测变量,用xi表示,即在i时刻的可观测值。
在HMM中,系统通常在多个状态si之间转换,因此状态变量yi的取值范围通常有N个可能取值的离散空间。
马尔可夫链(在任一时刻,观测变量的取值仅依赖于状态变量,即xt由yt确定,与其他状态变量及观测变量的取值无关。同时yt只依赖于t-1时刻的yt-1)
HMM通常只是关注y
除了结构信息隐马尔可夫模型还需以下三组参数:
- 状态转移概率 yi之间转换的概率,记为矩阵A
- 输出观测概率 根据当前状态获得各个观测值的概率,记为矩阵B
- 初始状态概率 模型在初始时刻的概率也就是y1=si的概率,记为pi
- 设置t=1,并根据初始状态概率pi来选择初始状态y1;
- 根据状态yt和输出观测概率B选择观测变量取值xt;
- 根据状态yt和状态转移矩阵A转移模型状态,即确定yt+1;
- 若t<n,设置t=t+1,并转移到第二步,否则停止。
在实际应用中,人们常关注HMM的三个基本问题:
- 给定模型(A,B,pi),如何有效计算其产生观测序列x={x1,x2,....,xn}的概率,即如何评估模型与观测序列之间的匹配度。
- 给定模型(A,B,pi)和观测序列x={x1,x2,....,xn},如何找到与此观测序列最匹配的的状态序列y={y1,y2,...,yn},即根据观测序列推测出隐藏的模型状态。
- 给定观测序列x={x1,x2,...,xn},如何调整模型参数(A,B,pi)使得该序列出现的概率P(x|(A,B,pi))最大,即如何训练模型使得其能最好的描述观测数据。