Formation d'un modèle de Markov caché, plusieurs instances de formation

18

J'ai implémenté un HMM discret selon ce tutoriel http://cs229.stanford.edu/section/cs229-hmm.pdf

Ce tutoriel et d'autres parlent toujours de la formation d'un HMM à partir d'une séquence d'observation.

Que se passe-t-il lorsque j'ai plusieurs séquences d'entraînement? Dois-je simplement les exécuter séquentiellement, en entraînant le modèle après l'autre?

Une autre option consiste à concaténer les séquences en une seule et à m'entraîner dessus, mais alors j'aurai des transitions d'état de la fin d'une séquence au début de la suivante qui ne sont pas réelles.

Ran
la source
Voir cet article pdfs.semanticscholar.org/4000/… Même s'ils étendent les idées à un scénario d'observations non indépendant, il m'a été très utile de comprendre le cas simple où l'indépendance est supposée
Marc Torrellas
la hmmlearnmise en œuvre de HMM a déjà pris en charge la formation HMM avec plusieurs séquences. Il suffit de voir la formation HMM avec plusieurs séquences
Wenmin Wu

Réponses:

16

Ni concaténer ni exécuter chaque itération d'entraînement avec une séquence différente n'est pas la bonne chose à faire. L'approche correcte nécessite quelques explications:

On forme généralement un HMM en utilisant un algorithme EM. Cela consiste en plusieurs itérations. Chaque itération a une étape «estimation» et une étape «maximiser». Dans l'étape "maximiser", vous alignez chaque vecteur d'observation x avec un état s dans votre modèle afin que certaines mesures de vraisemblance soient maximisées. Dans l'étape "estimation", pour chaque état s, vous estimez (a) les paramètres d'un modèle statistique pour les vecteurs x alignés sur s et (b) les probabilités de transition d'état. Dans l'itération suivante, l'étape de maximisation s'exécute à nouveau avec les modèles statistiques mis à jour, etc. Le processus est répété un nombre défini de fois ou lorsque la mesure de vraisemblance cesse d'augmenter de manière significative (c'est-à-dire que le modèle converge vers une solution stable). Enfin, (au moins dans la reconnaissance vocale), un HMM aura généralement un "début" désigné

Donc, si vous avez plusieurs séquences d'apprentissage, lors de l'étape d'estimation, vous devez exécuter chaque séquence afin que son vecteur d'observation initial s'aligne sur l'état initial. De cette façon, les statistiques sur cet état initial sont collectées à partir des premières observations sur toutes vos séquences d'observation, et en général les vecteurs d'observation sont alignés sur les états les plus probables tout au long de chaque séquence. Vous ne feriez que l'étape de maximisation (et les itérations futures) après que toutes les séquences ont été fournies pour la formation. À la prochaine itération, vous feriez exactement la même chose.

En alignant le début de chaque séquence d'observation sur l'état initial, vous évitez le problème de concaténation des séquences où vous modéliseriez incorrectement les transitions entre la fin d'une séquence et le début de la suivante. Et en utilisant toutes les séquences à chaque itération, vous évitez de fournir des séquences différentes à chaque itération, ce qui, comme l'a noté le répondant, ne garantira pas la convergence.

JeffM
la source
Cette méthode nécessite-t-elle que chaque séquence d'entraînement ait la même durée?
Nate
2
Non, non. On conçoit généralement un HMM de manière à autoriser les auto-boucles (même état utilisé plusieurs fois consécutivement) et à permettre à plusieurs états de passer. Ces fonctionnalités permettent à un HMM de marquer des séquences de différentes longueurs.
JeffM
4

Lawrence Rabiner décrit une approche mathématique bien fondée dans ce tutoriel de l'IEEE 77 . Le tutoriel est également le 6ème chapitre du livre Fundamentals of Speech Recognition de Rabiner et Juang.

RIA Davis et. Al. fournit quelques suggestions supplémentaires dans ce document .

Je n'ai pas approfondi les mathématiques, mais pour moi, l'approche de Rabiner semble la plus prometteuse, tandis que l'approche de Davis semble manquer de fondement mathématique.

Bittenus
la source
2

Si vous suivez les mathématiques, l'ajout d'exemples de formation supplémentaires implique de recalculer la façon dont vous calculez la probabilité. Au lieu de résumer les dimensions, vous additionnez également les exemples de formation.

Si vous entraînez un modèle après l'autre, rien ne garantit que l'EM sera couvert pour chaque exemple de formation, et vous vous retrouverez avec de mauvaises estimations.

Voici un article qui fait cela pour le filtre de Kalman (qui est un HMM avec des probabilités gaussiennes), il peut vous donner un aperçu de la façon de modifier votre code afin que vous puissiez prendre en charge plus d'exemples.

http://ntp-0.cs.ucl.ac.uk/staff/S.Prince/4C75/WellingKalmanFilter.pdf

Il a également une conférence sur HMM, mais la logique est assez simple.

Leon palafox
la source
1
Je n'ai pas vraiment vu de quoi vous parlez. Pouvez-vous me diriger dans la bonne direction? Merci.
Ran
0

Il s'agit plus d'un commentaire sur l'article de RIA Davis référencé par Bittenus (ci-dessus) . Je devrai être d'accord avec Bittenus, il n'y a pas beaucoup de soutien mathématique derrière les techniques proposées dans l'article - c'est plus une comparaison empirique.

Le papier considère seulement le cas où le HMM est d'une topologie restreinte (feed-forward). (dans mon cas, j'ai une topologie standard, et j'ai trouvé les résultats les plus cohérents en mettant en œuvre une moyenne non pondérée de tous les modèles formés avec Baum-Welch. Cette approche est mentionnée dans l'article mais uniquement citée avec des résultats marginaux).

Un autre type de formation sur la moyenne des modèles a été détaillé par RIA Davis dans un article de journal et utilise Vitterbi Training au lieu de Baum-Welch Comparing and Evaluating HMM Ensemble Training Algorithms Using Train and Test and Condition Number Criteria . Cependant, cet article explore uniquement les HMM avec la même topologie à action directe restreinte. (Je prévois d'explorer cette méthode et mettrai à jour ce post avec mes résultats.)

kgierach
la source