Дирихле Процессы кластеризации: как бороться с метками?


14

Вопрос: Каков стандартный способ кластеризации данных с использованием процесса Дирихле?

При использовании выборочных кластеров Гиббса во время отбора проб появляются и исчезают. Кроме того, у нас есть проблема идентификации, так как апостериорное распределение инвариантно к кластерным связям. Таким образом, мы не можем сказать, кто является кластером пользователя, а скорее, что два пользователя находятся в одном кластере (то есть p(ci=cj) ).

Можем ли мы суммировать назначения класса так, чтобы, если является кластерным назначением точки i , мы теперь не только то, что c i = c j, но и то, что c i = c j = c j = . , , = c z ?ciici=cjci=cj=cj=...=cz

Это альтернативы, которые я нашел, и почему я думаю, что они неполные или ошибочные.

(1) DP-GMM + выборка Гиббса + путаница на основе пар

Чтобы использовать модель гауссовой смеси процесса Дирихле (DP-GMM) для кластеризации, я реализовал эту статью, где авторы предлагают DP-GMM для оценки плотности с использованием выборки Гиббса.

Чтобы изучить производительность кластеризации, они говорят:

Поскольку количество компонентов изменяется в цепочке [MCMC], необходимо сформировать путаницу, показывающую частоту каждой пары данных, назначаемой одному и тому же компоненту для всей цепочки, см. Рис. 6. введите описание изображения здесь

Минусы : это не настоящая "полная" кластеризация, а парная кластеризация. Рисунок выглядит так красиво, потому что мы знаем реальные кластеры и расположим матрицу соответственно.

(2) DP-GMM + отбор Гиббса + отбор, пока ничего не изменится

Я искал и нашел людей, претендующих на кластеризацию на основе процесса Дирихле с использованием сэмплера Гиббса. Например, этот пост считает, что цепочка сходится, когда больше нет изменений ни в количестве кластеров, ни в средстве, и поэтому получает сводки оттуда.

Минусы : я не уверен, что это разрешено, так как, если я не ошибаюсь:

  • (a) во время MCMC могут происходить переключения меток.

  • (б) даже в стационарном распределении пробоотборник может время от времени создавать некоторый кластер.

(3) DP-GMM + выборка Гиббса + выборка с наиболее вероятным разделением

В этой статье авторы говорят:

После периода «выгорания» несмещенные образцы из заднего распределения IGMM могут быть взяты из пробоотборника Гиббса. Сложная кластеризация может быть найдена путем построения множества таких выборок и использования выборки с наивысшей вероятностью объединения переменных индикатора класса. Мы используем модифицированную реализацию IGMM, написанную М. Манделем .

Минусы : Если это не свернутый образец Гиббса, где мы только выбираем назначения, мы можем вычислить но не маргинальный p ( c ) . (Было бы хорошей практикой вместо этого получить состояние с самым высоким p ( c , θ ) ?)p(c|θ)p(c)p(c,θ)

(4) DP-GMM с вариатональным выводом :

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

Любая ссылка будет полезна.


p(c)

p(c)

это по замыслу . Фактически, это выходит за рамки MCMC: это встроенная функция любой байесовской модели. Во всяком случае, вы сталкиваетесь с проблемой, потому что вы пытаетесь сделать что-то неестественное, то, чем мы одержимы: превращение оценки распределения в точечную оценку
shadowtalker

Во-первых, есть причины не желать делать что-то подобное - существуют различные смыслы, в которых модель смеси процессов Дирихле не может последовательно оценить количество кластеров (и, следовательно, не может сделать хорошую работу по восстановлению ». правда "кластеризация данных"). В NIPS недавно появилась статья на эту тему.
парень

1
Смотрите здесь . Я думаю, что вместо этого они предлагают поставить Пуассона заранее по количеству компонентов (и вывести какой-то ресторанный процесс для его реализации), но я не уверен, что это бумага, которую они делают.
парень

Ответы:


1

сп(с,θ)п(с,θ)п(с|θ)

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


p(c,θ)=p(c|θ)p(θ)p(c)

@alberto еще раз, это не имеет ничего общего с этой моделью и все, что связано с байесовской статистикой. Смотрите здесь: groups.google.com/forum/m/#!topic/stan-users/qH-2Mq219gs . А если вы беспокоитесь о нескольких режимах, см. Здесь: groups.google.com/forum/m/#topic/stan-users/RsVo9NUn0yM и здесь: stats.stackexchange.com/q/3328/36229
shadowtalker

1

Я просто хотел поделиться некоторыми ресурсами по этой теме, надеясь, что некоторые из них могут помочь ответить на этот вопрос. Есть много учебников по процессам Дирихле (DP) , в том числе по использованию DP для кластеризации . Они варьируются от «нежных», как этот учебник презентации , до более продвинутых, как этот учебник презентации . Последний является обновленной версией того же учебного пособия, представленного Йи Уай Тех на MLSS'07. Вы можете посмотреть видео этого разговора с синхронизированными слайдами здесь . Говоря о видео, вы можете посмотреть еще один интересный и актуальный доклад со слайдами Тома Гриффита здесь . С точки зрения бумажных учебников, этот учебник хороший и довольно популярный

Наконец, я хотел бы поделиться парой связанных документов. Этот документ по иерархическому DP представляется важным и актуальным. То же относится и к этой статье Рэдфорда Нила. Если вас интересует тематическое моделирование , скорее всего , скрытое распределение Дирихле (LDA) также должно быть на вашем радаре. В этом случае в этой самой последней статье представлен новый и значительно улучшенный подход LDA. Что касается предметной области моделирования, я бы порекомендовал прочитать исследовательские работы Дэвида Блея и его сотрудников. Эта статья является вводной, остальное вы можете найти на его странице научных публикаций., Я понимаю, что некоторые из материалов, которые я рекомендовал, могут быть слишком простыми для вас, но я подумал, что, включив все, что я наткнулся на эту тему, я увеличил бы ваши шансы найти ответ .


Я понимаю, что вы пытаетесь сделать здесь, но это действительно не решает вопрос.
Shadowtalker

1
@ssdecontrol: Если вы понимаете, что я пытаюсь сделать здесь (что помогает ОП в поиске ответа и изучении предмета или двух), то в чем смысл вашего комментария? Я никогда не утверждал, что мой ответ - это ответ, но выражал надежду, что он полезен , и в конечном итоге решение принимает ОП. Если у вас есть лучший ответ, я уверен, что он будет оценен ОП и сообществом.
Александр Блех

1
Да, я полностью понимаю. Это много из того, что я делаю здесь. Но вопрос заключается в том, как правильно выбрать метки кластеров из результатов MCMC, и я не думаю, что это вообще решает этот вопрос.
Shadowtalker

@AleksandrBlekh Я бы согласился с ssdecontrol, что это немного не по теме, поскольку OP, кажется, знает "основы" и задает конкретный вопрос.
Тим

1
@AleksandrBlekh Я ценю ваш пост, по крайней мере, он дает хорошее резюме для введения в DP. Я знаю основы (скажем, промежуточный уровень), но, по крайней мере, ваши ссылки заставили меня вернуться к LDA и понять, что они на цыпочках вокруг проблемы, поскольку их ярлыки часто не переключаются.
Альберто
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.