通常,重新估計迭代過程在lambda.bar - lambda小於某個epsilon值時停止。期望最大化重估
如何確定這個epsilon值?我經常看到的是在論文中被寫爲一般的epsilon符號,並且從來沒有使用過的實際值,我認爲這會根據數據而改變。例如,如果我第一次迭代的λ值是5 * 10^-22,第二次迭代是1.3 * 10^-15,第三次是8.45 * 10^-15,第四次是1.65 * 10^-15, -14等,我將如何確定算法何時需要更多迭代?
此外,如果我將相同的算法應用於不同的數據集呢?我需要改變我的epsilon定義嗎?
對不起,長期以來的問題。對此感到困惑...... :)
如果你的第二個答案是唯一的選擇,那麼很難實現EM計算和自動對嗎?所以我認爲有一個更好的解決方案比需要爲每個輸入定製它。如果某人正在處理1000組不同的信息(比如說蛋白質序列),並且他們希望找到一般蛋白質羣的MLEs。他們將採用log(lambda)1 + ... + log(lamba)N表示蛋白質數量(N),以確定每次迭代時代表整個總體的最終lambda。那麼如何自動確定每種蛋白質的lambda? – LanneR 2013-05-10 18:06:35