Скрытое распределение Дирихле против Иерархического процесса Дирихле

datascience.stackexchange https://datascience.stackexchange.com/questions/128

  •  16-10-2019
  •  | 
  •  

Вопрос

Скрытое распределение Дирихле (LDA) и Иерархический процесс Дирихле (HDP) оба являются тематическими процессами моделирования.Основное отличие заключается в том, что LDA требует указания количества тем, а HDP - нет.Почему это так?И в чем различия, плюсы и минусы обоих методов тематического моделирования?

Это было полезно?

Решение

HDP - это расширение LDA, разработанное для решения случая, когда количество компонентов смеси (количество "тем" в терминах моделирования документов) неизвестно априори.Так вот в чем причина, почему есть разница.

Используя LDA для моделирования документов, можно рассматривать каждую "тему" как распределение слов в некотором известном словаре.Для каждого документа смесь тем извлекается из распределения Дирихле, а затем каждое слово в документе является независимым извлечением из этой смеси (то есть выбирается тема, а затем используется для создания слова).

Для HDP (применительно к моделированию документов) также используется процесс Дирихле для учета неопределенности в количестве тем.Таким образом, выбирается общее базовое распределение, которое представляет счетно-бесконечный набор возможных тем для корпуса, а затем из этого базового распределения выбирается конечное распределение тем для каждого документа.

Что касается плюсов и минусов, HDP имеет то преимущество, что максимальное количество тем может быть неограниченным и изучаться на основе данных, а не оговариваться заранее.Я полагаю, однако, что это сложнее в реализации и не нужно в случае, когда приемлемо ограниченное количество тем.

Другие советы

Анекдово, я никогда не был впечатлен результатом иерархического LDA. Кажется, это просто не находит оптимальный уровень детализации для выбора количества тем. Я получил гораздо лучшие результаты, проведя несколько итераций обычного LDA, вручную осматривая темы, которые он произвел, решая, увеличить или уменьшить количество тем, и продолжать итерацию, пока не получу гранулярность, которую я ищу.

Помните: иерархический LDA не может прочитать ваш разум ... он не знает, для чего вы на самом деле намерены использовать моделирование темы. Как и в случае с кластеризацией K-Means, вы должны выбрать K, который имеет наибольший смысл для вашего варианта использования.

Я хотел бы отметить, поскольку это один из лучших хитов Google по этой теме, что Скрытое распределение Дирихле (LDA), иерархические процессы Дирихле (HDP), и иерархическое скрытое распределение Дирихле (hLDA) - это все разные модели.

LDA моделирует документы как смеси Дирихле из фиксированного числа тем, выбранных пользователем в качестве параметра модели, которые, в свою очередь, являются смесями слов Дирихле.Это создает плоскую, мягкую вероятностную группировку терминов по темам, а документов - по темам.

HDP моделирует темы как смеси слов, во многом похожие на LDA, но вместо того, чтобы документы представляли собой смеси из фиксированного числа тем, количество тем генерируется процессом Дирихле, в результате чего количество тем также является случайной величиной."Иерархическая" часть названия относится к другому уровню, добавляемому к генеративной модели (процесс Дирихле, производящий количество тем), а не к самим темам - темы по-прежнему являются плоскими кластерами.

hLDA, с другой стороны, является адаптацией LDA, которая моделирует темы как смеси нового, отдельного уровня тем, заимствованных из Дирихле распределения а не процессы.Он по-прежнему рассматривает количество тем как гиперпараметр, то есть не зависит от данных.Разница в том, что кластеризация теперь иерархична - она изучает кластеризацию первого набора самих тем, давая более общие, абстрактные отношения между темами (и, следовательно, словами и документами).Думайте об этом как о кластеризации стековых обменов по математике, естественным наукам, программированию, истории и т.д.в отличие от кластеризации науки о данных и перекрестной проверки в абстрактную тему статистики и программирования, которая разделяет некоторые концепции, скажем, с разработкой программного обеспечения, но обмен информацией о разработке программного обеспечения кластеризован на более конкретном уровне с обменом информацией о компьютерных науках, и сходство между всеми упомянутыми обменами проявляется не так сильно до верхнего уровня кластеров.

У меня есть ситуация, когда HDP работает хорошо по сравнению с LDA. У меня около 16000 документов, которые принадлежат различным классам. Поскольку я не знаю, сколько разных тем я могу собрать для каждого класса, HDP действительно полезен в этом случае.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top