狄利克雷过程翻译及代码实现

版权声明:如需转载,请注明出处 https://blog.csdn.net/qq_28385535/article/details/82529998

  在概率论中,狄利克雷过程(在Peter Gustav Lejeune Dirichlet之后)是以概率分布作为其实现的随机过程。 换句话说,狄利克雷过程是概率分布的集合。 它经常用于贝叶斯推理中用来描述关于随机变量分布的先验知识——随机变量有多大可能服从一个或某个特定的概率分布。
  狄利克雷过程由基本分布 H 和正实数 α 指定,其中 α 称为浓度参数(也称为缩放参数)。 基本分布 H 是该过程的期望值,即,狄利克雷过程以正常分布围绕其均值绘制实数的方式在“基本分布”周围绘制分布。 然而,即使基本分布 H 是连续的,从狄利克雷过程中得出的分布几乎肯定是离散的。 缩放参数 α 表示此离散化的强度:在 α 0 的限制中,实现都集中在单个值,而在 α 的限制中,实现变得持续。 在两个极端之间,随着 α 的增加,实现是离散分布,并且其浓度越来越低。
  狄利克雷过程也可以看作狄利克雷分布的无限维推广。 与狄利克雷分布相同的方式是分类分布( categorical distribution)的共轭先验,狄利克雷过程是无限非参数离散分布的共轭先验。 狄利克雷过程的一个特别重要的应用是作为无限混合模型(infinite mixture models)中的先验概率分布。
  狄利克雷过程由Thomas Ferguson于1973年正式引入,并已应用于数据挖掘和机器学习,其中包括自然语言处理,计算机视觉和生物信息学。

1.介绍

  狄利克雷过程通常在数据建模时使用。
  一种数据模型是,这些数据倾向于以所谓的“富者愈富”(类似于中餐馆过程)的方式生成。 具体来说,假设可以通过以下算法模拟值 X 1 , X 2 , 的生成:
  输入: H (被称作基本分布的概率分布), α (被称作缩放参数的正实数)。
  1. 由概率分布 H 得到随机变量 X 1
  2.对于 n > 1
    a)以概率 α α + n 1 得到分布 H 的随机变量 X n
    b)以概率 n x α + n 1 X n = x ,其中 n x x 之前变量的数目(或第x张桌子上顾客额数目)。
    (形式上, X n := | j : X j = x   a n d   j < n | ,其中, | | 表示集合中元素数目。)
  另一个常见的数据模型是,根据某种分布 P ,变量 X 1 , X 2 , 被认为是独立且相同分布(i.i.d)。引入狄利克雷过程的目的是希望能够描述上述i.i.d模型中所述的过程。
  变量 X 1 , X 2 , 并不是独立的,因为我们必须在生成下一个值时考虑先前的结果。 但是,它们是可交换的( exchangeable)。 这个事实可以通过计算变量的联合概率分布来显示,并注意到所得到的公式仅取决于变量值中出现的 x 值以及它们各自具有多少重复。 由于这种可交换性,de Finetti的表示定理适用,它表明在给定(潜在)分布 P 的情况下,变量 X 1 , X 2 , 是有条件独立的。这个 P 本身是一个随机变量并具有分布。 此分布(在分布上)称为狄利克雷过程( D P )。
  总之,这意味着我们得到了与上述算法相同的过程:
  1.从 D P ( H , α ) 中得到分布 P
  2.从 P 中得到独立变量 X 1 , X 2 ,
  然而,在实践中,绘制具体分布 P 是不可能的,因为其规范需要无限量的信息。 这是贝叶斯非参数统计情况下的常见现象,其中典型的任务是学习函数空间上的分布,其实际上涉及无限多个参数。 关键的见解是,在许多应用中,无限维分布仅作为中间计算设备出现,并且对于先验信念的初始规范或最终推断的陈述不是必需的。

2.形式定义

  给定可测量的集合 S ,基本概率分布 H 和正实数 α 狄利克雷过程 D P ( H , α ) 是一个随机过程,其样本路径(或实现,即从过程中得出的无限随机变量序列)是 S 中数据的概率分布,使得以下成立。 对于 S 的任何可测量的有限分区,表示为 { B i } i = 1 n
  如果 X D P ( H , α )
  那么 ( X ( B 1 ) , , X ( B n ) ) D i r ( α H ( B 1 ) , , α H ( B n ) )
其中, D i r 表示狄利克雷分布, X D 表示随机变量 X 服从分布 D

3.其他定义

  除了上面的形式定义之外,还有若干种与狄利克雷过程过程相似的定义。 狄利克雷过程可以通过de Finetti定理隐含地定义,如第一节所述; 这通常被称为中餐馆过程。 第三种选择是破棒过程,它通过将从过程中采样的分布写为 f ( x ) = k = 1 β k δ x k ( x ) 来建设性地定义狄利克雷过程,其中 { x k } k = 1 是服从分布 H 的样本, δ x k 是一个以 x k 为中心指示函数(除了 δ x k ( x ) = 1 其余都为零), β k 由递归方案定义,该方案从beta分布 B e t a ( 1 , α ) 重复采样。

4.狄利克雷混合模型使用

  为了理解狄利克雷过程是什么以及它们解决的问题,我们考虑数据聚类的例子。 通常情况是假设数据点以分层方式分布,其中每个数据点属于(随机选择的)类簇,并且类簇的成员在该类簇内进一步随机分布。

4.1 例1

  例如,我们可能会对人们将如何在即将举行的选举中对一些问题进行投票感兴趣。这种情况的合理模型可能是将每个选民分类为自由派,保守派或温和派,然后将选民对任何特定问题说“是”的事件建模为伯努利随机变量,其概率取决于他们属于哪一个政治类簇。通过观察前几年对类似立法的投票方式,可以使用简单的聚类算法(如k-means)拟合预测模型。但是,该算法需要预先知道生成数据的簇的数量。在许多情况下,不可能提前确定这一点,即使我们可以合理地假设一些类簇,我们仍然希望能够检查这个假设。例如,在上面的投票例子中,自由主义,保守主义和温和派的划分可能不够精细;诸如宗教,阶级或种族之类的属性对于对选民行为进行建模也是至关重要的,从而在模型中产生更多的聚类。
  

4.1 例2

  作为另一个例子,我们可能有兴趣使用一个简单的模型来模拟星系的速度,假设速度是聚类的,例如假设每个速度根据正态分布分布 v i N ( μ k , σ 2 ) ,其中 i th变量属于具有共同预期速度的第k个星系团。 在这种情况下,如何确定应该有多少类簇(常见速度)并且对此的任何模型都是高度可疑的并且应该根据数据进行检查,这是显而易见的。 通过在聚类分布之前使用狄利克雷过程,我们避免了提前明确指定需要多少类簇,尽管浓度参数仍然隐含地控制它。

5.中餐馆过程

  详细:https://blog.csdn.net/qq_28385535/article/details/82287836
  狄利克雷过程的一个广泛使用的是基于所谓的中国餐馆过程。其内容如下:
  想象一下顾客进入的中餐馆。一位新顾客坐在一张桌子旁,其概率与已经坐在那里的顾客数量成正比。 此外,顾客做到一张新桌子的概率与浓度参数 α 成比例。在无限多的顾客进入之后,人们在无限多的桌子中以概率分布进行选择。选择桌子的概率分布是具有浓度参数 α 的狄利克雷过程绘制的变量概率的随机样本。
  如果一个关联者从每张桌子中抽取基本分布 H ,则样本空间 S 上的结果分布是狄利克雷过程的随机样本。中餐馆过程与Pólya骨灰盒采样方案有关,该方案从有限狄利克雷分布中得到样本。
  由于顾客坐在桌子上的概率与已经坐在桌子上的顾客数量成比例,因此可以推导出DP的两个属性
  1.狄利克雷过程表现出自我增强的特性:过去采用给定值的次数越多,再次采样的可能性就越大。
  2.即使 H 是不可数集合上的分布,但是两个样本具有完全相同值的非零概率,因为概率质量将集中在少量桌子上。

原文:https://en.wikipedia.org/wiki/Dirichlet_process

猜你喜欢

转载自blog.csdn.net/qq_28385535/article/details/82529998