Ich möchte ein Hidden-Markov-Modell (HMM) mit kontinuierlichen Beobachtungen erstellen, die als Gaußsche Gemische modelliert sind ( Gaußsches Mischungsmodell = GMM).
Ich verstehe den Trainingsprozess so, dass er in Schritten durchgeführt werden sollte.
1) Trainieren Sie zuerst die GMM-Parameter mithilfe der Erwartungsmaximierung (EM).
2) Trainieren Sie die HMM-Parameter mit EM.
Ist dieser Trainingsprozess korrekt oder fehlt mir etwas?
hidden-markov-model
gaussian-mixture
train
notArefill
quelle
quelle
Antworten:
In der Referenz unten sehe ich, dass das Training Folgendes beinhaltet:∗
Initialisieren Sie die HMM- und GMM-Parameter (zufällig oder unter Verwendung vorheriger Annahmen).
Wiederholen Sie dann Folgendes, bis die Konvergenzkriterien erfüllt sind:
Führen Sie einen Vorwärts- und Rückwärtsdurchlauf durch, um die mit den Trainingssequenzen und den Parametern des GMM-HMM verbundenen Wahrscheinlichkeiten zu ermitteln.
Berechnen Sie die HMM- und GMM-Parameter neu - den Mittelwert, die Kovarianzen und die Mischungskoeffizienten jeder Mischungskomponente in jedem Zustand sowie die Übergangswahrscheinlichkeiten zwischen den Zuständen - alle berechnet anhand der in Schritt 1 gefundenen Wahrscheinlichkeiten.
quelle
Dieses Papier [1] ist ein absoluter Klassiker und hat die gesamte HMM-Maschinerie für Gaußsche Mischung für Sie ausgelegt. Ich denke, es ist fair zu sagen, dass Rabiner in den 1980er Jahren den ersten wichtigen Schritt in der Spracherkennung mit GMM gemacht hat.
[1] Rabiner, LR (1989). Ein Tutorial zu versteckten Markov-Modellen und ausgewählten Anwendungen in der Spracherkennung. Proceedings of the IEEE, 77 (2), 257-286.
quelle
pomegranate ist eine weitere Python-Bibliothek, die GMM und HMM noch bessere Dokumente als hmmlearn bietet. Derzeit bereite ich den Transfer von hmmlearn dazu vor. http://pomegranate.readthedocs.io/en/latest/GeneralMixtureModel.html
quelle
Angenommen, Ihr HMM verwendet die Gaußsche Mischung. Für die Parameterschätzung führen Sie einen Vorwärts- und Rückwärtsdurchlauf durch und aktualisieren die Parameter. Der Unterschied besteht darin, dass Sie eine normale PDF-Mischung als Beobachtungswahrscheinlichkeit für einen bestimmten Zustand angeben müssen. Für die Übergangswahrscheinlichkeitsschätzung tun Sie dies wie bei einem diskreten Beobachtungs-HMM. Um jedoch den Mittelwert, die Varianz (oder die Kovarianzmatrix für den multivariaten Fall) und die Mischungsgewichte neu zu schätzen, führen Sie eine neue Formel für die Wahrscheinlichkeit ein, im Zustand zu sein i zum Zeitpunkt t, wobei die m-te Mischungskomponente für die Beobachtung bei t verantwortlich ist, die einfach normalisiertes Alpha * Beta * normalisiertes c * N (o, u, var) Alpha und Beta ist, sind die Vorwärts- und Rückwärtsformeln in Baum-Welch und c = m-tes Mischungsgewicht im Zustand i, o = Beobachtung bei t, u = Mittelwert oder mittlerer Vektor, var = Varianz oder Kovarianzmatrix
quelle