2013-08-05 69 views
0

當我運行命令 bin \ mallet train-topics --input input.tutorial.mallet --num-topics 40 --num-iterations 100 --optimize -interval 50 --optimize-burn-in 200 --output-state input.gz --output-topic-keys inputkeys.txt --output-doc-topics input-proportion.txtbin /槌球訓練主題在每種情況下獲得不同的結果

我得到不同的結果在運行命令的每個實例中。

輸出:

0 AJAY_DASARI 19 0.062051649928263994 39 0.03263988522238164 35 0.03263988522238164 33 0.03263988522238164 32 0.03263988522238164 23 0.03263988522238164 ............... 1 BALVINDERSINGH 21 0.06297779395704405 36 0.04805242082271569 22 0.04805242082271569 35 0.03312704768838733 32 0.03312704768838733 31 0.03312704768838733 30 0.03312704768838733 26 0.03312704768838733 24 0.03312704768838733 15 0.03312704768838733 13 ................

如何每當使用命令時獲得相同的結果

回答

1

當你訓練模型時,使用選項--random-seed INTEGER(不同於0,否則它使用時鐘)來修復隨機種子。它應該給你多次運行的一致結果。

該功能存在一個缺陷,即開發版本中的now fixed
請參閱MALLET's download page構建最新版本。

0

這是一個基於抽樣的概率/統計方法,所以你不應該期望每次運行命令時每行都有相同的分數和相同的單詞......我也相信迭代次數有點小。嘗試將其設置爲1000.

希望它有幫助。

0

每次獲得相同答案的唯一方法是將隨機數生成器相同的種子。

MALLET使用吉布斯的抽樣來推斷主題模型的屬性:這是一種馬爾可夫鏈蒙特卡洛方法,它使用隨機數生成器基於當前所有其他值對模型中的一些參數進行迭代重新取樣。在某些情況下,您可以對不同迭代中的興趣量進行平均以使其更加穩定:但是,由於某些稱爲可識別性的問題,這些主題本身無法在迭代中進行平均。請參閱the following Griffiths and Steyvers論文,特別是p5230的腳註。

相關問題