HMM(隐马尔可夫模型)学习笔记

概述与直观理解 隐马尔可夫模型(Hidden Markov Model, HMM)是一类用于在“状态不可观测”的情况下,对系统演化过程进行建模和推断的概率模型。它解决的核心问题可以概括为一句话: 当真实世界的状态无法被直接观察时,我们是否仍然能够,仅凭观测到的现象,推断出系统最可能的内部状态变化过程? 为了理解这一点,可以从一个经典且直观的思想实验入手。 假设你被关在一个完全封闭的房间中,永远无法看到外界的天气状况。外面每天的真实天气只可能是三种之一:晴天、阴天或下雨。然而,你每天能够获得的唯一信息,是有人递给你一张纸条,上面记录着某个人当天吃了多少个冰淇淋。 你的目标并不是关心冰淇淋本身,而是希望根据这串“冰淇淋数量”的记录,推断外界每天最可能的天气情况,甚至进一步推断天气是如何随时间变化的。 这正是 HMM 所刻画的典型问题结构。 在这个故事中,天气是真实存在但无法直接观测的,而冰淇淋数量是你唯一能够看到的外显现象。HMM 的建模思想,正是通过对这两层信息之间的统计关系进行刻画,来完成"由现象反推本质"的推断过程。 HMM 的三要素结构 一个标准的 HMM 由三类核心要素构成:隐藏状态、观测值以及它们之间的概率规则。 1. 隐藏状态(Hidden States) 隐藏状态描述的是系统在每一个时间点所处的真实内部状态,但这些状态本身是不可被直接观察到的。 在天气—冰淇淋的例子中,隐藏状态集合可以理解为: 晴天、阴天、下雨 这些状态具有两个重要特征: 第一,它们在现实中确实存在,并且随时间发生变化; 第二,它们不会被直接“暴露”给观察者,而只能通过外在行为或现象间接体现出来。 HMM 的建模目标,正是对这条“看不见的状态序列”进行推断。 2. 观测值(Observations) 与隐藏状态相对的是观测值,即在每一个时间点,观察者能够直接获得的数据。 在本例中,观测值就是每天吃掉的冰淇淋数量,例如: 0 个、1 个、2 个 观测值本身并不是我们最终关心的对象,但它们与隐藏状态之间存在统计关联。正是这种关联,使得“从观测推断状态”成为可能。 3. 概率规则:状态如何演化,现象如何产生 HMM 并不试图通过确定性规则去描述世界,而是通过概率来刻画不确定性。这套概率规则只包含两类。 第一类是状态转移概率,用于描述隐藏状态随时间的演化方式。例如: 如果今天是晴天,那么明天仍然是晴天的概率有多大?变成下雨的概率又有多大? 这一假设反映了一个重要事实:现实世界的状态变化通常具有连续性和惯性,而不是完全随机地跳变。这正是“马尔可夫性”的核心含义——未来只依赖于当前状态,而与更久远的历史无关。 第二类是发射概率(观测概率),用于描述在某个隐藏状态下,观察到特定观测值的可能性。例如: 在晴天,人更有可能吃更多冰淇淋;而在下雨天,吃冰淇淋的概率则显著降低。 隐藏状态并不会直接告诉你"我是谁",它们只会通过观测值"间接露出痕迹"。HMM 正是通过这套概率桥梁,将不可见的状态与可见的现象连接起来。 HMM 要解决的三类核心问题 在明确了 HMM 的基本结构之后(隐藏状态、观测变量、转移概率、发射概率等),接下来的核心问题并不是“模型长什么样”,而是: 在这个模型之上,我们究竟能做哪些推断? 几乎所有关于 HMM 的实际应用——无论是语音识别、序列标注,还是时间序列建模——最终都可以归结为三类本质不同、但彼此紧密相关的问题。HMM 的整个算法体系,正是围绕这三类问题建立起来的。 第一类问题:给定模型,观测序列出现的概率是多少? 第一类问题可以表述为: 在模型参数完全已知的前提下,一段观测序列出现的概率有多大? 用数学语言来说,就是在已知模型参数 \[ \lambda = (\pi, A, B) \] 的情况下,计算某一观测序列...

十二月 24, 2025 · 3 分钟