基于狄利克雷分布的有限混合模型柏拉图区块链数据智能。垂直搜索。人工智能。

基于Dirichlet分布的有限混合模型

这篇博客文章是有关Dirichlet Process混合模型的文章系列的第二部分。 在上一篇文章中,我们有一个 几种聚类分析技术概述 我们讨论了使用它们会引起的一些问题/局限性。 此外,我们简要介绍了Dirichlet过程混合模型,讨论了为何有用,并介绍了一些应用。

更新:Datumbox机器学习框架现在是开源的,免费提供给 下载。 检出com.datumbox.framework.machinelearning.clustering软件包,以了解Java中Dirichlet Process Mixture模型的实现。

最初,Dirichlet过程混合模型可能有点难以理解,主要是因为它们是具有许多不同表示形式的无限混合模型。 幸运的是,一种很好的方法来解决这个问题是从具有Dirichlet分布的有限混合模型开始,然后发展到无限模型。

因此,在本文中,我将简要介绍一些我们需要的重要分布,我们将使用它们来构建具有多项式似然模型的Dirichlet先验模型,然后将基于Dirichlet分布迁移到有限混合模型。

1. Beta发行

Beta分布 是在[0,1]的间隔中定义的一系列连续分布。 它由两个正参数a和b参数化,其形式在很大程度上取决于这两个参数的选择。

图片

图1:不同a,b参数的Beta分布

Beta分布通常用于对概率分布进行建模,并具有以下概率密度:

图片

公式1:Beta版PDF

其中Γ(x)是伽马函数,而a,b是分布的参数。 Beta通常用作概率值的分布,并为我们提供了建模的概率等于特定值P = p0的可能性。 根据其定义,Beta分布能够对采用真值或假值的二元结果的概率进行建模。 参数a和b可以分别视为成功和失败的伪计数。 因此,贝塔分布模拟成功和失败的成功概率。

2. Dirichlet分布

Dirichlet分布 是针对多个结果的Beta分布的概括(或换句话说,它用于具有多个结果的事件)。 它用k个参数a进行了参数化i 这一定是积极的。 当变量数k = 2时,狄利克雷分布等于Beta分布。

图片

图2:各种a的Dirichlet分布i 参数

Dirichlet分布通常用于对概率分布进行建模,并具有以下概率密度:

图片

公式2:Dirichlet PDF

其中Γ(x)是伽马函数,pi 取[0,1]和Σp中的值i= 1。 Dirichlet分布模拟p的联合分布i 并给出P的可能性1=p1,P2=p2,…。,PK-1=pK-1 与Pk= 1 –ΣPi。 与Beta版本一样,i 可以将参数视为每个i事件的出现的伪计数。 Dirichlet分布用于对k个竞争事件发生的概率进行建模,通常表示为Dirichlet(a)。

3.具有多项式似然的Dirichlet先验

如前所述,狄利克雷分布可以看作是概率分布的分布。 在我们要对k个事件发生的概率进行建模的情况下,将使用贝叶斯方法 多项式似然和Dirichlet先验 .

在下面我们可以看到这种模型的图形模型。

图片

图3:具有多项式似然的Dirichlet先验的图形模型

在上面的图形模型中,α是具有Dirichlet先验超参数的ak维向量,p是具有概率值和x的ak维向量i 是从1到k的标量值,它告诉我们发生了哪个事件。 最后我们应该注意,P遵循用向量α设置的Dirichlet分布,因此P〜Dirichlet(α),而xi 变量遵循用概率p向量进行参数化的离散分布(多项式)。 在文档分类中可以使用类似的层次模型来表示不同主题中关键字频率的分布。

4.具有狄利克雷分布的有限混合模型

通过使用Dirichlet分布,我们可以构建一个 有限混合模型 可以用来执行聚类。 假设我们有以下模型:

图片

图片

图片

图片

公式3:具有Dirichlet分布的有限混合模型

上面的模型假定以下条件:我们有一个带有n个观测值的数据集X,我们想对其进行聚类分析。 k是一个常数,它表示将要使用的簇/组件的数量。 ci 变量存储观察值X的聚类分配i,它们取值从1到k,并遵循带有参数p的离散分布,即参数的混合概率。 F是X的生成分布,并使用参数进行参数化 图片 这取决于每个观察值的聚类分配。 总共有k个唯一 图片 参数等于集群的数量。 的 图片 变量存储参数化生成的F分布的参数,我们假定它遵循基数G0 分配。 p变量存储k个簇中每个簇的混合百分比,并遵循带有参数α/ k的Dirichlet。 最后,α是具有Dirichlet分布[2]的超参数(伪计数)的ak维向量。

图片

图4:具有Dirichlet分布的有限混合模型的图形模型

下面是一种更简单,数学计算较少的方法来解释模型。 我们假设我们的数据可以分组为k个簇。 每个集群都有自己的参数 图片 这些参数用于生成我们的数据。 参数 图片 假设遵循某些分布G0。 每个观察都用向量x表示i 和交流i 指示其所属集群的值。 因此,ci 可以看作是遵循离散分布的变量,其参数p只是混合概率,即每个群集出现的概率。 假设我们以贝叶斯方式处理问题,我们就不会将参数p视为常数未知向量。 取而代之的是,我们假设P遵循Dirichlet,该Dirichlet由超参数α/ k参数化。

5.使用无限的k个群集

先前的混合模型使我们能够执行无监督学习,遵循贝叶斯方法,并且可以扩展为具有层次结构。 但是,这是一个有限模型,因为它使用了恒定的预定义k个簇。 结果,它要求我们在执行聚类分析之前定义组件的数量,并且正如我们之前在大多数应用程序中所讨论的那样,这是未知的,并且不容易估算。

解决此问题的一种方法是,假设k的值非常大,并且趋于无穷大。 换句话说,我们可以想象当k趋于无穷大时该模型的极限。 如果是这种情况,那么我们可以看到,尽管簇的数量k是无限的,但活动的簇的实际数量(至少有一个观测值的簇)不能大于n(即我们的数据集中的观测总数)。 实际上,正如我们稍后将看到的,活动集群的数量将显着少于n,并且它们与 图片.

当然,将k限制为无穷大是不平凡的。 出现了一些问题,例如是否可以采用这种限制,该模型的外观如何以及 我们如何构造 并使用这样的模型。

在下一篇文章中,我们将重点关注这些问题:我们将定义Dirichlet流程,将介绍DP的各种表示形式,最后,我们将重点介绍中餐厅流程,这是一种构造Dirichlet流程的直观而有效的方法。

我希望您发现这篇文章有用。 如果您这样做了,请花一点时间在Facebook和Twitter上分享该文章。 🙂

时间戳记:

更多来自 基准框