探索隐马尔可夫模型 (HMM)、其原理、在语音识别、生物信息学和人工智能中的应用,以及它们如何推断隐藏状态。
隐马尔可夫模型(HMM)是一种 统计人工智能模型,用于描述概率系统。 系统,其内部状态不可直接观测(隐藏),但可通过一系列可观测事件推断出来。 隐马尔可夫模型HMM 对于 时间序列分析和序列数据、 它依赖于马尔可夫假设:未来状态的概率只取决于当前状态,而不是之前的事件。 前的事件。这一框架使 HMM 成为以下领域的基础工具 自然语言处理(NLP) 生物信息学和语音处理等领域的基础工具。
HMM 将一个过程建模为一个随时间在隐藏状态之间转换的系统,每一步都有可观测的输出。 每一步的可观测输出。该模型由三组主要概率定义:
有两种关键算法是使用 HMM 的核心。维特比算法 维特比算法用于解码,确定 维特比算法用于解码,确定产生给定观测序列的最可能的隐藏状态序列。从训练数据中学习模型 从训练数据中学习模型参数 鲍姆-韦尔奇算法是一种 通常采用期望最大化(EM)算法。
虽然现代 深度学习 (DL) 框架,如
PyTorch 如今,HMMs 经常处理序列任务,因此了解 HMMs
HMM 为概率建模提供了重要的启示。下面的Python 示例使用
hmmlearn 库来演示一个简单的状态预测:
# pip install hmmlearn
import numpy as np
from hmmlearn import hmm
# Define an HMM with 2 hidden states (e.g., Sunny, Rainy) and 2 observables
model = hmm.CategoricalHMM(n_components=2, random_state=42)
model.startprob_ = np.array([0.6, 0.4]) # Initial state probabilities
model.transmat_ = np.array([[0.7, 0.3], [0.4, 0.6]]) # Transition matrix
model.emissionprob_ = np.array([[0.9, 0.1], [0.2, 0.8]]) # Emission matrix
# Predict the most likely hidden states for a sequence of observations
logprob, predicted_states = model.decode(np.array([[0, 1, 0]]).T)
print(f"Predicted sequence of hidden states: {predicted_states}")
HMM 在早期人工智能系统的开发中发挥了重要作用,并在需要可解释性和概率推理的领域继续得到应用。 概率推理。
尽管 HMM 与其他序列建模技术在结构和能力上有很大不同,但它们经常被拿来与其他序列建模技术进行比较。 能力上有很大差异:
现代计算机视觉模型,如 Ultralytics YOLO11, 利用先进的卷积神经网络(CNN)和变换器而不是 HMM 来完成以下任务 对象检测和 实例分割等任务。然而,HMM 仍然是一个 是理解机器学习(ML)统计基础的重要概念。 机器学习 (ML)。

