Konvergenz aus dem EM-Algorithmus mit bivariater Mischungsverteilung


9

Ich habe ein Mischungsmodell, mit dem ich den Maximum-Likelihood-Schätzer für einen gegebenen Datensatz x und einen Satz teilweise beobachteter Daten finden möchte z. Ich habe sowohl den E-Schritt (Berechnung der Erwartung von z bei x und der aktuellen Parameter θk ) als auch den M-Schritt implementiert , um die negative log-Wahrscheinlichkeit bei gegebenem zu minimieren z.

Wie ich es verstanden habe, steigt die maximale Wahrscheinlichkeit für jede Iteration. Dies bedeutet, dass die negative Log-Wahrscheinlichkeit für jede Iteration abnehmen muss. Während ich iteriere, erzeugt der Algorithmus jedoch tatsächlich keine abnehmenden Werte der negativen Log-Wahrscheinlichkeit. Stattdessen kann es sowohl abnehmen als auch zunehmen. Zum Beispiel waren dies die Werte der negativen Log-Wahrscheinlichkeit bis zur Konvergenz:

Geben Sie hier die Bildbeschreibung ein

Gibt es hier etwas, das ich missverstanden habe?

Außerdem habe ich für simulierte Daten, wenn ich die maximale Wahrscheinlichkeit für die echten latenten (nicht beobachteten) Variablen durchführe, eine nahezu perfekte Anpassung, was darauf hinweist, dass keine Programmierfehler vorliegen. Für den EM-Algorithmus konvergiert er häufig zu klar suboptimalen Lösungen, insbesondere für eine bestimmte Teilmenge der Parameter (dh die Anteile der klassifizierenden Variablen). Es ist bekannt, dass der Algorithmus zu lokalen Minima oder stationären Punkten konvergieren kann, ob es eine herkömmliche Suchheuristik gibt oder ebenfalls, um die Wahrscheinlichkeit zu erhöhen, das globale Minimum (oder Maximum) zu finden . Für dieses spezielle Problem gibt es meines Erachtens viele Fehlklassifizierungen, da aufgrund der bivariaten Mischung eine der beiden Verteilungen Werte mit der Wahrscheinlichkeit eins annimmt (es ist eine Mischung von Lebensdauern, bei denen die wahre Lebensdauer durch ermittelt wird wobei z die Zugehörigkeit zu einer der beiden Verteilungen angibt. Der Indikator z wird natürlich im Datensatz zensiert. T=zT0+(1z)zzGeben Sie hier die Bildbeschreibung ein

Ich habe eine zweite Zahl hinzugefügt, wenn ich mit der theoretischen Lösung beginne (die nahe am Optimum liegen sollte). Wie jedoch zu sehen ist, weichen die Wahrscheinlichkeit und die Parameter von dieser Lösung in eine deutlich schlechtere ab.

xi=(ti,δi,Li,τi,zi)tiiδiLiτiziist der Indikator, zu welcher Population die Beobachtung gehört (da sie bivariat ist, müssen wir nur 0 und 1 berücksichtigen).

z=1fz(t)=f(t|z=1)Sz(t)=S(t|z=1)z=0tinff(t|z=0)=0und . Dies ergibt auch die folgende vollständige Mischungsverteilung:S(t|z=0)=1

f(t)=i=01pif(t|z=i)=pf(t|z=1) und S(t)=1p+pSz(t)

Wir fahren fort, die allgemeine Form der Wahrscheinlichkeit zu definieren:

L(θ;xi)=Πif(ti;θ)δiS(ti;θ)1δiS(Li)τi

Jetzt wird nur teilweise beobachtet, wenn , andernfalls ist es unbekannt. Die volle Wahrscheinlichkeit wirdzδ=1

L(θ,p;xi)=Πi((pfz(ti;θ))zi)δi((1p)(1zi)(pSz(ti;θ))zi)1δi((1p)(1zi)(pSz(Li;θ))zi)τi

Dabei ist das Gewicht der entsprechenden Verteilung (möglicherweise verbunden mit einigen Kovariaten und ihren jeweiligen Koeffizienten durch eine Verknüpfungsfunktion). In der meisten Literatur wird dies auf die folgende Loglikelihood vereinfachtp

(ziln(p)+(1p)ln(1p)τi(ziln(p)+(1zi)ln(1p))+δizifz(ti;θ)+(1δi)ziSz(ti;θ)τiSz(Li;θ))

Für den M-Schritt wird diese Funktion maximiert, wenn auch nicht vollständig in einer Maximierungsmethode. Stattdessen wissen wir nicht, dass dies in Teile .l(θ,p;)=l1(θ,)+l2(p,)

Für den k: th + 1 E-Schritt müssen wir den erwarteten Wert der (teilweise) nicht beobachteten latenten Variablen . Wir verwenden die Tatsache, dass für dann .ziδ=1z=1

E(zi|xi,θ(k),p(k))=δi+(1δi)P(zi=1;θ(k),p(k)|xi)

Hier haben wir durchP(zi=1;θ(k),p(k)|xi)=P(xi;θ(k),p(k)|zi=1)P(zi=1;θ(k),p(k))P(xi;θ(k),p(k))

was unsP(zi=1;θ(k),p(k)|xi)=pSz(ti;θ(k))1p+pSz(ti;θ(k))

(Beachten Sie hier, dass , sodass kein Ereignis beobachtet wird. wird die Wahrscheinlichkeit der Daten durch die Schwanzverteilungsfunktion angegeben.δi=0xi


Könnten Sie bitte die Variablen unseres Problems von Anfang an und Ihre E- und M-Gleichungen schreiben?
Alberto

1
Natürlich habe ich die Frage mit mehr Details zum E- und M-Schritt bearbeitet
Good Guy Mike

Zur Verdeutlichung sind die aufgetragenen Werte die vollständige MLE angesichts der geschätzten Werte für die unvollständigen Daten.
Guter Kerl Mike

Was ist ? Ich verstehe nicht, "obwohl mit dieser Verteilung kein t verbunden ist, definieren wir sie als inf ...". Sz
wij

1
Der EM-Algorithmus maximiert direkt die erwartete Wahrscheinlichkeit vollständiger Daten, kann jedoch die Erhöhung der Wahrscheinlichkeit wahrscheinlicher beobachteter Daten garantieren. Überprüfen Sie die Zunahme der Wahrscheinlichkeit beobachteter Daten?
Randel

Antworten:


6

Das Ziel von EM ist es, die beobachtete Datenprotokollwahrscheinlichkeit zu maximieren.

l(θ)=iln[zp(xi,z|θ)]

Leider ist es schwierig, dies in Bezug auf zu optimieren . Stattdessen bildet und maximiert EM wiederholt die Hilfsfunktionθ

Q(θ,θt)=Ez|θt(ilnp(xi,zi|θ))

Wenn maximiert , garantiert EM diesθt+1Q(θ,θt)

l(θt+1)Q(θt+1,θt)Q(θt,θt)=l(θt)

Wenn Sie genau wissen möchten, warum dies der Fall ist, finden Sie in Abschnitt 11.4.7 von Murphys maschinelles Lernen: Eine probabilistische Perspektive eine gute Erklärung. Wenn Ihre Implementierung diese Ungleichheiten nicht erfüllt, haben Sie irgendwo einen Fehler gemacht. Dinge sagen wie

Ich habe eine nahezu perfekte Passform, was darauf hinweist, dass keine Programmierfehler vorliegen

ist gefährlich. Mit vielen Optimierungs- und Lernalgorithmen ist es sehr einfach, Fehler zu machen und dennoch die meiste Zeit richtig aussehende Antworten zu erhalten. Eine Intuition, die ich mag, ist, dass diese Algorithmen für unordentliche Daten gedacht sind. Es ist also nicht verwunderlich, dass sie auch gut mit Fehlern umgehen können!


Weiter zur anderen Hälfte Ihrer Frage:

Gibt es eine konventionelle Suchheuristik oder um die Wahrscheinlichkeit zu erhöhen, das globale Minimum (oder Maximum) zu finden?

Zufällige Neustarts sind der einfachste Ansatz. Am einfachsten ist wahrscheinlich das simulierte Tempern über die Anfangsparameter. Ich habe auch von einer EM-Variante namens deterministisches Tempern gehört , aber ich habe sie nicht persönlich verwendet, kann Ihnen also nicht viel darüber erzählen.


1
Schöne Antwort (+1). Es wäre sogar noch besser, wenn Sie formale Verweise aufnehmen würden (insbesondere einen Verweis auf eine teilweise zitierte Quelle "Maschinelles Lernen: Eine probabilistische Perspektive").
Aleksandr Blekh

Vielen Dank für die Antwort. Ich habe festgestellt, dass der Algorithmus jetzt ordnungsgemäß konvergiert, nachdem ein Fehler im Code behoben wurde, jedoch nur, wenn ich meine abgeschnittenen Daten ausschließe. Sonst geht es drunter und drüber. Ich glaube, das ist das Ergebnis einiger Fehler.
Guter Kerl Mike

Tatsächlich besteht das Problem darin, dass ich mich mit "heterogener Kürzung" befasse, dh es gibt für jede Beobachtung einen individuellen Kürzungspunkt und keine einhellige Kürzungsschwelle für alle Beobachtungen. Ich habe diese Einstellungen in der Literatur noch nie gefunden oder kann sie nicht finden, daher kann ich nicht überprüfen, ob ich sie richtig löse. Wenn Sie diese Einstellung zufällig gesehen hätten, würde ich mir gerne diese Referenzen ansehen! Li
Guter Kerl Mike
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.