Aan de slagGa gratis aan de slag

Expectation-functie

Tot nu toe heb je geleerd hoe het Expectation-Maximization-algoritme wordt gebruikt om de parameters te schatten van twee Gaussische verdelingen met beide sd gelijk aan 1. Het doel van deze oefening is om de functie expectation te maken, die de stap van het schatten van de kansen generaliseert wanneer we de means, proportions en de sds kennen.

Deze oefening maakt deel uit van de cursus

Mixture Models in R

Cursus bekijken

Oefeninstructies

Maak de functie expectation door de voorbeeldcode aan te vullen. Let op dat we nu de standaardafwijkingen van elke cluster meenemen als vierde parameter.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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)
}
Code bewerken en uitvoeren