2016-04-27 1 views
11

J'utilise this LDA package pour R. Spécifiquement j'essaie de faire supervised latent dirichlet allocation (slda). Dans le package lié, il existe une fonction slda.em. Cependant, ce qui me trouble, c'est qu'il demande des paramètres alpha, eta et de variance. Pour autant que je comprenne, j'ai pensé que ces paramètres sont inconnus dans le modèle. Donc, ma question est la suivante: l'auteur de l'emballage a-t-il voulu dire que ce sont des suppositions initiales pour les paramètres? Si oui, il ne semble pas y avoir un moyen d'y accéder à partir du résultat de l'exécution slda.em. Outre le codage des étapes EM supplémentaires dans l'algorithme, existe-t-il un moyen suggéré de deviner des valeurs raisonnables pour ces paramètres?R Paquet de répartition de Dirichlet supervisé latent

Répondre

3

Étant donné que vous essayez de générer un modèle supervisé, l'approche classique consiste à utiliser la validation croisée pour déterminer les paramètres du modèle. Ainsi, vous détenez certaines des données en tant qu'ensemble de test, entraînez le modèle sur les données restantes et évaluez les performances du modèle en répétant k fois. Vous continuez alors à répéter avec différents paramètres de modèle pour déterminer quel résultat dans les meilleures performances du modèle.

Dans le cas spécifique de slda, j'exécuterais demo(slda) pour voir l'implémentation de l'auteur. Lorsque vous exécutez la démonstration, vous verrez qu'il définit alpha=1.0, eta=0.1 et variance=0.25. Je suggère de les utiliser comme point de départ, puis d'utiliser la validation croisée pour déterminer de meilleurs paramètres si vous souhaitez améliorer les performances du modèle.

+0

Vous dites que le paquet LDA cité ci-dessus n'a * pas * une option pour rechercher les paramètres alpha, eta et de variance (contrairement à l'algorithme EM dans le papier lié)? Faire une validation croisée comme vous le suggérez serait extrêmement lent, sauf si vous avez une suggestion sur la façon de recycler les résultats de chaque étape. Je suppose que peut-être les paramètres "initiaux" dans le modèle pourraient aider cela? –

+0

Je ne suis pas très familier avec ce paquet, mais je n'ai vu aucune mention de trouver les paramètres pour vous. Ce n'est pas l'option par défaut - vous pouvez voir cela en regardant les résultats de la démo en changeant les paramètres initiaux - vous vous retrouvez avec des résultats différents. Je ne suis pas sûr de ce que vous entendez par «recycler les résultats de chaque étape», mais il est vrai que CV peut prendre beaucoup de temps s'il y a beaucoup de paramètres à rechercher. – Tchotchke

+0

@AlexR. Pouvez-vous fournir un échantillon de données, et un peu plus de détails sur votre objectif final? Cela faciliterait la fourniture d'un exemple de solution de code. Il existe au moins deux packages dans R qui peuvent être utilisés pour effectuer LDA. L'un est le paquet de modèles de sujets développé par Bettina Grün et Kurt Hornik et le second lda, développé par Jonathan Chang, que vous avez mentionné en utilisant. – Technophobe01