Convergence de l'algorithme EM avec une distribution de mélange bivariée

9

J'ai un modèle de mélange dont je veux trouver l'estimateur du maximum de vraisemblance à partir d'un ensemble de données et d'un ensemble de données partiellement observées . J'ai mis en œuvre à la fois l'étape E (calcul de l'espérance de étant donné et les paramètres actuels ), et l'étape M, pour minimiser la log-vraisemblance négative étant donné le attendu .z z x θ k zxzzxθkz

Comme je l'ai compris, la probabilité maximale augmente à chaque itération, cela signifie que la log-vraisemblance négative doit être décroissante à chaque itération? Cependant, comme je le répète, l'algorithme ne produit pas en effet de valeurs décroissantes de log-vraisemblance négative. Au lieu de cela, il peut être à la fois décroissant et croissant. Par exemple, ce sont les valeurs de la log-vraisemblance négative jusqu'à la convergence:

entrez la description de l'image ici

Y a-t-il ici que j'ai mal compris?

De plus, pour les données simulées lorsque j'effectue la probabilité maximale pour les vraies variables latentes (non observées), j'ai un ajustement proche de parfait, indiquant qu'il n'y a pas d'erreurs de programmation. Pour l'algorithme EM, il converge souvent vers des solutions clairement sous-optimales, en particulier pour un sous-ensemble spécifique des paramètres (c'est-à-dire les proportions des variables de classification). Il est bien connu que l'algorithme peut converger vers des minima locaux ou des points stationnaires, existe-t-il une heuristique de recherche conventionnelle ou de même pour augmenter la probabilité de trouver le minimum (ou maximum) global . Pour ce problème particulier, je crois qu'il existe de nombreuses classifications manquantes car, du mélange bivarié, l'une des deux distributions prend des valeurs avec une probabilité un (c'est un mélange de durées de vie où la vraie durée de vie est trouvée parz zT=zT0+(1z) où indique l'appartenance à l'une ou l'autre distribution. L'indicateur est bien sûr censuré dans l'ensemble de données. zzentrez la description de l'image ici

J'ai ajouté un deuxième chiffre pour quand je commence par la solution théorique (qui devrait être proche de l'optimal). Cependant, comme on peut le voir, la probabilité et les paramètres divergent de cette solution en une solution clairement inférieure.

edit: Les données complètes sont sous la forme où est un temps observé pour le sujet , indique si le temps est associé à un événement réel ou s'il est censuré à droite (1 dénote l'événement et 0 dénote la censure droite), est le temps de troncature de l'observation (éventuellement 0) avec l'indicateur de troncature et enfin est l'indicateur auquel appartient la population à laquelle l'observation appartient (puisque son bivarié, nous devons seulement considérer 0 et 1). t i i δ i L i τ i z ixi=(ti,δi,Li,τi,zi)tiiδiLiτizi

Pour nous avons la fonction de densité , de même elle est associée à la fonction de distribution de queue . Pour l'événement d'intérêt ne se produira pas. Bien qu'il n'y ait pas de associé à cette distribution, nous la définissons comme , donc et . Cela donne également la distribution complète du mélange suivante:f z ( t ) = f ( t | z = 1 ) S z ( t ) = S ( t | z = 1 ) z = 0z=1fz(t)=f(t|z=1)Sz(t)=S(t|z=1)z=0inf f ( t | z = 0 ) = 0 S ( t | z = 0 ) = 1tinff(t|z=0)=0S(t|z=0)=1

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

Nous définissons la forme générale de la vraisemblance:

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

Or, n'est que partiellement observé lorsque , sinon il est inconnu. La pleine probabilité devientzδ=1

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

où est le poids de la distribution correspondante (éventuellement associée à certaines covariables et à leurs coefficients respectifs par une fonction de lien). Dans la plupart des publications, ceci est simplifié par la probabilité loglique suivantep

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

Pour l' étape M , cette fonction est maximisée, mais pas dans son intégralité dans la méthode de maximisation 1. Au lieu de cela, nous ne savons pas que cela peut être séparé en parties .l(θ,p;)=l1(θ,)+l2(p,)

Pour la k: th + 1 étape E , nous devons trouver la valeur attendue des variables latentes (partiellement) non observées . Nous utilisons le fait que pour , alors .ziδ=1z=1

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

On a ici, parP(zi=1;θ(k),p(k)|xi)=P(xi;θ(k),p(k)|zi=1)P(zi=1;θ(k),p(k))P(xi;θ(k),p(k))

ce qui nous donneP(zi=1;θ(k),p(k)|xi)=pSz(ti;θ(k))1p+pSz(ti;θ(k))

(Notez ici que , donc il n'y a pas d'événement observé, donc la probabilité des données est donnée par la fonction de distribution de queue.x iδi=0xi

Good Guy Mike
la source
Pourriez-vous s'il vous plaît écrire les variables de notre problème depuis le début, et vos équations E et M?
alberto
1
Bien sûr, j'ai édité la question avec plus de détails concernant les étapes E et M
Good Guy Mike
Pour clarifier, les valeurs tracées sont le MLE complet étant donné les valeurs estimées pour les données incomplètes.
Good Guy Mike
Qu'est-ce que ? Je ne comprends pas "bien qu'il n'y ait pas de t associé à cette distribution, nous la définissons comme inf ...". Sz
wij
1
L'algorithme EM maximise directement la vraisemblance des données complètes attendue, mais peut garantir l'augmentation de la vraisemblance des données observées. Vérifiez-vous l'augmentation de la probabilité des données observées?
Randel

Réponses:

6

L'objectif de l'EM est de maximiser la vraisemblance du journal des données observée,

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

Malheureusement, cela a tendance à être difficile à optimiser par rapport à . Au lieu de cela, EM forme et maximise à plusieurs reprises la fonction auxiliaireθ

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

Si maximise , EM garantit queθt+1Q(θ,θt)

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

Si vous souhaitez savoir exactement pourquoi c'est le cas, la section 11.4.7 de l' apprentissage automatique de Murphy : une perspective probabiliste donne une bonne explication. Si votre implémentation ne satisfait pas ces inégalités, vous avez fait une erreur quelque part. Dire des choses comme

J'ai un ajustement proche de parfait, indiquant qu'il n'y a pas d'erreurs de programmation

est dangereux. Avec de nombreux algorithmes d'optimisation et d'apprentissage, il est très facile de faire des erreurs tout en obtenant la plupart du temps des réponses correctes. Une intuition que j'aime est que ces algorithmes sont destinés à traiter les données en désordre, il n'est donc pas surprenant qu'ils traitent également bien les bogues!


Passons à l'autre moitié de votre question,

existe-t-il une heuristique de recherche conventionnelle ou de même pour augmenter la probabilité de trouver le minimum (ou maximum) global

Les redémarrages aléatoires sont l'approche la plus simple; le plus simple est le recuit simulé sur les paramètres initiaux. J'ai également entendu parler d'une variante de l'EM appelée recuit déterministe , mais je ne l'ai pas utilisée personnellement, donc je ne peux pas vous en dire beaucoup à ce sujet.

Andy Jones
la source
1
Belle réponse (+1). Ce serait encore mieux si vous incluiez des références formelles (en particulier, une référence à une source partiellement citée "Machine Learning: A Probabilistic Perspective").
Aleksandr Blekh
Merci beaucoup pour la réponse. J'ai constaté que l'algorithme converge correctement maintenant après avoir corrigé une erreur de code, mais uniquement lorsque j'exclus mes données tronquées. Sinon, ça tourne mal. Je crois que c'est le résultat de certaines erreurs.
Good Guy Mike
En fait, le problème est que je traite de la "troncature hétérogène", c'est-à-dire qu'il y a un point de troncature individuel pour chaque observation, plutôt qu'un seuil de troncature unanime pour toutes les observations. Je n'ai jamais rencontré ou ne trouve pas ces paramètres dans la littérature, donc je ne peux pas vérifier que je le résout correctement. Si par hasard vous aviez vu ce paramètre, j'aimerais jeter un œil à ces références! Li
Good Guy Mike