Я изучал модель LDA и тему в течение нескольких недель, но из-за моих слабых математических способностей я не могу полностью понять ее внутренние алгоритмы. Я использовал реализацию GibbsLDA, ввел много документов и установил номер темы как 100, я получил файл с именем "final.theta", в котором хранится пропорция каждой темы в каждом документе. Это хороший результат, я могу использовать пропорцию темы для многих других вещей. Но когда я попробовал реализовать язык C Blei на LDA, у меня был только файл с именем final.gamma, но я не знаю, как преобразовать этот файл в стиль пропорций темы. Может кто-нибудь мне помочь. И я узнал, что модель LDA имеет много улучшенных версий (таких как CTM, HLDA), если я могу найти тематическую модель, похожую на LDA, я имею в виду, что когда я ввожу много документов, она может напрямую выводить пропорцию темы в документах . Большое спасибо!
LDA и тематическая модель
Ответы (2)
Я думаю, что проблема с реализацией Blei заключается в том, что вы выполняете вариационный вывод, выполняя:
$ lda inf [аргументы ...]
Если вы хотите провести оценку темы, с помощью:
$ lda est [аргументы ...]
После этого файл final.beta будет находиться либо в текущем каталоге, либо в каталоге, указанном в последнем необязательном аргументе. Затем вы запускаете скрипт python "themes.py", включенный в tar. Прочтите здесь: http://www.cs.princeton.edu/~blei/lda-c/readme.txt описывает все это, особенно разделы B и D.
(Если это все еще не имеет смысла, дайте мне знать)
Что касается улучшений, таких как CTM и т. Д.: Я ничего не знаю о HLDA, но в прошлом я использовал и LDA, и CTM, и я могу сказать, что ни один из них не является строго лучше, чем другой - это случай, когда лучше для разные данные. CTM делает предположение, что документы коррелированы, и использует это предположение для улучшения результатов, если это правда.
Надеюсь это поможет!
Чтобы получить E [], просто нормализуйте гаммы в каждой строке. Это следует из свойств распределения Дирихле.