用于非参数聚类的PyMC:估计高斯混合参数的Dirichlet过程无法聚类
问题设定 我想将PyMC应用到的第一个玩具问题之一是非参数聚类:给定一些数据,将其建模为高斯混合,并学习聚类的数目以及每个聚类的均值和协方差。我对这种方法的大部分了解来自迈克尔·乔丹(Michael Jordan)和Yee Whye Teh(大约在2007年之前)的视频讲座(在稀疏成为流行之前),以及最近两天阅读Fonnesbeck博士和E. Chen的教程[fn1],[ fn2]。但是问题已得到充分研究,并且具有一些可靠的实现方式[fn3]。 在这个玩具问题中,我从一维高斯生成十次抽奖,并从。正如您在下面看到的那样,我没有对抽奖进行混洗,以便于分辨哪个样品来自哪个混合成分。N(μ = 4 ,σ = 2 )N(μ=0,σ=1)N(μ=0,σ=1)\mathcal{N}(\mu=0, \sigma=1)N(μ=4,σ=2)N(μ=4,σ=2)\mathcal{N}(\mu=4, \sigma=2) 我对每个数据样本进行,,其中表示该第个数据点的聚类:。是使用的截短Dirichlet进程的长度:对我来说,。我= 1 ,。。。,50 ž 我我ž 我 ∈ [ 1 ,。。。,N D P ] N D P N D P = 50yi∼N(μzi,σzi)yi∼N(μzi,σzi)y_i \sim \mathcal{N}(\mu_{z_i}, \sigma_{z_i})i=1,...,50i=1,...,50i=1,...,50ziziz_iiiizi∈[1,...,NDP]zi∈[1,...,NDP]z_i \in [1,...,N_{DP}]NDPNDPN_{DP}NDP=50NDP=50N_{DP}=50 扩展Dirichlet流程基础结构,每个集群ID都是来自分类随机变量的图形,其随机变量的质量函数由结构给出:带有的a浓度参数。折断构造通过首先获得依赖于 Beta分布的 iid Beta分布绘制,构造必须为1 的长向量,请参见[fn1]。并且由于我想通过数据告知我对了解,因此我遵循[fn1]并假定 0.3,100。ž 我〜Ç 一吨ë …