2015-07-13 3 views
2

Я провел последние несколько недель, пытаясь узнать PyMC, в соответствии с чем моя основная задача заключается в создании модели темы LDA. Сначала я попробовал этот пример с PyMC2.3 https://stats.stackexchange.com/questions/104771/latent-dirichlet-allocation-in-pymc, но для очень простой модели он работал всю ночь и даже не делал это на этапе выборки. Таким образом, я переключился на PyMC3.Является ли PyMC3 полезным для создания скрытой модели распределения дирихле?

Существуют ли фундаментальные ограничения, поскольку случайные величины являются категориальными? Неужели кому-нибудь удалось создать модель LDA с PyMC3? Я нашел частичную реализацию на Unable to create lambda function in hierarchical pymc3 model, но я не мог заставить ее работать без Контейнера, и я не думаю, что исходный автор тоже смог. Кто-нибудь знает какие-либо ресурсы, которые я мог бы изучить, чтобы выяснить, как это сделать?

+0

См. Здесь пример, который не совсем функциональный, но доступный: http://stackoverflow.com/questions/31473459/pymc3-how-to-implement-latent-dirichlet-allocation – twiecki

+0

https: // pymc-devs. github.io/pymc3/notebooks/lda-advi-aevb.html <- это может помочь. Имейте в виду, что выполнение категориальной выборки может привести к проблемам с переключением меток. Эта проблема преувеличена, чем больше число измерений. Вариационные байесы (приближение) в некоторой степени обходят эту проблему. –

ответ

0

TL; DR Реализация приведены в работах ссылке и полный код с тестированием на инаугурационной речи корпуса можно увидеть по адресу: https://github.com/napsternxg/ipython-notebooks/blob/master/PyMC_LDA.ipynb

Я реализовал решение, указанное в ссылке, которую вы упоминаете, используя PyMC2 и получил он работает над набором данных Inaugural Speech. Я не уверен в правильности решения, которое предоставляется по ссылке, которую вы упоминаете, но реализация работает и дает некоторую информацию о распространении темы. Однако понимание того, что реализация является чем-то более подходящим для человека, который лучше понимает математическое определение LDA.

+0

Любая реализация для PyMC3? – Chris

+1

@Chris Этот пример предназначен для PyMC3 https://pymc-devs.github.io/pymc3/notebooks/lda-advi-aevb.html –