在概率论中,中国餐馆过程是一个时间离散的(discrete-time)随机过程(stochastic process),类似于中国餐馆中坐在餐桌旁的顾客。想象一个这样的情景,一家中国餐厅拥有无限数量的圆形桌子,每个桌子都有无限的容量。此时,顾客1坐在第一张桌子旁。下一个顾客要么坐在与顾客1相同的桌子旁,要么坐在下一张桌子旁。这样的情况会一直持续下去,每个顾客要么选择坐在已有其他顾客的桌子旁,要么选择一张未被占用的桌子,其中,选择已有顾客桌子的概率与该桌子已经存在的顾客数量成比例(即,与含有少量顾客的桌子相比,他们更愿意坐在含有更多顾客的桌子旁)。在时间 n n n, n n n个顾客已经被划分为 m 区 ≤ n m区 \leq n m区≤n个桌子。此过程的结果具有可交换性,这意味着顾客所就坐的顺序不会影响最终分配的可能性。该性质极大地简化了群体遗传学,语言学分析和图像识别中的许多问题。
在任何正整数时间n,该随机过程的值是由集合 { 1 , 2 , 3 , . . . , n } \{1,2,3,...,n\} {1,2,3,...,n}生成的分区 B n B_n Bn,其概率分布通过如下方式确定。在时间 n = 1 n = 1 n=1时,以概率1获得普通划分 { { 1 } } \{\{1\}\} {{1}}。在时间 n + 1 n + 1 n+1,元素 n + 1 n + 1 n+1可以是:
1. 添加到分区Bn的一个块中,其中每个块以概率 ∣ b ∣ ( n + 1 ) \frac{|b|}{(n + 1)} (n+1)∣b∣被选择,其中 ∣ b ∣ | b | ∣b∣是块的大小(即元素的数量)。
2. 作为新的块添加到分区 B n B_n Bn,概率为 1 ( n + 1 ) \frac{1}{(n + 1)} (n+1)1。
如此生成的随机分区具有一些特殊性质。它是可交换的,即重新改变 { 1 , . . . , n } \{1,...,n\} {1,...,n}的顺序不会改变 B n Bn Bn中分区的分布,而且在通过从 { 1 , . . . , n } \{1,...,n\} {1,...,n}中删除元素 n n n而获得的 n − 1 n - 1 n−1分区定律的意义上它是一致的。时刻 n n n的随机分区与时刻 n − 1 n-1 n−1的随机分区的规律相同。
分配给任何特定分区的概率(忽略顾客坐在某张桌子周围的顺序)是(从 n = 1 n=1 n=1开始增长进行理解)
P r ( B n = B ) = ∏ b ∈ B ( ∣ b ∣ − 1 ) ! n ! Pr(B_n=B)=\frac{\prod_{b\in B}(|b|-1)!}{n!} Pr(Bn=B)=n!∏b∈B(∣b∣−1)!
其中 b b b是分区 B B B的一个块, ∣ b ∣ | b | ∣b∣是该块的大小(即元素的数量)。
这种结构可以推广到具有两个参数的模型, α \alpha α和 θ \theta θ,分别称为折扣和强度(或浓度)参数。 在时间 n + 1 n + 1 n+1,下一个到达的顾客发现 ∣ B ∣ |B| ∣B∣ 中的桌子都被占用了,并决定按以下概率坐到一个空桌子旁(这里的 θ \theta θ为狄利克雷过程中的 α \alpha α)
θ + ∣ B ∣ α n + θ , \frac{\theta+|B|\alpha}{n+\theta}, n+θθ+∣B∣α,
或者按以下概率做到人数为 ∣ b ∣ |b| ∣b∣的桌子b旁
∣ b ∣ − α n + θ . \frac{|b|-\alpha}{n+\theta}. n+θ∣b∣−α.
为了使结构能够有效的用于概率计算,有必要假设 α < 0 \alpha<0 α<0和 θ = − L α \theta= - L\alpha θ=−Lα, L ∈ { 1 , 2 , . . . } L\in \{1,2,...\} L∈{1,2,...};或者假设 0 ≤ α < 1 0\leq\alpha<1 0≤α<1且 θ > − α \theta>-\alpha θ>−α。
在该模型下,根据Pochhammer k符号,分配给任何特定 n n n所对应分区B的概率是
P r ( B n = B ) = ( θ + α ) ∣ B ∣ − 1 , α ( θ + 1 ) n − 1 , 1 ∏ b ∈ B ( 1 − α ) ∣ b ∣ − 1 , 1 Pr(B_n=B)=\frac{(\theta+\alpha)_{|B|-1,\alpha}}{(\theta+1)_{n-1,1}} \prod_{b\in B}(1-\alpha)_{|b|-1,1} Pr(Bn=B)=(θ+1)n−1,1(θ+α)∣B∣−1,αb∈B∏(1−α)∣b∣−1,1
在上面公式中,按照惯例, ( a ) 0 , c = 1 (a)_{0,c}=1 (a)0,c=1,并且对于 b > 0 b>0 b>0,有
( a ) b , c = ∏ i = 0 b − 1 ( a + i c ) = { a b if c=0 c b Γ ( a / c + b ) Γ ( a / c ) otherwise (a)_{b,c}=\prod_{i=0}^{b-1}(a+ic)=\begin{cases} a^b& \text{if c=0}\\ \frac{c^b\Gamma(a/c+b)}{\Gamma(a/c)}& \text{otherwise} \end{cases} (a)b,c=i=0∏b−1(a+ic)={abΓ(a/c)cbΓ(a/c+b)if c=0otherwise
因此,对于 θ > 0 \theta> 0 θ>0的情况,分区概率可以用Gamma函数表示为
P r ( B n = B ) = Γ ( θ ) Γ ( θ + n ) α ∣ B ∣ Γ ( θ / α + ∣ B ∣ ) Γ ( θ / α ) ∏ b ∈ B Γ ( ∣ b ∣ − α ) Γ ( 1 − α ) . Pr(B_n=B)=\frac{\Gamma(\theta)}{\Gamma(\theta+n)} \frac{\alpha^{|B|}\Gamma(\theta/\alpha+|B|)}{\Gamma(\theta/\alpha)} \prod_{b\in B}\frac{\Gamma(|b|-\alpha)}{\Gamma(1-\alpha)}. Pr(Bn=B)=Γ(θ+n)Γ(θ)Γ(θ/α)α∣B∣Γ(θ/α+∣B∣)b∈B∏Γ(1−α)Γ(∣b∣−α).
在只包含一个参数的情况,即 α = 0 \alpha=0 α=0,上式可简化为
P r ( B n = B ) = Γ ( θ ) θ ∣ B ∣ Γ ( θ + n ) ∏ b ∈ B Γ ( ∣ b ∣ ) . Pr(B_n=B)=\frac{\Gamma(\theta)\theta^{|B|}}{\Gamma(\theta+n)} \prod_{b\in B}\Gamma(|b|). Pr(Bn=B)=Γ(θ+n)Γ(θ)θ∣B∣b∈B∏Γ(∣b∣).
或者在 θ = 0 \theta=0 θ=0时,
P r ( B n = B ) = α ∣ B ∣ − 1 Γ ( ∣ B ∣ ) Γ ( n ) ∏ b ∈ B Γ ( ∣ b ∣ − α ) Γ ( 1 − α ) . Pr(B_n=B)=\frac{\alpha^{|B|-1}\Gamma(|B|)}{\Gamma(n)} \prod_{b\in B}\frac{\Gamma(|b|-\alpha)}{\Gamma(1-\alpha)}. Pr(Bn=B)=Γ(n)α∣B∣−1Γ(∣B∣)b∈B∏Γ(1−α)Γ(∣b∣−α).
如前所述,分配给任何特定分区的概率仅取决于块大小,因此如前所述,随机分区具有可交换性。一致性也仍然存在。
如果 α = 0 \alpha=0 α=0,则由此产生的整数n的随机分区的概率分布是具有参数θ的Ewens分布,被用于群体遗传学和生物多样性的统一中性理论。
接下来介绍一种推导此分区概率的方法。 令 C i C_i Ci为添加数字 i i i的随机块,对于 i = 1 , 2 , 3 , . . . . i = 1,2,3,.... i=1,2,3,....,有
P r ( C i = c ∣ C 1 , . . . , C i − 1 ) = { θ + ∣ B ∣ α θ + i − 1 if c ∈ new block, ∣ b ∣ − α θ + i − 1 if c ∈ b; Pr(C_i=c|C_1,...,C_{i-1})=\begin{cases} \frac{\theta+|B|\alpha}{\theta+i-1}& \text{if c} \in \text{new block,} \\ \frac{|b|-\alpha}{\theta+i-1}& \text{if c} \in \text{b;} \end{cases} Pr(Ci=c∣C1,...,Ci−1)={θ+i−1θ+∣B∣αθ+i−1∣b∣−αif c∈new block,if c∈b;
当 i i i从 1 1 1到 n n n时,由集合 { 1 , . . . , n } \{1,...,n\} {1,...,n}所产生的分区 B n B_n Bn的概率是上式概率的乘积。现在考虑块b的大小:每次我们添加一个元素时它会增加1。 当要将最后一个元素添加到块b中时,块大小为 ( ∣ b ∣ − 1 ) (| b | - 1) (∣b∣−1)。 例如,考虑如下的选择序列:(生成新块b)(加入块b)(加入块b)(加入块b)。 最后,块b有4个元素,上式中分子的乘积得到 θ ⋅ 1 ⋅ 2 ⋅ 3 θ·1·2·3 θ⋅1⋅2⋅3。按照这个逻辑,我们得到如上所述的 P r ( B n = B ) Pr(Bn = B) Pr(Bn=B)。
对于一个参数情况,在 α = 0 \alpha= 0 α=0和 0 < θ < ∞ 0 <\theta <\infty 0<θ<∞的情况下,假设有 n n n个顾客,预期的桌子数是
∑ k = 1 n θ θ + k − 1 = θ ( Ψ ( θ + n ) − Ψ ( θ ) ) \sum_{k=1}^{n}\frac{\theta}{\theta+k-1}=\theta(\Psi(\theta+n)-\Psi(\theta)) k=1∑nθ+k−1θ=θ(Ψ(θ+n)−Ψ(θ))
其中 Ψ ( θ ) \Psi(\theta) Ψ(θ)是伽玛函数(digamma function)。
在通常情况 ( α > 0 ) (\alpha> 0) (α>0),预期的桌子数是
Γ ( θ + n + α ) Γ ( θ + 1 ) α Γ ( θ + n ) Γ ( θ + α ) − θ α . \frac{\Gamma(\theta+n+\alpha)\Gamma(\theta+1)}{\alpha\Gamma(\theta+n)\Gamma(\theta+\alpha)}-\frac{\theta}{\alpha}. αΓ(θ+n)Γ(θ+α)Γ(θ+n+α)Γ(θ+1)−αθ.
可以调整模型使得每个数据点 i i i不再唯一地与类相关联(即,我们不再构造分区),而是可以与类的任何组合相关联。 这加强了餐桌的类比,因此这可以被比作一个过程,其中一系列顾客从自助餐提供的无限选择的菜肴的一些子集中采样。 到目前为止,用餐者对菜肴进行采样的概率与菜肴在用餐者中的普及程度成正比,此外,用餐者可以从未经测试的菜肴中采样。 这已被命名为印度自助餐过程,可用于推断数据中的潜在特征。
中国餐馆的过程与狄利克雷过程(Dirichlet processes)和Pólya’s urn scheme密切相关,因此可用于贝叶斯统计的应用,包括非参数贝叶斯方法。 广义中餐馆过程与Pitman–Yor process密切相关。 这些过程已被用于许多应用,包括建模文本,聚类生物微阵列数据,生物多样性建模和图像重建。
原文:https://en.wikipedia.org/wiki/Chinese_restaurant_process
代码:https://github.com/makeplanetoheaven/blogArticle/tree/master/RandomProcess