0. 引言
前情提要:
《NLP深入学习(一):jieba 工具包介绍》
《NLP深入学习(二):nltk 工具包介绍》
《NLP深入学习(三):TF-IDF 详解以及文本分类/聚类用法》
《NLP深入学习(四):贝叶斯算法详解及分类/拼写检查用法》
1. 什么是 HMM
隐马尔可夫模型(Hidden Markov Model, HMM)是一种统计学习方法,用于描述含有隐藏状态的随机过程。在 HMM 中,系统的当前状态无法直接观测,但可以通过该状态下生成的可观测序列来推断。它由两部分构成:一个不可见的马尔可夫链(即隐藏状态),和每个隐藏状态生成观测值的概率分布。
基本结构与概念:
-
S S S 隐藏状态(Hidden States): 系统可能处于的一系列状态,通常用 S = S 1 , S 2 , . . . , S N S = S^{1}, S_{2}, ..., S_N S=S1,S2,...,SN 表示,其中 N 为状态的数量。这些状态是不直接可观测的。
-
O O O 观测序列(Observations): 每个隐藏状态生成一个观测值,观测值构成的时间序列是可见的。例如,在拼写检查器中,观测序列可能是字符序列,而在语音识别中,观测序列可能是声学特征序列。
-
π \pi π 初始概率分布(Initial Probability Distribution): 定义了系统开始时处于各个状态的概率,记作 π = ( π 1 , π 2 , . . . , π N ) \pi = ( \pi_{1}, \pi_{2}, ..., \pi_{N} ) π=(π1,π2,...,πN),满足 ∑ i = 1 N π i = 1 \sum_{i=1}^{N}\pi_i = 1 ∑i=1Nπi=1。
-
A A A 状态转移概率矩阵(Transition Probability Matrix): 表示从一个状态转移到另一个状态的概率,记作 A = [ a i j ] A = [a_{ij}] A=[aij],其中 a i j a_{ij} aij 是从状态 S i S_i Si转移到状态 S j S_j Sj的概率。满足对于所有 i i i, ∑ j = 1 N a i j = 1 \sum_{j=1}^{N}a_{ij} = 1 ∑j=1Naij=1。
-
B B B 发射概率(Emission Probability): 表示在某个隐藏状态下生成特定观测值的概率,通常定义为条件概率分布 b i ( o k ) b_i(o_k) b