CommencerCommencez gratuitement

Fonction d’expectation

Jusqu’ici, vous avez vu comment l’algorithme d’Expectation-Maximization permet d’estimer les paramètres de deux lois gaussiennes avec des sd tous deux égaux à 1. L’objectif de cet exercice est de créer la fonction expectation, qui généralise l’étape d’estimation des probabilités lorsque l’on connaît les means, les proportions et les sds.

Cet exercice fait partie du cours

<cours>Modèles de mélange en R</cours>
Voir le cours

Instructions de l’exercice

Créez la fonction expectation en complétant l’exemple de code. Notez que nous prenons désormais en compte les écarts types de chaque cluster comme quatrième paramètre.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

expectation <- ___(___, means, proportions, ___){
  # Estimate the probabilities
  exp_data <- data %>% 
    mutate(prob_from_cluster1 = ___[1] * dnorm(x, mean = means[1], sd = ___[1]),
           prob_from_cluster2 = ___[2] * dnorm(x, mean = means[2], sd = ___[2]),
           prob_cluster1 = prob_from_cluster1/(prob_from_cluster1 + prob_from_cluster2),
           prob_cluster2 = prob_from_cluster2/(prob_from_cluster1 + prob_from_cluster2)) %>% 
    select(x, ___, ___)
    
  # Return data with probabilities
  return(exp_data)
}
Modifier et exécuter le code