2016-04-27 2 views
11

Я использую this LDA package для R. В частности, я пытаюсь сделать supervised latent dirichlet allocation (slda). В связанном пакете есть функция slda.em. Однако меня смущает то, что он запрашивает параметры альфа, эта и дисперсии. Насколько я понимаю, я думал, что эти параметры неизвестны в модели. Поэтому, на мой вопрос, мог ли автор пакета сказать, что это исходные догадки для параметров? Если да, то, похоже, нет способа получить доступ к ним из результата запуска slda.em.R Наблюдаемый пакет для скрытого распределения Дирихле

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

ответ

3

Поскольку вы пытаетесь создать контролируемую модель, типичным подходом было бы использование перекрестной проверки для определения параметров модели. Таким образом, вы держите некоторые данные в качестве своего тестового набора, обучите модель оставшимся данным и оцените производительность модели, повторяя k раз. Затем вы продолжаете повторять с различными параметрами модели, чтобы определить, какой результат в лучшей производительности модели.

В конкретном случае slda я запустил demo(slda), чтобы увидеть его реализацию. Когда вы запустите демо, вы увидите, что он устанавливает alpha=1.0, eta=0.1 и variance=0.25. Я бы предложил использовать их в качестве отправной точки, а затем использовать кросс-проверку для определения лучших параметров, если вам нужно улучшить производительность модели.

+0

Вы говорите, что пакет LDA, указанный выше, имеет * не * возможность поиска параметров alpha, eta и дисперсии (в отличие от алгоритма EM в связанной статье)? Выполнение перекрестной проверки, как вы предлагаете, будет очень медленным, если у вас нет предложения о том, как перерабатывать выходные данные каждого шага. Я думаю, возможно, что «начальные» параметры в модели могут помочь этому? –

+0

Я не очень хорошо знаком с этим пакетом, но я не заметил никаких упоминаний о его поиске параметров для вас. Это не вариант по умолчанию - вы можете видеть, что, посмотрев на результаты демонстрации, изменив исходные параметры, вы получите разные результаты. Я не уверен, что вы подразумеваете под «переработкой выходов каждого шага», но верно, что CV может занять много времени, если есть много параметров для поиска. – Tchotchke

+0

@ AlexR. Можете ли вы предоставить образец данных и немного более подробную информацию о своей конечной цели? Это облегчило бы предоставление примерного решения кода. В R есть меньше двух пакетов, которые можно использовать для выполнения LDA. Один из них - это модель тематических моделей, разработанная Беттиной Грюн и Курт Хорник, а вторая Lda, разработанная Джонатаном Чангом, о которой вы упомянули. – Technophobe01

Смежные вопросы