In linea di principio, entrambi gli approcci di ottimizzazione EM e standard possono funzionare per adattarsi alle distribuzioni di miscele. Come EM, i risolutori di ottimizzazione convessi convergeranno in un ottimale locale. Esistono tuttavia una varietà di algoritmi di ottimizzazione per cercare soluzioni migliori in presenza di molteplici optima locali. Per quanto ne so, l'algoritmo con la migliore velocità di convergenza dipenderà dal problema.
Un vantaggio di EM è che produce naturalmente parametri validi per la distribuzione della miscela su ogni iterazione. Al contrario, gli algoritmi di ottimizzazione standard avrebbero bisogno di essere imposti. Ad esempio, supponiamo che stia adattando un modello di miscela gaussiana. Un approccio di programmazione non lineare standard richiederebbe che le matrici di covarianza vincolanti siano semidefinite positive e che i pesi dei componenti della miscela siano non negativi e si sommino a uno.
Per ottenere buone prestazioni su problemi di dimensioni elevate, un solutore di programmazione non lineare in genere deve sfruttare il gradiente. Quindi, dovresti derivare il gradiente o calcolarlo con la differenziazione automatica. Le sfumature sono necessarie anche per le funzioni di vincolo se non hanno un modulo standard. Anche il metodo di Newton e gli approcci correlati (ad esempio i metodi della regione di fiducia) hanno bisogno dell'Assia. Differenze finite o metodi privi di derivati potrebbero essere usati se il gradiente non è disponibile, ma le prestazioni tendono a ridimensionarsi male all'aumentare del numero di parametri. Al contrario, EM non richiede il gradiente.
EM è concettualmente intuitivo, il che è una grande virtù. Ciò vale spesso anche per gli approcci di ottimizzazione standard. Esistono molti dettagli di implementazione, ma il concetto generale è semplice. Spesso è possibile utilizzare solutori di ottimizzazione standard che astraggono questi dettagli sotto il cofano. In questi casi, un utente deve solo fornire la funzione obiettiva, i vincoli e le sfumature e avere sufficienti conoscenze operative per selezionare un risolutore adatto al problema. Tuttavia, sono necessarie conoscenze specializzate se arrivano al punto in cui l'utente deve pensare o implementare dettagli di basso livello dell'algoritmo di ottimizzazione.
Un altro vantaggio dell'algoritmo EM è che può essere utilizzato nei casi in cui mancano alcuni valori di dati.
Anche di interesse (compresi i commenti):