期待値ステップの関数
これまでに、Expectation-Maximization アルゴリズムを使って、sd がどちらも 1 の 2 つのガウス分布のパラメータを推定する方法を学びました。本演習の目的は、expectation 関数を作成することです。この関数は、means、proportions、sds が既知であるときに確率を推定するステップを一般化します。
この演習はコースの一部です
R で学ぶ Mixture Models
演習の手順
サンプルコードを完成させて expectation 関数を作成してください。ここでは、各クラスタの標準偏差を 4 つ目のパラメータとして扱う点に注意してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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)
}