Понимание параметров в модели Gensim LDA - PullRequest
0 голосов
/ 11 июня 2018

Я использую gensim.models.ldamodel.LdaModel для выполнения LDA, но я не понимаю некоторые параметры и не могу найти объяснения в документации.Если у кого-то есть опыт работы с этим, мне бы хотелось получить более подробную информацию о значении этих параметров.В частности, я не понимаю:

  • random_state
  • update_every
  • chunksize
  • passes
  • alpha
  • per_word_topics

Я работаю с корпусом из 500 документов объемом примерно 3-5 страниц каждый (к сожалению, я не могу поделиться снимкомданные из соображений конфиденциальности).В настоящее время я установил

  • num_topics = 10
  • random_state = 100
  • update_every = 1
  • chunksize = 50
  • passes = 10
  • alpha = 'auto'
  • per_word_topics = True

, но это исключительно на основе примера, который я видел, и я не уверен, насколько обобщенно этомои данные.

1 Ответ

0 голосов
/ 12 июня 2018

Интересно, видели ли вы эту страницу ?

В любом случае, позвольте мне объяснить вам кое-что.Количество документов, которые вы используете, мало для метода (он работает намного лучше, когда обучается на источнике данных размером с Википедию).Поэтому результаты будут довольно грубыми, и вы должны знать об этом.Вот почему вы не должны стремиться к большому количеству тем (вы выбрали 10, которые в вашем случае могут доходить до 20).

Что касается других параметров:

  • random_state - это служит начальным числом (в случае, если вы хотите точно повторить процесс обучения)

  • chunksize - количество документов для рассмотрения одновременно (влияетпотребление памяти)

  • update_every - обновлять модель каждые update_every chunksize кусков (по сути, это для оптимизации использования памяти)

  • passes - сколько раз алгоритм должен проходить через весь корпус

  • alpha - для цитирования документации:

    может быть установлен в явный массив = до вашего выбора.Он также поддерживает специальные значения `'asymmetric' и 'auto': первый использует фиксированный нормализованный асимметричный 1.0 / topicno prior, второй узнает асимметричный априор непосредственно из ваших данных.

  • per_word_topics - установка этого параметра на True позволяет извлекать наиболее вероятные темы, заданные словом.Процесс обучения настроен таким образом, что каждое слово будет закреплено за темой.В противном случае слова, которые не являются показательными, будут опущены.phi_value - это еще один параметр, который управляет этим процессом - это порог для слова, которое рассматривается как индикативное или нет.

Оптимальные параметры процесса обучения особенно хорошо описаны в M.Хоффман и др., Онлайн-обучение для скрытого распределения Дирихле .

Для оптимизации памяти учебного процесса или модели см. это сообщение в блоге .

...