套用兩個步驟
既然你已經建立 expectation 與 maximization 這兩個函式,現在就能把 EM 演算法套用到一個資料框。
本練習的目標是從 gaussian_sample 資料中找出兩個高斯叢集。假設兩者的 sd 都等於 10。
本練習屬於課程
R 中的混合模型
練習說明
- 先假設其中一個叢集的平均數是
0、另一個是100。使用expectation與maximization兩個函式來建立清單new_values。 - 將這些值存入向量
means_init。另外,向量props_init中的比例請設為相等。 - 執行 10 次迭代。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
means_init <- c(0, 100)
___ <- c(0.5, 0.5)
# Iterative process
for(i in 1:___){
___ <- maximization(___(gaussian_sample, means_init, props_init, c(10, 10)))
means_init <- new_values[[1]]
props_init <- ___[[2]]
cat(c(i, means_init, props_init), "\n")
}