如何理解分层狄利克雷过程(HDP)中的“表”?

问题描述 投票:0回答:2

Hierarchical Dirichlet Process中,作者用中式餐厅特许经营来解释HDP。据说每个餐厅都有很多张桌子,并且在一家餐厅里不同的桌子可能会分享共同的菜肴。这里的菜我们可以看作文档中的一个主题,那么如何理解每个文档中的表格呢?我觉得不同的桌子应该点不同的菜,如果两张桌子有同样的菜,那为什么不合并成一张呢?非常感谢。

enter image description here

cluster-analysis hierarchical-clustering lda
2个回答
1
投票

在中餐厅特许经营(CRF)中,每个文档是一家餐厅,每个单词是一位顾客,集群参数是从全局菜单中为餐桌提供的菜肴。顾客进入餐厅并坐在一张桌子上的概率与已经坐在桌子上的顾客数量成正比,或者坐在一张新桌子上的概率为 alpha。然后,新的桌子被分配一个特定的菜肴,其概率与已经提供该菜肴的桌子的数量成正比,或者以概率伽玛分配一个新菜肴。

因此,对于每个顾客,我们都有一个将顾客映射到餐桌的索引,对于每个餐桌,我们都有一个将餐桌映射到其中一道菜的索引。吉布斯采样算法,首先对与数据相关的表进行采样,然后对与每个表相关的菜肴进行采样。有关更多详细信息,请参阅Yee Whye Teh 的实现


0
投票

我也在尝试向自己解释这一点,所以我会尝试一下。

如果我们从普通狄利克雷过程混合物模型的破棒结构的图形表示开始,将会有所帮助:

DPMM_graphical_model

您可以将其视为数据的生成模型。权重 $\pi$ 是通过参数 $ lpha_0$ 通过棒破坏生成的,并定义给定混合成分的概率。对于每个数据点 i,我们采样 $z_i ~ Cat(\pi)$,它定义了该点的集群成员资格。所以 z_i 是索引变量(正如 Vadim Smolyakov 的回答中所解释的),它定义了 $theta_k$ 中的哪个将用于生成 pont $x_i$。如果我们使用中餐馆比喻,餐馆的表代表哪个 $theta_k$ 与给定的集群相关联,而 $\pi_k$ 代表下一个顾客坐在该桌子上的概率(将下一个数据点添加到该桌子上)簇)。

在分层狄利克雷过程中,我们有两个普通的 DP 发生在不同的级别:

  1. 一个级别为 顾客坐在给定餐厅的哪张桌子上
  2. 一个位于新占用的桌子上将提供哪道菜的水平。

所以现在我们有无限数量的餐厅(其中每个餐厅代表数据中的一个组),并且每个餐厅都有无限数量的桌子,可以提供无限数量的菜肴中的任何一种,但是 菜肴菜单在所有餐厅之间共享.

由于我们有两个 DP,我们还需要两组索引变量,例如普通示例中的 $z_i$ 。一张用于指定餐厅 $t_ji$ 中顾客就坐的桌子,一张用于该桌子 $k_jt$ 上提供的菜肴。

这会导致你可以在同一家餐厅有多个桌子提供同一道菜,从桌子级DP的角度来看没有特殊意义因为DP关心的是桌子上的顾客总数更新预测后验。

在处理菜品级 DP 时这个信息确实被总结出来了,因为在菜品级 DP 中,下一道菜是任何已知 $K$ 菜品还是新菜品的概率取决于出现了多少次给定的菜肴已在给定的餐厅提供(无论在哪张桌子上).

这是一个非常好的资源“分层狄利克雷过程:温和的介绍,Xiaodong Yu,马里兰大学学院公园分校,2009 年 9 月 13 日”(有一些错别字),它比我刚才说的更好地解释了我所说的内容。第二张图来自那里。

https://yuxiaodong.wordpress.com/wp-content/uploads/2009/09/hdp_introduction.pdf

HDPMM_graphical_model

© www.soinside.com 2019 - 2024. All rights reserved.