Antworten:
Der EM-Algorithmus (Erwartungsmaximierung) ist ein allgemeiner Algorithmus zur Optimierung der Wahrscheinlichkeitsfunktion in Fällen, in denen das Modell probabilistisch in Bezug auf eine beobachtete und eine nicht beobachtete (latente) Komponente spezifiziert wird. HMMs (Hidden-Markov-Modelle) sind Modelle dieser Form, da sie eine nicht beobachtete Komponente haben, die Hidden-States und die tatsächlichen Beobachtungen werden in der HMM-Terminologie häufig als Emissionen bezeichnet . Daher bilden HMMs eine Klasse von Modellen, für die der EM-Algorithmus nützlich sein kann.
Im Allgemeinen, wenn das Modell aus zwei Komponenten , von denen wir der Einfachheit halber annehmen, dass sie Werte in einem endlichen Raum annehmen, und wenn die Wahrscheinlichkeitsmodellspezifikation aus den Gelenkpunktwahrscheinlichkeiten , parametrisiert durch , dann ist die Wahrscheinlichkeit, wenn nur wird,
Der EM-Algorithmus ist am sinnvollsten, wenn die beiden obigen Schritte rechnerisch effizient implementiert werden können, z. B. wenn wir geschlossene Formausdrücke für die bedingte Erwartung und die Maximierung haben.
Historisch gesehen wird der allgemeine EM-Algorithmus Dempster, Laird und Rubin zugeschrieben , die in ihrer Arbeit von 1977 unter anderem bewiesen haben, dass der Algorithmus zu einer Folge von Parametern mit monoton ansteigenden Wahrscheinlichkeitswerten führt. Sie prägten auch den Begriff "EM-Algorithmus". Interessanterweise wurde der EM-Algorithmus für HMMs bereits 1970 von Baum et al. und wird in der HMM-Literatur auch oft als Baum-Welch- Algorithmus bezeichnet (ich weiß nicht genau, was Welch getan hat ...).
Die Erwartungsmaximierung ist eine iterative Methode, mit der statistische Inferenzen für eine Vielzahl verschiedener generativer statistischer Modelle durchgeführt werden, z. B. eine Mischung aus Gaußschen und anderen Bayes'schen Netzwerktypmodellen. Die einzige Verbindung besteht darin, dass HMMs auch Bayes'sche Netzwerke sind. Aber man würde EM wahrscheinlich nicht auf HMMs verwenden, da es einen genauen Inferenzalgorithmus innerhalb von HMMs gibt, der als Viterbi-Algorithmus bezeichnet wird. Obwohl man EM verwenden könnte, um Inferenzen auf einem HMM durchzuführen, würden Sie dies nicht tun, weil es keinen Grund dafür gibt.
In HMM versuchen wir hauptsächlich drei Parameter zu schätzen:
Die Anfangszustandswahrscheinlichkeiten. Dies ist ein Vektor mit Elementen, wobei die Anzahl der Zustände ist.K.
Die Übergangsmatrix. Dies ist eine quadratische Matrix der Größe .
Die bedingten Wahrscheinlichkeiten der Beobachtung eines Gegenstandes, bedingt durch einen bestimmten Zustand. Dies ist auch eine Matrix der Größe , wobei die Anzahl der Beobachtungen ist.N.
Jetzt kommt der EM-Teil, wenn Sie versuchen, die oben angegebenen Mengen / Parameter zu schätzen. Ausgehend von einer zufälligen Vermutung wird die Wahrscheinlichkeit der Beobachtungen bewertet und die Parameter iterativ angepasst, bis die maximale Wahrscheinlichkeit erreicht ist. Durch HMM modellieren wir also einen Prozess und dafür müssen wir einige Parameter einführen. Um die Parameter abzuschätzen, wird EM gerendert.
Dies ist eine sehr kurze Antwort. Die Implementierung von EM erfordert eine Reihe anderer Unterprobleme, die mithilfe einer Reihe von Techniken gelöst werden müssen. Für ein gründliches Verständnis wird das klassische Tutorial-Papier von Rabiner dringend empfohlen.