Как определить групповые назначения в кластеризации процесса Дирихле

Как и в кластеризации Дирихле, процесс Дирихле может быть представлен следующим образом:

  • Китайский ресторанный процесс
  • Процесс взлома палки
  • Модель поли урна

Например, если мы рассмотрим Chinese Restaurant Process процесс выглядит следующим образом:

  • Изначально ресторан пуст
  • Первый человек (Алиса) садится за стол (выбирает группу).
  • Второй человек (Боб) садится за стол.
  • За каким столом он сидит?
  • Он садится за новый стол с вероятностью α/(1+α)
  • Он сидит за существующим столом с Алисой (значит, он присоединится к существующей группе) с вероятностью 1/(1+α)
  • (N +1)-ый человек с вероятностью садится за новый столα/(n+α)α/(n+α)и в таблице k с вероятностью nk/(n+α)nk/(n+α), где nk количество людей, которые в настоящее время сидят за столом k.

Вопрос в том:

Первоначально, первый человек присоединится, скажем, G1 (то есть группа 1),
Теперь присоединится второй человек

new group      = G2 with probability α/(1+α) = P(N)  
existing group = G1 with probability 1/(1+α) = P(E)

Теперь, если я вычислю вероятности для новой записи, у меня будут значения для обоих, т.е. P(N) а также P(E), Затем,

  • Как я решу, что новая запись присоединится к какой группе G1 или G2?
  • Будет ли это решаться на основе значений обеих вероятностей?

Как,

If (P(N) > P(E))  
then  
   _new entry_ will join G2    
AND  
If (P(E) > P(N))  
then
_new entry_ will join G1  

1 ответ

Основываясь на представлении ГОС,

  • клиент 1 сидит за столом 1
  • клиент i сидит за заранее занятой таблицей k с p_k и за новым столом с p_new, где

введите описание изображения здесь
введите описание изображения здесь

Обратите внимание, что сумма вероятностей равна 1. Чтобы найти назначение таблицы, все, что вам нужно сделать, это бросить монетку и выбрать соответствующую таблицу.

Например, для клиента i, предположим, у вас есть следующий вектор вероятности

введите описание изображения здесь

Это означает, что вероятность сидеть за столом 1 равна 0,2, таблица 2 равна 0,4, таблица 3 равна 0,3, а новая таблица равна 0,1. Построив совокупный вектор вероятности и нарисовав случайное число, вы можете выбрать таблицу. Допустим, случайное число 0,81, поэтому ваш клиент сидит за столом 3.

Другие вопросы по тегам