2013-08-05 4 views
0

bin \ mallet train-topics --input input.tutorial.mallet --num-topics 40 --num-iterations 100 --optimize 명령을 실행할 때 -interval 50 --optimize-burn-in 200 - 출력 상태 input.gz - 출력 - 주제 - 키 inputkeys.txt - 출력 - doc- 토픽 입력-proportion.txt모든 인스턴스에서 bin/mallet train 주제가 달라집니다.

다른 결과가 나타납니다. 명령을 실행할 때마다

출력 :

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

0.03312704768838733 26 24 15 0.03312704768838733 0.03312704768838733 명령이 이용 될 때마다 동일한 결과를 얻는 방법

답변

1

모델을 훈련 할 때 --random-seed INTEGER (0이 아닌 다른 값은 시계를 사용하는) 옵션을 사용하여 임의의 시드를 수정하십시오. 여러 번 실행하면 일관된 결과를 얻을 수 있습니다.

이 기능의 버그는 개발 릴리스에 now fixed입니다.
최신 버전을 빌드하려면 MALLET's download page을 참조하십시오.

0

이것은 샘플링을 기반으로하는 확률 론적/통계적 접근법이므로 명령을 실행할 때마다 동일한 점수와 행당 동일한 단어를 기대해서는 안됩니다 ... 또한 반복 횟수는 조금 적습니다. 1000으로 설정해보십시오.

희망이 있습니다.

0

매번 동일한 대답을 얻는 유일한 방법은 난수 생성기를 동일하게 시드하는 것입니다.

MALLET은 깁스의 샘플링을 사용하여 주제 모델의 속성을 추측합니다.이 모델은 난수 생성기를 사용하여 다른 모든 현재 값을 기반으로 모델의 일부 매개 변수를 반복적으로 다시 샘플링하는 Markov Chain Monte Carlo 메소드입니다. 어떤 경우에는 다른 반복에 대한 관심의 양을 평균하여보다 안정적으로 만들 수 있습니다. 그러나 주제 자체는 식별 가능성이라는 항목 때문에 반복을 통해 평균 될 수 없습니다. the following Griffiths and Steyvers 용지, 특히 p5230의 각주를 참조하십시오.