ComeçarComece de graça

Função de Expectativa

Até aqui, você viu como o algoritmo de Expectation-Maximization é usado para estimar os parâmetros de duas distribuições Gaussianas com sd igual a 1. O objetivo deste exercício é criar a função expectation, que generaliza a etapa de estimar as probabilidades quando conhecemos os means, proportions e os sds.

Este exercício faz parte do curso

Modelos de Mistura em R

Ver curso

Instruções do exercício

Crie a função expectation completando o código de exemplo. Observe que agora estamos considerando os desvios padrão de cada cluster como seu quarto parâmetro.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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)
}
Editar e executar o código