术语表

隐马尔可夫模型(HMM)

了解隐马尔可夫模型(HMM)、其原理、在语音识别、生物信息学和人工智能中的应用,以及它们如何推断隐藏状态。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

隐马尔可夫模型(HMM)是一种统计模型,用于描述随时间在不同状态间转换的系统。在 HMM 中,系统所经历的状态序列是无法直接观测到的(它是 "隐藏 "的),但可以从每个状态产生的可观测输出或排放序列中推断出来。在人工智能(AI)机器学习(ML)的各个领域中,HMM 对于序列数据建模和时间序列分析尤为强大。它们属于一类被称为概率图模型的模型,为处理动态系统中的不确定性提供了一个框架。

核心理念

HMM 由两个主要的随机(随机)过程定义:

  1. 隐藏状态:潜在的、不可观测的马尔可夫状态链。系统根据特定的概率在这些隐藏状态之间转换。核心假设是马尔可夫特性:过渡到下一个状态的概率只取决于当前状态,而不取决于之前的状态序列。
  2. 可观测输出:每个隐藏状态都会根据一定的概率分布产生可观测的输出或排放。这些发射就是我们实际观察到的数据。

该模型的特点是

  • 状态:有限的隐藏状态集。
  • 观测:有限的一组可能的排放或观测。
  • 转换概率:从一个隐藏状态转移到另一个隐藏状态的概率。
  • 发射概率:系统处于特定隐藏状态时观测到特定发射的概率。
  • 初始状态分布:系统从每个隐藏状态开始的概率。

隐马尔可夫模型的工作原理

使用 HMM 通常需要解决三个基本问题,通常使用拉宾纳等人的教程中详细介绍的特定算法来解决:

  1. 评估问题:给定一个 HMM 和一串观测值,观测值由模型生成的概率是多少?(使用前向算法求解)。
  2. 解码问题:给定一个 HMM 和一系列观测值,产生这些观测值的最可能的隐藏状态序列是什么?(使用维特比算法求解)。
  3. 学习问题:给定一个观测序列(或多个序列),如何调整 HMM 参数(转换和发射概率)才能最好地反映观测数据?(通常使用鲍姆-韦尔奇算法(期望最大化算法的一个实例)来解决)。这对模型训练至关重要。

实际应用

HMM 已成功应用于多个领域:

  • 语音识别这是一项经典应用。隐藏状态可代表音素(声音的基本单位),而观测值则是从语音信号中提取的声学特征。HMM 根据音频解码出最可能的音素序列,为识别单词奠定基础。像CMU Sphinx这样的工具历来在很大程度上依赖于 HMM。
  • 生物信息学:HMMs 广泛用于序列分析。例如,在基因查找中,隐藏状态可能代表编码区、非编码区或特定基因结构(如起始密码子、外显子、内含子)。观测值是 DNA 碱基对(A、C、G、T)。该模型有助于确定长 DNA 序列中的基因位置。HMMER等软件使用轮廓 HMM 进行蛋白质序列分析,将序列与NCBI 基因数据库等数据库进行比较。
  • 自然语言处理(NLP)用于语音部分标记等任务,其中隐藏状态是语法标记(名词、动词、形容词),观测值是句子中的单词。也可用于命名实体识别(NER)
  • 计算机视觉(CV)应用于手势识别、视频中的活动识别,有时也用于物体追踪,但往往被卡尔曼滤波器或深度学习方法所取代。
  • 金融:根据可观察到的金融指标,将市场制度(如牛市与熊市)建模为隐藏状态。
  • 医学图像分析分析医疗图像或信号随时间变化的序列。

与相关概念的比较

必须将 HMM 与其他序列模型区分开来:

虽然较新的深度学习方法通常能获得最先进的结果,但 HMM 因其可解释性(明确的状态和概率)和有效性而仍然很有价值,尤其是在训练数据有限或可以将领域知识纳入模型结构的情况下。即使在使用Ultralytics HUB等平台(这些平台主要用于促进开发和部署DL 模型,例如 YOLOv8YOLO11.

阅读全部