Découvrez les modèles de Markov cachés (HMM), leurs principes, leurs applications dans la reconnaissance vocale, la bio-informatique et l'IA, et comment ils déduisent les états cachés.
Un modèle de Markov caché (HMM) est un modèle statistique d'intelligence artificielle utilisé pour décrire les probabilités. modèle statistique d'IA utilisé pour décrire des systèmes probabilistes dont les états internes ne sont pas directement observables (cachés) mais peuvent être déduits d'une séquence d'événements observables. événements observables. Les HMM sont particulièrement efficaces pour l'analyse de séries temporelles et de données séquentielles, sur l'hypothèse de Markov : la probabilité d'un état futur ne dépend que de l'état actuel, et non des événements qui l'ont précédé. événements qui l'ont précédé. Ce cadre a fait des HMM un outil fondamental dans des domaines tels que le traitement du langage naturel (NLP) la bio-informatique et le traitement de la parole.
Un HMM modélise un processus comme un système qui passe d'un état caché à un autre au fil du temps, en émettant des sorties observables à chaque étape. observables à chaque étape. Le modèle est défini par trois ensembles primaires de probabilités :
Deux algorithmes clés sont essentiels à l'utilisation des HMM. L'algorithme de L'algorithme de Viterbi est utilisé pour le décodage, en déterminant la séquence d'états cachés la plus probable qui a produit une séquence donnée d'observations. séquence la plus probable d'états cachés ayant produit une séquence donnée d'observations. Pour l'apprentissage des paramètres du modèle à partir de données d'apprentissage, l'algorithme algorithme de Baum-Welch, un type de méthode d'espérance-maximisation (EM). l'algorithme de Baum-Welch, un type de méthode de maximisation de l'espérance (EM), est couramment utilisé.
Alors que les Apprentissage profond (Deep Learning - DL) des cadres tels que
PyTorch souvent des tâches séquentielles aujourd'hui, la compréhension des
HMM fournit un aperçu critique de la modélisation probabiliste. L'exemple Python suivant utilise l'outil
hmmlearn pour faire la démonstration d'une prédiction d'état simple :
# 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}")
Les HMM ont joué un rôle déterminant dans le développement des premiers systèmes d'intelligence artificielle et continuent d'être utilisés lorsque l'interprétabilité et le raisonnement probabiliste sont nécessaires. raisonnement probabiliste sont nécessaires.
Les HMM sont souvent comparés à d'autres techniques de modélisation des séquences, bien qu'ils diffèrent considérablement en termes de structure et de capacité. capacité :
Les modèles modernes de vision par ordinateur, tels que Ultralytics YOLO11, utilisent des réseaux neuronaux convolutionnels (CNN) avancés et des transformateurs plutôt que des HMM pour des tâches telles que la détection d'objets et détection d'objets et la segmentation d'instances. Cependant, les HMM restent un concept concept précieux pour comprendre les fondements statistiques de l'apprentissage l 'apprentissage automatique (ML).