Dirichlet聚类流程:如何处理标签?


14

问:使用Dirichlet流程对数据进行聚类的标准方法是什么?

使用吉布斯采样时,采样簇会出现并消失。此外,由于后验分布对于聚类重标记是不变的,因此我们存在可识别性问题。因此,我们不能说哪个是用户集群,而是两个用户在同一个集群中(即)。p(ci=cj)

我们可以总结一下类的分配,以便如果是点的集群分配,那么现在不仅是而且是?ciici=cjci=cj=cj=...=cz

这些是我找到的替代方案,也是为什么我认为它们不完整或被误导的原因。

(1)DP-GMM + Gibbs采样+基于对的混淆矩阵

为了将Dirichlet过程高斯混合模型(DP-GMM)用于聚类,我实现了本文,其中作者提出了使用Gibbs采样进行密度估计的DP-GMM 。

为了探讨集群性能,他们说:

由于在[MCMC]链上组件的数量发生了变化,因此需要形成一个混淆矩阵,显示每个数据对在整个链中分配给同一组件的频率,见图6。 在此处输入图片说明

缺点:这不是真正的“完整”群集,而是成对群集。该图看起来不错,因为我们知道了真实的簇,并据此安排了矩阵。

(2)DP-GMM + Gibbs采样+采样直到没有任何变化

我一直在搜索,发现有些人声称使用Gibbs采样器基于Dirichlet Process进行聚类。例如,这篇文章认为当聚类数量或均值没有更多变化时,链收敛,因此可以从那里获得汇总。

缺点:我不确定这是否允许,因为如果我没有记错的话:

  • (a)在MCMC期间可能会有标签切换。

  • (b)即使在固定分布中,采样器也可以不时创建一些簇。

(3)DP-GMM + Gibbs采样+选择最可能划分的采样

本文中,作者说:

在“老化”阶段之后,可以从Gibbs采样器中提取来自IGMM后分布的无偏样本。可以通过绘制许多此类样本并使用类别指标变量的联合可能性最高的样本来找到硬聚类。我们使用M. Mandel编写的经过修改的IGMM实现。

缺点:除非这是一个折叠的吉布斯采样器,我们仅对分配进行采样,否则我们可以计算而不是边际。(取而代之的是获得具有最高的状态,这是一个好习惯吗?)p cp cθ p(c|θ)p(c)p(c,θ)

(4)具有可变推论的DP-GMM

我已经看到一些库使用变分推理。我不太了解变分推理,但我想您那里没有可识别性问题。但是,我想坚持使用MCMC方法(如果可能)。

任何参考将有所帮助。


在方法3(后验模式)中,您抱怨不可用对我来说没有多大意义。总的来说,似乎更像是对MCMC的抱怨而不是对这个特定问题的抱怨。p(c)
shadowtalker

是的,确切地说,我的意思是MCMC不允许我们访问,因此我们不能假装可以从链中的给定状态中提取它。p(c)
alberto

那是设计使然。实际上,它超越了MCMC:它是任何贝叶斯模型的内置功能。如果有的话,您就遇到了问题,因为您尝试做一些不自然的事情,而我们却痴迷
于此

首先,我们有理由不愿意做这样的事情-在多种意义上,Dirichlet过程混合模型无法一致地估计簇的数量(因此不能很好地恢复“真”的数据聚类)。NIPS上最近有一篇关于该主题的论文。

1
这里。我认为他们建议改为将Poisson放在组件的数量上(并派生某种餐厅程序来实现它),但是我不确定这是否是他们要做的论文。
2015年

Answers:


1

我的初步答案是将视为参数,以便p cθ 只是后验模式。我怀疑Niekum和Barto就是这样做的(选项3中引用的论文)。他们对于使用p cθ 还是p c | θ 含糊不清的原因是,一个与另一个成正比。cp(c,θ)p(c,θ)p(c|θ)

我说这个答案是“暂定”的原因是,我不确定将值指定为“参数”是否只是语义问题,还是存在更多持有博士学位的用户的技术/理论定义?这里将能够阐明。


你是对的,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

我只是想分享有关该主题的一些资源,希望其中一些对回答这个问题有所帮助。关于Dirichlet流程(DP)的教程很多,其中包括一些关于使用DP进行集群的教程。它们的范围从“温柔”,像这个演示教程,以更先进的,像这个演示教程。后者是同一教程的更新版本,由Yee Whye Teh在MLSS'07上发表。您可以在此处通过同步幻灯片观看该演讲的视频。谈到视频,您可以在此处观看汤姆·格里菲斯(Tom Griffith)的幻灯片,进行另一个有趣且相关的演讲。关于纸质教程,本教程 是一个不错的,很受欢迎的。

最后,我想分享一些相关的论文。关于分层DP的这篇论文似乎很重要且相关。这同样适用于本文由雷德福尼尔。如果您对主题建模感兴趣,则潜在的Dirichlet分配(LDA)也很可能会出现在您的雷达上。在这种情况下,这篇最近的论文提出了一种新颖且经过改进的LDA方法。关于主题建模领域,我建议阅读David Blei及其合作者的研究论文。本文是介绍性文章,其余内容可在他的研究出版物页面上找到。我意识到,我推荐的一些材料可能对您来说太基础了,但是我认为,通过包括有关该主题的所有内容,我会为您增加找到答案的机会。


我了解您要在这里做什么,但实际上并没有解决这个问题。
shadowtalker

1
@ssdecontrol:如果您了解我在这里要做的事情(这将帮助OP找到答案并学习一两件事),那么您的评论有什么意义?我从来没有声称我的回答是答案,但表示希望这是有帮助的,这是最终由OP来决定。如果您有更好的答案,我相信OP和社区将对此表示赞赏。
Aleksandr Blekh

1
是的,我完全理解。这也是我在这里所做的很多事情。但是问题是要问从MCMC结果中选择聚类标签的正确方法,我认为这根本解决不了这个问题。
shadowtalker

@AleksandrBlekh我同意ssdecontrol的观点,因为OP似乎了解“基本知识”并提出了一个具体问题,所以它有点偏离主题。
蒂姆

1
@AleksandrBlekh我感谢您的帖子,至少它对DP的介绍做了很好的总结。我确实知道一些基础知识(例如,中级水平),但是至少您的参考文献使我回到了LDA,并且意识到由于他们的标签经常不切换,他们对这个问题tip之以鼻。
alberto 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.