R Супервизированный пакет скрытого распределения Dirichlet

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

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

1 ответ

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

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

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