Appliquer les deux étapes
Puisque vous avez créé les fonctions expectation et maximization, vous pouvez maintenant appliquer l'algorithme EM à un cadre de données.
L'objectif de cet exercice est de trouver deux grappes gaussiennes dans les données gaussian_sample. Supposons que les deux sd sont égaux à 10.
Cette activité fait partie du cours
Modèles de mélange en R
Instructions de l’exercice
- Commencez avec l'hypothèse qu'une des grappes a une moyenne de
0et l'autre de100. Utilisez les fonctionsexpectationetmaximizationpour créer une listenew_values. - Enregistrez ces valeurs dans le vecteur
means_init. Considérez que les proportions sont égales dans le vecteurprops_init. - Faites 10 itérations.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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")
}