2014-01-14 2 views
3

Я использую алгоритм LDA для группировки многих документов на разные темы. Алгоритм LDA требует входной параметр: количество тем. Как я могу это определить?Как определить количество тем в распределении LDA (скрытое распределение Дирихле) для текстовой кластеризации?

Я использую корпуса Reuter для сравнения моего решения. И корпуса Reuter имеют номера тем. Должен ли я вводить тот же номер темы при кластеризации текста Reuter? И сравнение моего результата кластеризации с Reuter's?

Но когда я нахожусь в производстве, как я могу узнать количество тем, прежде чем я на самом деле кластер, основанный на этих темах. Это похоже на проблему с куриным яйцом.

+0

ответ ВОЛШЕБНЫЙ !!! на самом деле есть больше, чем #topic параметр, если вы используете оригинальную LDA, у вас есть параметр alpha, параметр beta также установить. – alvas

+1

нет правильного решения, чтобы сказать, что число x - это правильное количество тем. поэтому они в конечном итоге используют HDP. иерархический процесс дирихле. http://metaoptimize.com/qa/questions/5221/automatically-selecting-the-number-of-topics-in-lda – alvas

+1

см. также http://link.springer.com/chapter/10.1007%2F978-3- 642-13657-3_43 – alvas

ответ

0

Один из способов, с помощью которого вы можете приблизиться, - через k означает. Через Silhouette (или кривые локтя, но я предполагаю, что это потребует ручного вмешательства), вы можете получить оптимальное количество кластеров. Вы можете использовать это число как количество тем.

Смежные вопросы