Question on running fitlda
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Stephen Bruestle
le 6 Déc 2018
Commenté : Stephen Bruestle
le 11 Juin 2020
I want to run fitlda, with the following specification:
* use Griffiths and Steyvers (2004) Gibbs Sampling algorithm for LDA as they ran it,
* 12 topics (i.e. K=12),
* a symmetric alpha of 50/K (no updating),
* a symmetric beta of .01 (no updating), and
* exactly 2000 iterations (without early termination).
Would that be:
numTopics = 12;
mdl = fitlda(bag,numTopics,'Verbose',1,'InitialTopicConcentration',50,'FitTopicConcentration',false,'WordConcentration',.01,'LogLikelihoodTolerance',0,'IterationLimit',2000);
0 commentaires
Réponse acceptée
Christopher Creutzig
le 10 Déc 2018
Gibbs sampling involves stochastic elements (i.e., a pseudorandom number generator), meaning reproducing exactly the results of the 2004 paper will require using their code and their rng settings. (Which is also why in degenerate cases, you do get substantially different answers for multiple fitlda calls.)
Without looking up the definition of β in the original paper, I'm not sure if you want to set 'WordConcentration',.01 or 'WordConcentration',.01*bag.NumWords.
Other than that, the call looks like it should do what you ask, yes.
3 commentaires
Kai Friedrich
le 11 Juin 2020
Hey Stephen,
I am trying to do the same thing.
Great answer for the beta parameter.
What about alpha?
Is sufficient to just insert 50, when I want my alpha parameter in MATLAB to be 50/K?
Thanks!
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Data Distribution Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!