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
, Я бы предложил использовать их в качестве отправной точки, а затем использовать перекрестную проверку для определения лучших параметров, если вам нужно улучшить производительность модели.