Chaînes de Markov contre HMM

11

Les chaînes de Markov ont du sens pour moi, je peux les utiliser pour modéliser des changements d'état probabilistes dans des problèmes réels. Vient ensuite le HMM. Les HMM seraient mieux adaptés à la modélisation de nombreux problèmes que les MC. Cependant, les problèmes mentionnés sont assez complexes à comprendre, comme le traitement de la parole. Donc ma question est: pouvez-vous décrire un problème "réel et simple" pour lequel HMM est mieux adapté que MC? et expliquer pourquoi? Merci

Mario
la source

Réponses:

19

La reconnaissance vocale n'est pas aussi complexe d'un exemple que vous le pensez.

Tout d'abord, imaginez créer une chaîne de Markov (MC) qui effectue la reconnaissance de texte. Votre programme lit un tas de texte (parfait, sans erreur) et calcule les états (mots) et les changements d'état (mots suivants). On dirait que vous avez compris cela. Vous pouvez maintenant générer du texte, ou donner du texte, prédire le mot suivant en utilisant les états et les probabilités de transition de votre MC.

Imaginez maintenant que vous souhaitez utiliser votre MC avec la parole. Vous aurez simplement des gens qui liront du texte similaire à votre MC et vous êtes prêt, non? Eh bien ... Sauf qu'ils vont prononcer les mots différemment: là où le texte écrit dit "pomme de terre", vous entendrez en fait "po-TAY-toh" et "po-TAH-toh" et "pu-TAY -à ", etc. Et vice-versa: le texte" mangé "et" huit "représentent deux états différents, mais sont (généralement) prononcés de la même manière.

Votre algorithme ne voit plus les états sous-jacents (mots), il voit une distribution probabiliste des prononciations pour chaque mot. Votre MC d'origine est caché derrière les prononciations, et maintenant votre modèle doit être à deux couches.

Ainsi, vous pourriez faire en sorte que de nombreuses personnes lisent à haute voix le texte que vous avez utilisé pour votre formation d'origine, vous pourriez obtenir une distribution des prononciations pour chaque mot, puis combiner votre modèle d'origine avec le modèle de prononciation et vous avez un modèle de Markov caché ( un HMM).

La plupart des problèmes du monde réel seront ainsi, car le monde réel a tendance à être bruyant. Vous ne saurez pas réellement dans quel état se trouve quelque chose. Au lieu de cela, vous obtiendrez une variété d'indicateurs pour chaque état: parfois le même indicateur pour différents états ("mangé" et "huit") et parfois différents indicateurs pour le même état ("pu-TAY-toe" et "pah-tah-TOE"). Par conséquent, les HMM conviennent mieux aux problèmes du monde réel.

[Deux notes latérales: 1) la reconnaissance vocale réelle fonctionne au niveau du phonème, pas au niveau des mots, et 2) je crois que les HMM étaient le roi de la colline pour la reconnaissance vocale, mais ont récemment été détrônés par les réseaux de neurones profonds.]

Wayne
la source
6

Fondamentalement, un HMM est un modèle de Markov dans lequel l'état n'est pas entièrement observable, il n'est plutôt observé qu'indirectement via des observations bruyantes. La partie du modèle de Markov est un moyen simple d'imposer des dépendances temporelles à l'état. De même, les problèmes dans lesquels les HMM sont utiles sont ceux où l'état suit un modèle de Markov, mais vous n'observez pas directement l'état.

Il y a différentes choses que vous pouvez faire avec un HMM. Une chose utile que vous pouvez faire est la suivante - étant donné un ensemble d'observations bruyantes jusqu'à présent, vous voudrez peut-être savoir quel est l'état actuel le plus probable du système. Pour ce faire, vous devez combiner de manière appropriée la structure de la chaîne de Markov avec les observations pour déduire l'état. De même, vous pouvez l' étendre à déduire la séquence complète des états de la séquence d'observations ( ce standard).

En science et en génie, ce modèle est utilisé tout le temps. Par exemple, vous enregistrez peut-être la vidéo d'un simple animal comme c. elegans(un ver), et il n'a qu'un petit nombre d'états de comportement discrets. À partir de la vidéo, vous souhaitez étiqueter chaque image avec l'état comportemental de l'animal. À partir d'une seule image, l'algorithme d'étiquetage présente des erreurs / du bruit. Cependant, il existe également des dépendances temporelles que vous pouvez modéliser avec une chaîne de Markov ... vers certains autres États). Fondamentalement, en combinant vos observations de trame unique bruyantes avec la structure des transitions (par le HMM), vous pouvez obtenir une séquence d'estimations d'état bien lissée et mieux contrainte.

Josh
la source
2

HMM est un modèle de mélange. Tout comme un mélange de modèle gaussien . La raison pour laquelle nous l'utilisons en plus de Markov Chain, c'est qu'il est plus complexe de capturer les modèles de données.

Similaire à si nous utilisons un seul gaussien pour modéliser une variable litigieuse OU nous utilisons un mélange de gaussien pour modéliser une variable continue.

J'utiliserais une variable continue pour faire la démonstration de cette idée: supposons que nous ayons ces données

entrez la description de l'image ici

Il vaut mieux le modéliser avec 2 gaussiennes et avec des proportions différentes. Ce qui est "équivalent" en cas discret: on construit un HMM avec 2 états cachés.

Haitao Du
la source