始める無料で始める

期待値ステップの関数

これまでに、Expectation-Maximization アルゴリズムを使って、sd がどちらも 1 の 2 つのガウス分布のパラメータを推定する方法を学びました。本演習の目的は、expectation 関数を作成することです。この関数は、meansproportionssds が既知であるときに確率を推定するステップを一般化します。

この演習はコースの一部です

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)
}
コードを編集して実行