Was ist der EM-Algorithmus beim maschinellen Lernen? [Erklärt mit Beispielen]

Veröffentlicht: 2021-03-10

Der EM-Algorithmus oder Expectation-Maximization-Algorithmus ist ein latentes Variablenmodell, das 1977 von Arthur Dempster, Nan Laird und Donald Rubin vorgeschlagen wurde.

Ein latentes Variablenmodell umfasst beobachtbare Variablen und nicht beobachtbare Variablen. Beobachtete Variablen sind diejenigen, die gemessen werden können, während unbeobachtete (latente/verborgene) Variablen aus beobachteten Variablen abgeleitet werden.

Wie vom Trio erklärt, kann der EM-Algorithmus verwendet werden, um die lokalen Maximum-Likelihood-Parameter (MLE) oder Maximum-a-posteriori-Parameter (MAP) für latente Variablen (nicht beobachtbare Variablen, die aus beobachtbaren Variablen abgeleitet werden müssen) in einem statistischen Modell zu bestimmen. Es wird verwendet, um diese Werte vorherzusagen oder fehlende oder unvollständige Daten zu bestimmen, vorausgesetzt, Sie kennen die allgemeine Form der Wahrscheinlichkeitsverteilung, die mit diesen latenten Variablen verbunden ist.

Einfach ausgedrückt besteht das allgemeine Prinzip hinter dem EM-Algorithmus beim maschinellen Lernen darin, beobachtbare Instanzen latenter Variablen zu verwenden, um Werte in Instanzen vorherzusagen, die für das Lernen nicht beobachtbar sind. Dies wird so lange durchgeführt, bis eine Konvergenz der Werte eintritt.

Der Algorithmus ist ein ziemlich mächtiges Werkzeug im maschinellen Lernen und ist eine Kombination aus vielen unüberwachten Algorithmen. Dies umfasst neben anderen EM-Algorithmusvarianten den k-Means-Clustering-Algorithmus.

Nehmen Sie online am Machine Learning-Kurs der weltbesten Universitäten teil – Master, Executive Post Graduate Programs und Advanced Certificate Program in ML & AI, um Ihre Karriere zu beschleunigen.

Inhaltsverzeichnis

Der Erwartungsmaximierungsalgorithmus

Lassen Sie uns den Mechanismus des Erwartungsmaximierungsalgorithmus im maschinellen Lernen untersuchen:

Quelle

  • Schritt 1: Wir haben einen Satz fehlender oder unvollständiger Daten und einen weiteren Satz Ausgangsparameter. Wir gehen davon aus, dass beobachtete Daten oder die Anfangswerte der Parameter aus einem bestimmten Modell generiert werden.
  • Schritt 2: Basierend auf dem beobachtbaren Wert in den beobachtbaren Instanzen der verfügbaren Daten werden wir die Werte in den nicht beobachtbaren Instanzen der Daten oder den fehlenden Daten vorhersagen oder schätzen. Dies wird als Erwartungsschritt (E – Schritt) bezeichnet.
  • Schritt 3: Anhand der aus Schritt E generierten Daten aktualisieren wir die Parameter und vervollständigen den Datensatz. Dies ist als Maximierungsschritt (M – Schritt) bekannt, der verwendet wird, um die Hypothese zu aktualisieren.

Die Schritte 2 und 3 werden bis zur Konvergenz wiederholt. Das heißt, wenn die Werte nicht konvergieren, wiederholen wir den E-Schritt und den M-Schritt.

.

Quelle

Vor- und Nachteile des EM-Algorithmus

Nachteile des EM-Algorithmus
1 Jede Iteration im EM-Algorithmus führt zu einer garantierten Erhöhung der Wahrscheinlichkeit.
2 Der Erwartungsschritt und der Maximierungsschritt sind ziemlich einfach und die Lösung für den letzteren existiert meistens in geschlossener Form.
Vorteile des EM-Algorithmus
1 Der Erwartungsmaximierungsalgorithmus berücksichtigt sowohl Vorwärts- als auch Rückwärtswahrscheinlichkeiten. Dies steht im Gegensatz zur numerischen Optimierung, die nur die Vorwärtswahrscheinlichkeiten berücksichtigt.
2 Die Konvergenz des EM-Algorithmus ist sehr langsam und wird nur bis zu den lokalen Optima durchgeführt.

Anwendungen des EM-Algorithmus

Das latente Variablenmodell hat viele reale Anwendungen im maschinellen Lernen.

  1. Es wird beim unüberwachten Daten-Clustering und bei der psychometrischen Analyse verwendet.
  2. Es wird auch verwendet, um die Gaußsche Dichte einer Funktion zu berechnen.
  3. Der EM-Algorithmus findet umfangreiche Anwendung bei der Vorhersage der Parameter des Hidden-Markov-Modells (HMM) und anderer gemischter Modelle.
  4. Der EM-Algorithmus findet viel Anwendung in der Verarbeitung natürlicher Sprache (NLP), Computer Vision und quantitativer Genetik.
  5. Weitere wichtige Anwendungen des EM-Algorithmus sind die Bildrekonstruktion im Bereich Medizin und Bautechnik.

Lassen Sie uns den EM-Algorithmus unter Verwendung eines Gaußschen Mischungsmodells verstehen.

EM-Algorithmus für das Gaußsche Mischungsmodell

Um die Parameter eines Gaußschen Mischungsmodells abzuschätzen, benötigen wir einige beobachtete Variablen, die von zwei getrennten Prozessen erzeugt werden, deren Wahrscheinlichkeitsverteilungen bekannt sind. Die Datenpunkte der beiden Prozesse werden jedoch kombiniert und wir wissen nicht, zu welcher Verteilung sie gehören.

Wir zielen darauf ab, die Parameter dieser Verteilungen unter Verwendung der Maximum-Likelihood-Schätzung des EM-Algorithmus, wie oben erläutert, zu schätzen.

Hier ist der Code , den wir verwenden werden:

# Gegeben ist eine Funktion, für die wir die Dichte von berechnen müssen

# Gaussian am Punkt x_i gegeben mu, sigma: G(x_i, mu, sigma); und

# weitere Funktion zur Berechnung der Log-Likelihoods: L(x, mu, sigma, pi)

def schätzen_gmm(x, K, tol=0.001, max_iter=100):

”' GMM-Parameter schätzen.

:param x: Liste der beobachteten reellwertigen Variablen

:param K: Ganzzahl für die Anzahl der Gaußschen

:param tol: tolerierte Änderung für Log-Wahrscheinlichkeit

:return: Mu-, Sigma-, Pi-Parameter

”'

# 0. Theta initialisieren = (mu, sigma, pi)

N = len(x)

mu, sigma = [rand()] * K, [rand()] * K

pi = [rand()] * K

curr_L = np.inf

für j im Bereich (max_iter):

prev_L = aktuelle_L

# 1. E-Schritt: Verantwortung = p(z_i = k | x_i, theta^(t-1))

r = {}

für i im Bereich (N):

parts = [pi[k] * G(x_i, mu[k], sigma[k]) für i in range(K)]

total = summe(Teile)

für i in k:

r[(i, k)] = Teile[k] / Gesamt

# 2. M-Schritt: Mu-, Sigma-, Pi-Werte aktualisieren

rk = [sum([r[(i, k)] für i im Bereich (N)]) für k im Bereich (K)]

für k im Bereich (K):

pi[k] = rk[k] / N

mu[k] = sum(r[(i, k)] * x[i] für i in range(N)) / rk[k]

sigma[k] = sum(r[(i, k)] * (x[i] – mu[k]) ** 2) / rk[k]

# 3. Ausgangsbedingung prüfen

akt_L = L(x, mu, sigma, pi)

if abs(prev_L – curr_L) < tol:

brechen

gib mu, sigma, pi zurück

Im E-Step können wir das Bayes-Theorem verwenden, um die erwarteten Werte der gegebenen Datenpunkte zu bestimmen, die aus den vergangenen Iterationen des Algorithmus gezogen wurden. Im M-Step gehen wir davon aus, dass die Werte der latenten Variablen fixiert sind, um die Proxys in den unbeobachteten Instanzen unter Verwendung der Maximum Likelihood zu schätzen. Schließlich verwenden wir die Formeln für den Standardmittelwert und die Standardabweichung, um die Parameter des Gaußschen Mischungsmodells zu schätzen.

Fazit

Damit sind wir am Ende des Artikels angelangt. Für weitere Informationen zu Konzepten des maschinellen Lernens wenden Sie sich über das Programm Master of Science in Machine Learning & AI “ von upGrad an die Spitzenfakultät des IIIT Bangalore und der Liverpool John Moores University .

Es ist ein 18-monatiger Kurs, der mehr als 450 Stunden Lerninhalte, mehr als 12 Industrieprojekte, 10 Capstone-Projektoptionen und mehr als 10 Programmieraufgaben bietet. Sie genießen auch eine persönliche Betreuung durch Branchenexperten und Berufsberatung durch Live-Sitzungen. Die nächste Charge beginnt am 28. Februar 2021!

Was versteht man unter EM-Clustering?

Um die Wahrscheinlichkeit der beobachteten Daten zu optimieren, wird EM-Clustering verwendet, um die Mittelwerte und Standardabweichungen für jeden Cluster (Verteilung) zu schätzen. Basierend auf Kombinationen unterschiedlicher Verteilungen in verschiedenen Clustern versucht der EM-Algorithmus, die beobachteten Verteilungen von Werten anzunähern. EM verwendet das endliche Gaußsche Mischungsmodell, um Daten zu gruppieren, und schätzt iterativ einen Satz von Parametern, bis ein gewünschter Konvergenzwert erreicht ist. EM-Clustering liefert Ergebnisse, die sich von denen unterscheiden, die durch K-Means-Clustering erhalten wurden.

Was sind die realen Anwendungen des EM-Algorithmus?

In der Medizin wird der EM-Algorithmus zur Bildrekonstruktion verwendet. Es wird auch verwendet, um die Parameter von Hidden-Markov-Modellen (HMMs) und anderen gemischten Modellen vorherzusagen. Es hilft auch bei der Vervollständigung fehlender Daten in einer bestimmten Probe. Itemparameter und latente Fähigkeiten in Modellen der Item-Response-Theorie werden unter Verwendung von EM in der Psychometrie geschätzt. Auch im Bereich der Bautechnik ist es weit verbreitet.

Wie unterscheidet sich der MLE-Algorithmus vom EM-Algorithmus?

Beim Vorhandensein von versteckten Variablen stellt der Maximum-Likelihood-Schätzprozess einfach die Daten in Frage. MLE sammelt zunächst alle Daten und verwendet sie dann, um das wahrscheinlichste Modell zu erstellen. Bei latenten Variablen stellt der Erwartungsmaximierungsalgorithmus eine iterative Lösung für die Maximum-Likelihood-Schätzung bereit. EM nimmt zuerst eine fundierte Schätzung der Parameter vor, prüft dann auf fehlende Daten und ändert dann das Modell, um es an die fundierten Vermutungen und beobachteten Daten anzupassen.