期望函数
到目前为止,您已经学习了如何用期望最大化算法来估计两个高斯分布在 sd 都等于 1 时的参数。本练习的目标是创建函数 expectation,将已知 means、proportions 和 sds 时估计各样本所属概率的这一步进行泛化。
本练习是课程的一部分
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)
}