Alternatives rapides à l'algorithme EM


13

Existe-t-il des alternatives rapides à l'algorithme EM pour l'apprentissage de modèles avec des variables latentes (en particulier pLSA)? Je suis prêt à sacrifier la précision au profit de la vitesse.


1
Avez-vous fait une recherche documentaire? Cet article semble particulièrement pertinent: Relaxations convexes de l'entraînement à variables latentes
Emre

1
Et LSA? :-)
conjugateprior

1
Un moyen général d'accélérer un EM est appelé "accélérateur Aitken". Si la précision n'est pas un problème, essayez plutôt une estimation de moment ou une estimation de moment généralisée.
JohnRos

Réponses:


4

Les algorithmes de Newton-Raphson peuvent souvent être utilisés. Je ne connais pas pSLA, mais il est assez courant d'utiliser des algorithmes de Newton-Raphson pour les modèles de classes latentes. Les algorithmes de Newton-Raphson sont un peu plus troublés par de mauvaises valeurs initiales que l'EM, donc une stratégie consiste à utiliser d'abord quelques itérations (disons 20) de l'EM, puis à passer à un algorithme de Newton-Raphson. Un algorithme avec lequel j'ai eu beaucoup de succès est: Zhu, Ciyou, Richard H. Byrd, Peihuang Lu et Jorge Nocedal (1997), "Algorithm 778: L-BFGS-B: Fortran subroutines for large-scale bound- optimisation contrainte, "ACM Transactions on Mathematical Software (TOMS) archive, 23 (4), 550-60.


4

Très similaire à l'algorithme EM est l' algorithme MM qui exploite généralement la convexité plutôt que les données manquantes pour majorer ou minorer une fonction objective. Cependant, vous devez vérifier si l'algorithme MM est applicable à votre problème particulier.



2

Une autre alternative non mentionnée jusqu'à présent dans les réponses est les approximations variationnelles. Bien que ces algorithmes ne soient pas exactement des algorithmes EM dans tous les cas, dans certains cas, les algorithmes EM limitent les cas des algorithmes variationnels de champ moyen bayésien. La limite se rapporte au cas limite des hyper-paramètres, le choix des valeurs limites - dans certains cas - vous donnera l'algorithme EM.

Dans les deux cas (algorithmes EM, VB ou même MM), il existe 2 façons génériques d'accélérer les choses:

(1) réduire la dimensionnalité du problème - d'un p-dim problème à pproblèmes univariés. Ce sont généralement des algorithmes de descente de coordonnées, mais j'ai vu des algorithmes MM qui font également ce type d'accélération.

(2) améliorer le taux de convergence de votre algorithme EM (ou autre type). Dans un commentaire, JohnRos a mentionné l'accélération d'Aitken. Cela vient du monde de l'analyse numérique mais est discuté dans le livre EM de McLachlan et Krishnan.

Il y en a peut-être d'autres qui m'ont manqué, mais ceux-ci semblent être les deux grands.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.