Descubra los modelos ocultos de Markov (HMM), sus principios, aplicaciones en el reconocimiento de voz, la bioinformática y la IA, y cómo infieren estados ocultos.
Un modelo oculto de Markov (HMM) es un modelo estadístico de IA utilizado para describir probabilísticos en los que los estados internos no son directamente observables (ocultos), sino que pueden deducirse a través de una secuencia de eventos observables. eventos observables. Los HMM son especialmente eficaces para análisis de series temporales y datos secuenciales, se basan en el supuesto de Markov: la probabilidad de un estado futuro depende sólo del estado actual, no de los acontecimientos que lo precedieron. eventos que lo precedieron. Este marco ha hecho de los HMM una herramienta fundamental en campos como procesamiento del lenguaje natural (PLN) la bioinformática y el procesamiento del habla.
Un HMM modela un proceso como un sistema que realiza transiciones entre estados ocultos a lo largo del tiempo, emitiendo salidas observables en cada paso. observables en cada paso. El modelo se define mediante tres conjuntos principales de probabilidades:
Dos algoritmos clave son fundamentales para utilizar los HMM. El algoritmo El algoritmo de Viterbi se utiliza para la descodificación, determinando la secuencia más probable de estados ocultos que produjeron una secuencia dada de observaciones. secuencia más probable de estados ocultos que produjo una secuencia dada de observaciones. Para aprender los parámetros modelo a partir de los datos de Baum-Welch, un tipo de método de de maximización de expectativas (EM).
Mientras que los modernos Aprendizaje Profundo (DL) marcos como
PyTorch hoy en día, la comprensión de los
HMM proporciona una visión crítica del modelado probabilístico. El siguiente ejemplo Python utiliza el
hmmlearn para demostrar una sencilla predicción de estado:
# 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}")
Los HMM han desempeñado un papel decisivo en el desarrollo de los primeros sistemas de IA y siguen utilizándose cuando se requiere interpretabilidad y razonamiento probabilístico. razonamiento probabilístico.
Los HMM se comparan a menudo con otras técnicas de modelado de secuencias, aunque difieren significativamente en estructura y capacidad:
Modelos modernos de visión por ordenador, como Ultralytics YOLO11, utilizan redes neuronales convolucionales (CNN) avanzadas y transformadores en lugar de HMM para tareas como la detección de objetos y segmentación de instancias. Sin embargo, los HMM siguen siendo un concepto valioso para comprender los fundamentos estadísticos del aprendizaje automático (AM).