生动比喻:天气与你的行为
想象一个住在你房间里的朋友,他只能通过看你每天带什么东西出门(观测)来猜测外面的天气(隐藏状态)。

- 隐藏状态:每天的天气。
晴天、雨天、阴天,这些状态对你的朋友来说是看不见的。 - 观测状态:你每天带出门的东西。
太阳镜、雨伞、夹克,这些是你的朋友能直接看到的。 - 核心假设:
- 马尔可夫性:今天的天气(隐藏状态)只依赖于昨天的天气,与更早的天气无关。
- 观测独立性:你今天带什么东西(观测状态)只依赖于今天的天气,与昨天的天气或昨天的行为无关。
HMM 的五大核心要素
一个标准的 HMM 由以下五个部分定义,通常用 λ = (A, B, π) 来表示:
- 状态集合
Q:所有可能的隐藏状态。{晴天, 雨天, 阴天}。 - 观测集合
V:所有可能的观测值。{太阳镜, 雨伞, 夹克}。 - 状态转移概率矩阵
A:描述了隐藏状态之间转换的概率。a_{ij} = P(明天状态是 j | 今天状态是 i)P(明天雨天 | 今天晴天) = 0.1, 意味着如果今天是晴天,明天有10%的概率下雨。
- 观测概率矩阵
B:描述了在某个隐藏状态下,产生某个观测值的概率。b_j(k) = P(观测到 k | 当前状态是 j)P(带太阳镜 | 晴天) = 0.8, 意味着如果是晴天,你有80%的概率会带太阳镜。
- 初始状态概率分布
π:描述了第一天各种天气出现的初始概率。π_i = P(第一天状态是 i)P(第一天晴天) = 0.6。
HMM 解决的三大经典问题
这是理解 HMM 价值的关键,给定模型 λ = (A, B, π) 和一系列观测序列 O = (o1, o2, ..., oT)([太阳镜, 夹克, 太阳镜, 雨伞]),我们可以解决以下问题:
-
评估问题 (Evaluation Problem)
-
解码问题 (Decoding Problem)
- 问题:给定模型
λ和观测序列O,找出最有可能产生这个观测序列的隐藏状态序列I = (i1, i2, ..., iT)。 - 意义:这就是你朋友在干的事情!根据你带
[太阳镜, 夹克, 太阳镜, 雨伞],推测最可能的天气序列是[晴天, 阴天, 晴天, 雨天]。 - 算法:维特比算法,一种动态规划算法,用于寻找全局最优路径(概率最大的状态序列)。
- 问题:给定模型
-
学习问题 (learning Problem)
应用实例
- 语音识别:
- 隐藏状态 -> 音素(如 /k/, /æ/, /t/)。
- 观测状态 -> 从音频信号中提取的声学特征。
- 解码 -> 根据声音特征序列,找出最可能的音素序列,进而组成单词。
- 词性标注:
- 隐藏状态 -> 词性标签(名词、动词、形容词等)。
- 观测状态 -> 单词本身。
- 解码 -> 给一个句子(单词序列),标注出每个单词最可能的词性。
- 生物序列分析:
总结与局限
HMM 的核心思想是用一个双重随机过程来描述系统:一层是看不见的、遵循马尔可夫链的状态转移;另一层是和每个隐藏状态相关的、能产生可见观测的随机过程。
局限性:
- 观测独立性假设较强,现实中当前的观测可能依赖于之前的观测。
- 本质上是生成模型,对长程依赖建模能力较弱。
- 由于这些限制,在许多更复杂的序列建模任务中,HMM 已被循环神经网络、长短期记忆网络和Transformer等模型所补充或替代,但它所提供的基本概率框架和三大问题解决方案,仍然是理解序列模型的重要基石。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。