# Algoritmo EM

In statistica, un algoritmo di aspettazione-massimizzazione o algoritmo expectation-maximization (EM) è un metodo iterativo per trovare stime (locali) di massima verosimiglianza (o le stime del massimo a posteriori) dei parametri di modelli statistici che dipendono da variabili latenti (non osservate). L'iterazione di EM alterna l'esecuzione di un passo detto expectation (E), che crea una funzione per il valore atteso della verosimiglianza logaritmica calcolata usando la stima dei parametri corrente, e un passo detto maximization (M), che calcola nuove stime dei parametri massimizzando la 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 $\mathbf {X}$ di dati osservati, un insieme $\mathbf {Z}$ di dati latenti non osservati o dati mancanti, e un vettore di parametri incogniti ${\boldsymbol {\theta }}$ assieme a una funzione di verosimiglianza $L({\boldsymbol {\theta }};\mathbf {X} ,\mathbf {Z} )=p(\mathbf {X} ,\mathbf {Z} \mid {\boldsymbol {\theta }})$, la stima di massima verosimiglianza (MLE) dei parametri sconosciuti viene determinata massimizzando la verosimiglianza marginale dei dati osservati
    $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}$
Tuttavia determinare questa quantità è spesso impossibile dato che $\mathbf {Z}$ non è osservato e la sua distribuzione è sconosciuta prima di determinare ${\boldsymbol {\theta }}$.
L'algoritmo EM cerca di trovare la stima della massima verosimiglianza marginale eseguendo iterativamente questi passi:
* Expectation (E step): Definire $Q({\boldsymbol {\theta }}\mid {\boldsymbol {\theta }}^{(t)})$ come il valore atteso della funzione di verosimiglianza logaritmica per ${\boldsymbol {\theta }}$, rispetto alla distribuzione di probabilità condizionata corrente di $\mathbf {Z}$ dati $\mathbf {X}$ e le stime correnti dei parametri ${\boldsymbol {\theta }}^{(t)}$:
       $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]\,$
* Maximization (M step): Trovare i parametri che massimizzino questa quantità:
       ${\boldsymbol {\theta }}^{(t+1)}={\underset {\boldsymbol {\theta }}{\operatorname {arg\,max} }}\ Q({\boldsymbol {\theta }}\mid {\boldsymbol {\theta }}^{(t)})\,$
Tipici modelli cui si applica EM designano con $\mathbf {Z}$ la variabile latente che indica l'appartenenza a un gruppo in un insieme di gruppi:
I punti osservati $\mathbf {X}$ possono essere discreti o continui a seconda che assumano valori da un dominio finito (o infinito numerabile) o infinito non numerabile. Si può associare a ogni punto un vettore di osservazioni.
I valori mancanti (e quindi le variabili latenti $\mathbf {Z}$) sono discreti, tratti da un numero prefissato di valori e con una variabile latente per ogni unità osservata.
I parametri sono continui e di due tipi: parametri associati a tutti i punti e parametri associati a uno specifico valore di una variabile latente (ossia associati a tutti i punti con quel valore per la corrispondente variabile).