La domanda è legittima e ho avuto la stessa confusione quando ho appreso per la prima volta l'algoritmo EM.
In termini generali, l'algoritmo EM definisce un processo iterativo che consente di massimizzare la funzione di probabilità di un modello parametrico nel caso in cui alcune variabili del modello siano (o siano trattate come) "latenti" o sconosciute.
In teoria, per lo stesso scopo, è possibile utilizzare un algoritmo di minimizzazione per trovare numericamente il massimo della funzione di probabilità per tutti i parametri. Tuttavia, nella situazione reale questa minimizzazione sarebbe:
- molto più intenso dal punto di vista computazionale
- meno robusto
Un'applicazione molto comune del metodo EM sta adattando un modello di miscela. In questo caso, considerando la variabile che assegna ciascun campione a uno dei componenti come variabili "latenti", il problema è notevolmente semplificato.
Vediamo un esempio. Abbiamo N campioni estratti da una miscela di 2 distribuzioni normali. Per trovare i parametri senza EM dovremmo minimizzare:s = { sio}
- logL (x,θ)=-log[ a1exp( ( x - μ1)22 σ21) +a2exp( ( x - μ2)22 σ22) ]
Al contrario, usando l'algoritmo EM, prima "assegniamo" ciascun campione a un componente ( fase E ) e quindi adattiamo (o massimizziamo la probabilità di) ciascun componente separatamente ( fase M ). In questo esempio il passo M è semplicemente un mezzo ponderato per trovare e . Iterazione su questi due passaggi è un modo più semplice e più robusto per ridurre al minimo .σ k - log L ( x , θ )μKσK- logL (x,θ)