In [[statistica]], un '''algoritmo di aspettazione-massimizzazione''' o '''algoritmo EM''' ({{Inglese|expectation-maximization''''' ('''EM'''}})<ref>{{Cita pubblicazione|nome=A. P.|cognome=Dempster|nome2=N. M.|cognome2=Laird|nome3=D. B.|cognome3=Rubin|data=1977-09|titolo=Maximum Likelihood from Incomplete Data Via the EM Algorithm|rivista=Journal of the Royal Statistical Society: Series B (Methodological)|volume=39|numero=1|pp=1-22|accesso=2022-03-20|doi=10.1111/j.2517-6161.1977.tb01600.x|url=http://dx.doi.org/10.1111/j.2517-6161.1977.tb01600.x}}</ref><ref>{{Cita pubblicazione|nome=Richard A.|cognome=Redner|nome2=Homer F.|cognome2=Walker|data=1984-04|titolo=Mixture Densities, Maximum Likelihood and the EM Algorithm|rivista=SIAM Review|volume=26|numero=2|pp=195-239|accesso=2022-03-21|doi=10.1137/1026034|url=http://dx.doi.org/10.1137/1026034}}</ref> è un [[metodo iterativo]] per trovare [[Stima|stime]] (locali) di [[Metodo della massima verosimiglianza|massima verosimiglianza]] (o le [[Stima del massimo a posteriori|stime del massimo a posteriori]]) dei [[Parametro (statistica)|parametri]] di modelli statistici che dipendono da [[Variabile casuale|variabili latenti]] (non osservate).
L'iterazione didell'algoritmo EM alterna l'esecuzione di un passo detto ''expectation''aspettazione (E), che crea una funzione per il [[valore atteso]] della verosimiglianza logaritmica calcolata usando la stima dei parametri corrente, e un passo detto ''maximization''massimizzazione (M), che calcola nuove stime dei parametri massimizzando la [[Funzione di verosimiglianza|funzione di verosimiglianza logaritmica]] attesa trovata al passo ''E''. Tali stime dei parametri possono poi essere usate per determinare la distribuzione delle variabili latenti al passo E dell'iterata successiva.
== Descrizione ==
Dato il modello statistico che genera un insieme <math>\mathbf{X}</math> di dati osservati, un insieme <math>\mathbf{Z}</math> di dati latenti non osservati o dati mancanti, e un vettore di parametri incogniti <math>\boldsymbol\theta</math> assieme a una funzione di verosimiglianza <math>L(\boldsymbol\theta; \mathbf{X}, \mathbf{Z}) = p(\mathbf{X}, \mathbf{Z}\mid\boldsymbol\theta)</math>, la [[Metodo della massima verosimiglianza|stima di massima verosimiglianza]] (MLE) dei parametri sconosciuti viene determinata massimizzando la verosimiglianza marginale dei dati osservati
:<math>L(\boldsymbol\theta; \mathbf{X}) = p(\mathbf{X}\mid\boldsymbol\theta) = \int p(\mathbf{X},\mathbf{Z} \mid \boldsymbol\theta) \, d\mathbf{Z} = \int p(\mathbf{X} \mid \mathbf{Z}, \boldsymbol\theta) p(\mathbf{Z} \mid \boldsymbol\theta) \, d\mathbf{Z} </math>
L'algoritmo EM cerca di trovare la stima della massima verosimiglianza marginale eseguendo iterativamente questi passi:
* ''Expectation (E step)Aspettazione'': Definire <math>Q(\boldsymbol\theta\mid\boldsymbol\theta^{(t)})</math> come il valore atteso della funzione di verosimiglianza logaritmica per <math>\boldsymbol\theta</math>, rispetto alla distribuzione di [[probabilità condizionata]] corrente di <math>\mathbf{Z}</math> dati <math>\mathbf{X}</math> e le stime correnti dei parametri <math>\boldsymbol\theta^{(t)}</math>:
::<math>Q(\boldsymbol\theta\mid\boldsymbol\theta^{(t)}) = \operatorname{E}_{\mathbf{Z}\mid\mathbf{X},\boldsymbol\theta^{(t)}}\left[ \log L (\boldsymbol\theta; \mathbf{X},\mathbf{Z}) \right] \,</math>
* ''Maximization (M step)Massimizzazione'': Trovare i parametri che massimizzino questa quantità:
::<math>\boldsymbol\theta^{(t+1)} = \underset{\boldsymbol\theta}{\operatorname{arg\,max}} \ Q(\boldsymbol\theta\mid\boldsymbol\theta^{(t)}) \, </math>
|