Искра Распределенная LAModel и LocalLDAModel

Я пытаюсь обучить тематическую модель для кластеризации и тематической связки документов. Мои обучающие коды показаны ниже, время итерации будет установлено как 20 по умолчанию. По умолчанию оптимизатором будет EM.

val ldaModel = new LDA().
            setK(500).setOptimizer("em").run(corpus)))

затем я взял документ в своих учебных документах, чтобы проверить его темы, используя

val topicsA = ldaModel.topicDistributions.filter(x=>x._1 == 100)

во-вторых, я нахожу слова vec для этого документа и использую LocalLDAModel для прогнозирования его тем.

val topicsB = ldaModel.toLocal.topicDistribution(wordsVec)

но я получил 2 совершенно разных распределения тем по темам A и themesB..

Я как бы здесь потерялся, есть предложения?

И еще одна вещь, как выбрать оптимизатор между EM и Online? Похоже, если вам нужно добавить больше мини-пакетных данных позже, после того, как вы обучите свою модель, лучше ли будет Online и экономит ли память?

Спасибо!

1 ответ

Решение

Просто выбрасываю предположение, но возможно ли, что идентификаторы тем не сохраняются toLocal? В DistributedLDAModel.topicsMatrix это предупреждает

Нет никаких гарантий относительно порядка тем.

Так что, возможно, вы на самом деле получаете один и тот же дистрибутив в обоих направлениях, но он был изменен

Другие вопросы по тегам