开始使用免费开始使用

期望函数

到目前为止,您已经学习了如何用期望最大化算法来估计两个高斯分布在 sd 都等于 1 时的参数。本练习的目标是创建函数 expectation,将已知 meansproportionssds 时估计各样本所属概率的这一步进行泛化。

本练习是课程的一部分

R 中的混合模型

查看课程

练习说明

通过补全示例代码来创建函数 expectation。请注意,我们现在把每个簇的标准差作为该函数的第四个参数来考虑。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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)
}
编辑并运行代码