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

49

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

Alvas
источник
Предполагается ли, что HDP зависит от количества выбранных тем? С практической стороны, я пытался запустить реализацию Blei HDP, и он просто съел всю память, пока я не убил процесс. У меня 16 ГБ оперативной памяти и более 100 тыс. Коротких документов для анализа.
Владислав Довгальец

Ответы:

35

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

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

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

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

Тим Гудман
источник
22

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

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

Чарли Гринбакер
источник
16

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

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

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

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

user38663
источник
0

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

Нишаль Hp
источник