在本文中,我们提出了ParticleMDI,一种在MDI框架内构建的算法,它保持了MDI在建模灵活性方面的优势,但将推断方法从Gibbs采样改为粒子Gibbs采样(Andrieu et al。2010)通过使用条件粒子过滤器更新簇标签,该过滤器允许我们联合更新群集分配组。
粒子滤波器或序贯蒙特卡罗(SMC)通常用于状态空间模型中的推理,我们希望了解潜在变量,\(x\n\),给出一个观察结果,\(是的),当时我. 这些方法的目的是按顺序近似密度序列\(p(x{1:n}| y{1:n})\)对于\(第1页)以及边缘可能性序列
$$\begin{aligned}p(y{1:n})=\int\dots\int p(y_n\vert x_n)p(x_n\vert x{1:(n-1)})\,dx_1\dots dx_n\end{aligned}$$
对于\(第1页). 他们通过将问题分解为从一系列中间密度中取样来实现这一点\(p(x{1:i}| y{1:i})\)对于\(i=1,\点,n\). 在每个我,该方法首先生成米建议分布中的“粒子”,使用\(i-1\). 粒子是随机样本,代表潜在变量的不同潜在实现,\(x{1:n}\). 每个粒子根据重要性权重重新加权\({\xi^{(m)}}\)对于\(m=1,\点,m\)这取决于\(x)以及观测值\(你我\). 括号中上标索引的符号是指所讨论的特定粒子。在重新加权步骤之后,某些粒子的权重可以忽略不计,因此重采样步骤通过移除权重较低的粒子并替换为权重相对较高的粒子,将粒子的加权样本替换为未加权集。存在各种重采样技术(见Hol等人。2006)其中,我们实施了系统的重采样,因为它比其他方法提供了显著改进的混合,并降低了路径退化的水平(肖邦和辛格)2015;格里芬2014). 这样就可以通过集中计算资源来利用这些更重粒子获得的信息。通常不建议在粒子过滤器的每一步进行重采样,因此通常只有当由粒子权重的方差测量的有效样本大小(ESS)降到某个阈值以下时才执行重采样(Liu和Chen1995). 这通常被选为粒子数的一半(Doucet和Johansen2009). 在混合模型的推理中,格里芬(2014)Bouchard-Côe等人(2017)发现自适应重采样在每一步都比重采样带来更高的性能。
然而,聚类分析的任务并不典型地被视为是随着时间的推移而发展的,因此似乎不适合于顺序方法。然而,粒子滤波方法已经成功地应用于这项任务(见,例如,肖邦)2002;费恩黑德2004;格里芬2014Bouchard-Côe等人。2017, ). 该方法包括处理观察指数,1:n,作为人工时间索引。在标准混合模型中,一个潜在变量,\(c{i}\),反映了分配给观测的聚类标记\(x{i}\). 然后,可以将问题表述为\(p(c{1:n}| x{1:n})\)对于\(第1页),通过中间密度\(p(c{1:i}| x{1:i})\)对于\(i=1,\点,n\). 费恩黑德(2004)演示与指定观测值相关联的增量粒子权重\(x)聚集一可以计算为
$$$$\开始{对齐}\展示样式{\西安{对齐}\展示样式{\xi{(m)}=\xi{(m)的}\倍p(c{i}{(m)的}p{c{1(i-1)}{(m)的1:(i-1)}{(m)的x{(m)i})=\xi{(m)的}金金金金{a{1{1{1{1{N{N{f f f(x U i i | x{1:1:1:1:1)f(1:i(i i(i i i-1)},c{1:(i-1)}^{(m)}=a)}、\N编号\\\结束{aligned}$$
(三)
哪里f(.)是观察的后验预测密度\(x)考虑到\(x{1:(i-1)}\)为了什么\(c{1:(i-1)}^{(m)}=a\). 这种方法有助于对不同类型的数据进行建模,前提是我们可以分析地得出后验预测分布。
混合模型的SMC方法可以扩展到集成MDI模型,将每个粒子视为所有粒子的簇分配的实现K数据集。也就是说,我们想推断\(p(c{1:n,1:K}| X_1,\dots,X_K)\)将观测值分配给群集时,只根据该数据集中的分配情况。我们更新情商三综合上下文如下
$$$$$$$$$$$$$$$$$$$$${对齐}\Si{(m)}\times\displaystyle\ prod{k=1}{{k}{k}p p(c〈c{i i,k,k}{(m)}}(m)},x{1:i,i,1:p UK,k}{1:i,1:p UK,k}{1{k{1{1{1{1{1{1{1{1{1}{k{1{1{1{{l=k+1}^{k}(1+\phi{k,l}\mathbb{1}(c{i,k}^{(m)}=c{i,l}^{(m)}))\n编号\\\end{aligned}$$
(四)
我们推断\(\varPhi\)通过粒子Gibbs采样器(Andrieu等人。2010),一个粒子MCMC扩展Gibbs取样器,其中一个粒子\(c{1:n,1:K}^{(1)}\)用于更新超参数,随后用作粒子过滤器的下一个过程的输入。超参数的条件分布在Kirk et al(2012),尽管我们为\(\varPhi\)在补充材料中。粒子是从粒子滤波器的初始通道采样的,并且在随后的条件粒子滤波器扫描过程中,确保其在重采样步骤中的生存。由于这个粒子是用整个观测序列推断出来的,所以它有助于引导其余粒子朝向好的采样空间的区域。我们在算法2中概述了这种条件粒子滤波器。
该算法的规范是灵活的,因为它允许对任何统计分布进行建模,我们可以对其进行分析,得出后验预测分布。在本文中,我们将连续值数据建模为高斯分布,具有正态伽马先验(见墨菲)2007)我们将离散值数据建模为具有Dirichlet先验的范畴分布(参见Bernardo和Smith)2001). 其他数据类型也可以使用共轭对,如泊松分布和伽马分布。在计算速度上,我们将特征视为独立的,但也可以合并从属特征。将特征视为独立的也允许我们结合(Savage et al。2013). 在这种情况下,特定特征被选择的概率与Bayes因子有关,Bayes因子是指在推断的聚类模型下,该特征中数据的边际似然与所有观测值都属于一个共享聚类的空模型的边际似然之比。
然而,MDI的粒子Gibbs方法计算量更大。虽然一个算法的计算时间和它的混合时间(接近后验分布所需的迭代次数)之间可以进行权衡,但算法并没有在两者之间取得适当的平衡。在本节的剩余部分中,我们将探讨一些提高算法计算效率的技术。
块更新吉布斯采样器
考虑算法2中描述的粒子Gibbs采样器中的传播步骤。每次观察,\(x{i,1:p},k}\),一个群集标签,一,与后验预测分布成比例抽样\(f(x{i,1:p_k,k}| c{1:i,k},x{1:(i-1),1:p_k,k})\). 那就是观察我在数据集中k分配了一个簇标签,一,基于第一个\(一-1\)观察。什么时候?\(我同意)这将对集群标签进行有意义的估计\(c{i,1},圆点,c{i,K}\). 但是,例如,\(i=3\)估计就没那么有意义了。因此,结果中存在一个依赖于数据被合并到粒子过滤器中的顺序。减少这种依赖性的一种方法(如算法2和Griffin中所做的那样)(2014))正在更新\(c{1:(i-1),1},圆点,c{1:(i-1),K}\)在重采样步骤中。虽然这意味着所有的聚类标签都可以使用完整的数据集进行更新,但这大大增加了算法的计算复杂度。在重采样不自适应的方案中,或者在自适应方案中的最坏情况下,这将导致我每次迭代所需的操作,我,从\({\mathcal{O}}(n)\)到\({\mathcal{O}}(n^2)\),假设每个单独步骤都可以在恒定时间内执行。这种解决方案还使浪费计算的计算问题复杂化,即根据很少的先前观测值将观测值分配给簇。
此外,还有一个特定于整合语境的问题。如公式所示4我们根据共享同一个聚类标签的观察结果,为数据集间的一致性膨胀粒子权重。虽然我们在粒子过滤器的过程之间进行标签匹配,但是在一个过程中不能保证簇标签引用了数据集中相同的观测分区。
我们通过增加粒子吉布斯采样器来解决这两个问题,建议在粒子过滤器的每个过程中只更新一部分簇分配。剩余的分配从上一次传递中保持不变;我们将此部分称为\(\rho\),其中\(0<\rho<1\). 我们随机选择指数1的子集:n大小\(\lfloor n\rho\rfloor\)并将这些观测值与标准粒子Gibbs采样器中的参考粒子相同。虽然算法基于相继的蒙特卡罗采样器,数据的顺序,事实上,并不重要。因此,随机改变观察顺序并假设第一个是无关紧要的\(\lfloor n\rho\rfloor\)从以前的粒子群中通过粒子过滤器的分配。这种排列确保了我们不会在每次扫描时对相同的观察部分进行条件调整,并且将固定部分放在开始位置,从而避免了定义在粒子的不同固定部分之间建立桥梁的潜在挑战性任务。我们称之为置换观察指标的函数\(\sigma(\cdot)\),确保对每个数据集执行相同的置换。然后,算法继续进行,未来的分配将根据先前观察到的数据进行更新。也就是说,粒子吉布斯采样器通常交替从\(p(\theta | x{1:n},c{1:n})\)和\(p{\theta}(c{1:n}| x{1:n})\)(其中\(\theta\)表示粒子过滤器每次运行时固定的超参数),ParticleMDI从\(p(\theta | x{1:n},c{1:n})\)和\{\r{r\r\n西格玛}(RhoIl}\r\n西格玛)(图2).
在最初的粒子吉布斯论文(Andrieu et al。2010). 考虑到我们可以对数据进行简单的重新排序,这是粒子Gibbs采样器的这种扩充的一个特别合适的应用;粒子Gibbs分裂合并(PGSM)算法(Bouchard-Côet al。2017),其中粒子Gibbs扫描仅限于共享一个簇标签的观测值和两个随机选择的“锚”点。然后,如果两个锚点属于同一个簇,则PGSM算法将继续“拆分”该簇,否则将“合并”它们。
提供\(\rho\)如果选择适当,这种增加可以最小化对数据观察顺序的依赖性。因此,在第2步中,我们提出了贪婪算法,其中在第3步中,我们提出了一个更新的算法。假设每一步都可以在固定的时间内执行,该算法的计算复杂度现在是\({\mathcal{O}}(\lceil n\times(1-\rho\rceil)\),虽然只更新了一部分聚类标签,但与算法2的比较并不完全准确。
找到值\(\rho\)然而,“适当选择”可能并不简单。选择\(\rho\)在计算时间和混合时间之间进行权衡,使用较大的值来减少计算时间,但代价是更新较少的集群分配。然而,计算时间和混合时间之间的权衡不是线性的,因为非常低的值可能导致对观测值的合并顺序的依赖。该算法的贪婪本质是基于数据块作为一个整体的充分摘要的条件。首先,在膨胀粒子权重的情况下,这一点很重要,因为粒子将观测值分配给同一个簇标签。重要的是要确保\(\rho\)足够大,以便在星团标签上嵌入一些意义,确保在可行的范围内,星团标签指的是观测单元的相同分区。这应该是引用粒子的情况,因为我们在这个粒子中跨数据集对齐簇标签。因此,\(\rho\)应详细说明,以便在余下的观察中保持这一含义。例如,如果观测值的条件部分很小,足以完全排除许多簇,那么就不能保证分配给这些簇的标签在遇到时会在数据集中一致。同样重要的是\(\rho\)指定一个足够大的值,以克服对数据合并到条件粒子过滤器中的顺序的依赖性。例如,如果我们仅以一次观察为条件,这些数据将不具备足够的权重来指导随后的观察。然而,通过重采样使参考粒子的扩散有助于缓解这两个问题,但可能无法完全消除它们。我们探讨了选择\(\rho\)在门派4.1.
利用粒子滤波中的冗余
粒子滤波方法的精度要求对米,粒子数。在混合模型的背景下,格里芬(2014)发现即使使用相对较少的粒子也可以获得良好的性能。在ParticleMDI中,对于每个粒子,我们需要存储指定的簇标签以及汇总统计信息,以便于粒子的传播。这就需要大量的内存访问,这会阻碍算法的计算性能。
然而,并不是所有这些存储都是必需的,因为粒子过滤器的性质会导致粒子中的冗余。重采样步骤会生成某些粒子的副本,同时移除其他粒子。在重新采样之后,粒子将随着附加观测值的到达而传播。传播需要评估每个簇的新观测的后验预测密度,如等式所示4. 这些计算对于粒子的每个副本都是相同的,并且会显著增加算法的计算负担。更具体地说,考虑到我们处理的是一个离散的状态空间,几乎没有什么不同的可能后代对于每个粒子,结果是,即使不重新采样,我们也可能生成许多相同的粒子。
这些冗余已经被费恩黑德讨论过了(2004)他提出了一种对重采样算法的扩充,以尽量减少重复粒子的数量。其基本原理是,例如,一组粒子指数\(\左[1,1,2,2\右]\)各有重量\(\左[0.1,0.2,0.3,0.4\右]\)相当于只有两个具有权重的粒子\(\左[0.3,0.7\右]\)因为可以考虑所有可能的粒子后代。费恩黑德(2004)建议保留标准化权重高于阈值的所有粒子,对剩余粒子执行重新采样,将粒子重复的数量最小化。
我们不是尽量减少冗余,而是试图利用它。为了避免执行冗余计算,我们需要能够识别哪些粒子与其他粒子相同。我们可以从重新采样的粒子索引中识别出那些由于重采样步骤而相同的粒子。对于其他算法,我们建议为每个粒子分配一个运行ID,如算法4所述,并且只为每个唯一的粒子计算一次增量重要性权重并存储在哈希表中。但是,此方法不会捕获所有重复粒子。考虑两个粒子,它们在簇标签排列之前是相同的。这些粒子不会共享粒子ID,因为ID是基于指定的标签构造的。这可以从图中看出三,其中粒子1和粒子2可以通过切换分配标签变得相同。同时考虑两个粒子基本相同的情况,例如在10个推断出的簇中,这两个粒子为其中的8个指定了相同的标签,而其余两个簇则具有不同的标签。同样,这些粒子不会被识别为重复的,尽管增量重要性权重的评估在两个粒子中是相同的。为了克服这一点,我们将算法的一般设置从包含不同环境的粒子转移到存在一个全局环境的场景中,每个粒子都索引到其中,如图所示三. 因此,当计算增量重要性权重时,我们现在只需要评估属于数据中推断出的每个独特簇的观测值的后验预测密度。
为了检验使用这些方法可以获得的好处,我们研究了随着粒子数的增长计算时间的增长。由于避免冗余计算的好处会随着所分析的特定数据集的复杂性而变化,因此我们考虑两种情况:一个简单的高斯数据集包含两个定义良好的具有均值的聚类\(+5\)和\(-5\)分别在100个观察值中,以及Fisher的虹膜数据集(Fisher1936)它包含三个星团,其中两个在150个观测中没有很好地分开。第一个数据集代表了一个最佳情况,说明了我们实现ParticleMDI的方式可能带来的计算时间上的改进,而Iris数据集可能代表在实践中可以预期的更温和的改进。图4显示了这些数据集中粒子数对计算时间的经验影响。所有的分析都是针对1000个MCMC样本\(\rho=0.25\),并且给出的结果是100次这样的运行的平均值。在传统的方法中,计算时间会随着粒子数的增加而线性增长。然而,在ParticleMDI下,在两种情况下都明显存在次线性增长,其中\(M=1{,}024\)粒子大约\(15倍)只要完成\(M=2\)对于合成数据,以及\(161倍)和虹膜数据集一样长。这代表大约\(3\%\)和\(31.5\%\)分别表示在标准实现下预期的时间,表示计算时间的潜在改进超过一个数量级。即使是在时间尺度的改进中,也要注意到粒子群的识别问题\(M=2\)在计算时间上有所改进。必须指出的是,这些改进在推断的集群分配的准确性方面是没有代价的,因为我们只是避免了对冗余计算的评估。
提取共识簇
ParticleMDI的输出是每个数据集中每个观测值的一系列簇标签。由于这些簇标签在迭代过程中是可交换的,我们不能简单地计算属于某个特定簇的观测值的后验概率。相反,我们计算后验相似矩阵(PSM)(Monti等人。2003)对于每个K数据集。PSM是一个\(n \乘以n\)谁的矩阵(我, j)-第个条目的值\(\左[0,1\右]\)表明观察频率我和j分配给同一个群集。然后,数据集的总体一致性可作为每个PSM的元素平均值(Savage等人,2008年)。2013). PSM可被视为热图,如图所示6和7. 通过应用分层聚类方法,可以从PSM中推断出最终的一致性群集分配\(1-平方米)作为距离矩阵(Medvedovic et al。2004;Fritsch等人。2009拉斯穆森等人。2009). 从这一分析得到的树状图将产生一个观察的顺序,这样最经常分配给同一个星团的观测对可以在热图中相邻地定位,从而可以启发式地识别潜在的星团结构。