Použití obou kroků
Teď, když máš vytvořené funkce expectation a maximization, můžeš EM algoritmus aplikovat na datový rámec.
Cílem tohoto cvičení je najít ve datech gaussian_sample dva gaussovské shluky. Předpokládej, že obě hodnoty sd jsou rovny 10.
Toto cvičení je součástí kurzu
Mixture Models v R
Pokyny k cvičení
- Začni s odhadem, že jeden shluk má střední hodnotu
0a druhý100. Pomocí funkcíexpectationamaximizationvytvoř seznamnew_values. - Ulož tyto hodnoty do vektoru
means_init. Ve vektoruprops_inituvažuj, že proporce jsou stejné. - Proveď 10 iterací.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
means_init <- c(0, 100)
___ <- c(0.5, 0.5)
# Iterative process
for(i in 1:___){
___ <- maximization(___(gaussian_sample, means_init, props_init, c(10, 10)))
means_init <- new_values[[1]]
props_init <- ___[[2]]
cat(c(i, means_init, props_init), "\n")
}