从这一部分开始我们就进入正题了,想要了解CRF,HMM是不可避免的一个话题。
HMM(隐马尔科夫模型)主要被用来处理基于序列的问题,而通常这类问题的数据都包括两种,观测序列和隐藏序列。这样的例子在生活中很多,比如我们在简单上敲下一行字母,这行字母就是观测序列而我们最终打出来的字就是隐藏序列。下面我打算用精确地数学表达来展示HMM的模型。
首先简介的给大家介绍一些HMM的五要素:
M:观察序列集合M={V1,V2,V3,......,Vm},所有的观察序列不能够随便取,必须是来自观察状态集中的符号
N:隐藏状态集N={q1,q2,q3,......,qn},隐藏序列与观察序列相同,不可以随便取,也要求必须全部出自N
A:隐藏转移概率矩阵,aij=p(It+1|It),这个矩阵表示的是由t状态条件下,转移到t+1
B:观测概率矩阵:这个矩阵表示的是在隐藏状态下,生成相应观测矩阵的概率
:代表第一个隐藏状态节点取每个值的概率。
如上图所示,i代表隐藏节点,o代表观察节点,每个隐藏节点由上一个隐藏节点决定,这个系数被称为隐藏概率转移矩阵,每个观察节点由相应的隐藏节点决定,这个洗漱室相应的观测系数矩阵,而隐藏节点是藏在事物内部不显示出来的节点,观察节点则是我们可以观察到的唯一数据。
HMM有三个主要任务:
1)给定模型参数,计算相应的观测序列会出现的概率
2)模型的参数学习。给定观测序列,估计模型的参数,使得在这个 参数下,观测序列的脚尖概率最大。
3)预测问题,给定模型和观测序列,求最可能出现的对应的状态序列。
针对这三个问题有不同的解法,我会在后续章节中补上这些问题的关键。这里需要注意这么一个问题,HMM是生成模型,即按照相应的数据直接训练出数据的分布。