狄利克雷分布与狄利克雷过程
狄利克雷分布与狄利克雷过程在贝叶斯非参数模型中有广泛的应用。狄利克雷过程是一个随机过程,常作为混合模型的先验。可以理解为是狄利克雷分布的分布,狄利克雷过程每次样本的抽取都是一个分布,而其在有限维上的边缘分布是狄利克雷分布
这部分感觉理解起来是真的太抽象了,在这里记录一下,我看的一些讲解后我的理解。从Gamma函数,Gamma分布,狄利克雷分布的特例Beta分布到最后的狄利克雷分布
Gamma函数
首先是关于Gamma函数
Γ
(
x
)
=
∫
0
∞
t
x
−
1
e
−
t
d
t
\Gamma(x)=\int_{0}^{\infty}t^{x-1}e^{-t}dt
Γ(x)=∫0∞tx−1e−tdt的理解,这个函数从学概率论开始总在概率中出现,知道它是这么算,没理解过它背后的意义。Gamma函数最重要的意义在于,Gamma函数可以看成是阶乘在实数集上的延拓,具有如下性质:
Γ
(
n
)
=
(
n
−
1
)
!
\Gamma(n)=(n-1)!
Γ(n)=(n−1)!
通常我们熟悉的阶乘是关于整数的,如果要求取一个小数的阶乘,我们并不知道要怎么求解。我们能否利用一个表达式表达阶乘的函数关系。而Gamma函数就是将阶乘运算拓展到整个实数层面,可以通过该积分计算任一实数的阶乘运算,不得不说数学的魅力啊。至于说为什么是
(
n
−
1
)
!
(n-1)!
(n−1)!而不是
n
!
n!
n!,应该是为了后面由它推导的一些分布的美感。
Gamma分布
对Gamma函数做一个变形,就有
∫
0
∞
x
α
−
1
e
−
x
Γ
(
α
)
d
x
=
1
\int_{0}^{\infty}\frac{x^{\alpha-1}e^{-x}}{\Gamma(\alpha)}dx=1
∫0∞Γ(α)xα−1e−xdx=1
取积分中的函数作为Gamma分布的概率密度函数,并做个变换
x
=
β
t
x=\beta t
x=βt,就得到了更一般的形式
Γ
(
t
∣
α
,
β
)
=
β
α
t
α
−
1
e
−
β
t
Γ
(
α
)
\Gamma(t|\alpha,\beta) =\frac{\beta^{\alpha}t^{\alpha-1}e^{-\beta t}}{\Gamma(\alpha)}
Γ(t∣α,β)=Γ(α)βαtα−1e−βt
这部怎么推倒来的,将
x
=
β
t
x=\beta t
x=βt代到积分的式子里面去,就能够推出来了
Gamma分布应用很广泛,指数分布和卡方分布都是特殊的Gamma分布
Beta分布
Beta分布是一组连续概率分布,区间在[0,1]上,参数是两个正数,一般用 α \alpha α和 β \beta β表示,经常用来为随机变量的行为建模,它把随机变量的行为限制在一个有限的长度范围内。
可以将Beta分布看作是一个概率分布的分布,它可以代表不同种的概率分布,在给定参数的情况下,它代表了一个特定的概率分布。所以,Beta分布通常作为伯努利分布和二项式分布的共轭先验分布的密度函数。这里共轭的意思就是,参数的先验分布和后验分布都能保持Beta分布的形式。
B
e
t
a
(
x
∣
α
,
β
)
=
Γ
(
α
+
β
)
Γ
(
α
)
Γ
(
β
)
x
α
−
1
(
1
−
x
)
β
−
1
Beta(x|\alpha,\beta)=\frac{\Gamma(\alpha+\beta)}{\Gamma(\alpha)\Gamma(\beta)}x^{\alpha-1}(1-x)^{\beta-1}
Beta(x∣α,β)=Γ(α)Γ(β)Γ(α+β)xα−1(1−x)β−1
这就是一般意义上的Beta分布,当
α
,
β
\alpha,\beta
α,β都为1时,Beta分布表示均匀分布。
Beta分布的期望
E
(
p
)
=
α
α
+
β
E(p)=\frac{\alpha}{\alpha+\beta}
E(p)=α+βα
如果先验信息是某一事件发生的平均值是m,那么可以考虑将Beta分布的期望设定为该值,作为先验概率分布,这里可能说的不太严谨。对于Beta分布的随机变量,其均值可以用
α
α
+
β
\frac{\alpha}{\alpha+\beta}
α+βα来估计。
在贝叶斯概率理论中,如果后验概率P(θ|x)和先验概率p(θ)满足同样的分布律,那么,先验分布和后验分布被叫做共轭分布,同时,先验分布叫做似然函数的共轭先验分布。那么有
狄利克雷分布
狄利克雷分布是Beta分布在高纬度上的推广,参数是一个向量形式的
(
α
1
,
…
,
α
m
)
(\alpha_1,\dots,\alpha_m)
(α1,…,αm)
Θ
∼
D
i
r
(
α
1
,
…
,
α
m
)
P
(
θ
1
,
…
,
θ
m
)
=
Γ
(
∑
k
α
k
)
Π
k
Γ
(
α
k
)
Π
k
=
1
m
θ
k
α
k
−
1
\Theta\sim Dir(\alpha_1,\dots,\alpha_m) \\ P(\theta_1,\dots,\theta_m)=\frac{\Gamma(\sum_k{\alpha_k})}{\Pi_k\Gamma(\alpha_k)}\Pi_{k=1}^m\theta_k^{\alpha_k-1}
Θ∼Dir(α1,…,αm)P(θ1,…,θm)=ΠkΓ(αk)Γ(∑kαk)Πk=1mθkαk−1
按Beta分布的类似理解,可以理解为一个能代表多元联合分布的分布,给定参数的情况下,代表了一个特定的多元联合分布。类似于Beta分布,狄利克雷分布同样也是多元联合分布的共轭先验分布,它的期望
E
(
p
)
=
(
α
1
∑
i
=
1
k
α
i
,
α
2
∑
i
=
1
k
α
i
,
…
,
α
k
∑
i
=
1
k
α
i
)
E(p)=(\frac{\alpha_1}{\sum^k_{i=1}\alpha_i},\frac{\alpha_2}{\sum^k_{i=1}\alpha_i},\dots,\frac{\alpha_k}{\sum^k_{i=1}\alpha_i})
E(p)=(∑i=1kαiα1,∑i=1kαiα2,…,∑i=1kαiαk)
狄利克雷过程
狄利克雷过程可以看作是一个采样的样本是狄利克雷分布的过程。狄利克雷分布是关于某些参数的函数,而在狄利克雷过程中,这些参数满足一定的函数关系,也就是我们抽取的样本都是抽取了一个特定的狄利克雷分布。我们可以通过该过程,可以得到得到一个关于某些分布的分布情况。因此,在非参数贝叶斯中,假设我们的分布是无数种可能的组合,使用狄利克雷过程作为这些分布的分布情况,就可以使我们抽取这些分布的样本了。
上面的叙述依旧比较抽象,说一下自己的理解。假设我们有一组数据,一般情况下,我们都会假设这组数据是来自于参数为 θ \theta θ的分布 x i ∣ θ ∼ F ( ⋅ ∣ θ ) x_i|\theta \sim F(\cdot|\theta) xi∣θ∼F(⋅∣θ),为了估计这个分布的参数 θ \theta θ,我们一般是给定 θ \theta θ一个先验,根据贝叶斯公式写出 θ \theta θ的后延,然后利用极大似然或者极大后验方法估计结果即可。然而,事实上这些数据可能是来自于不同参数的分布,并不是所有的数据都来自于相同 θ \theta θ下的某个分布。而有多少个分布我们不知道,总体上来说可能有无数个分布存在。那么应该怎么做呢?我们可以假设这些数据来自于某些分布 F F F,而这些分布不一定相同,并且是来自于无数种可能的分布几何,因此可以给这些分布一个先验,假设这些分布来自于某一组分布,即 F ∼ F\sim F∼某些分布划分几何,然后使用上述相似的参数估计方法求解这些分布。注意,前者的处理是给参数 θ \theta θ一个先验,后者的处理是给分布函数一个先验。而分布函数的先验,即某些分布划分集合就是使用狄利克雷过程实现的。
总而言之,狄利克雷过程是对将一些分布作为一个集合,用一个函数的形式表示狄利克雷分布的参数,每一次抽样过程,就是抽样出一个不同的狄利克雷分布。
参考链接:
https://cosx.org/2013/01/lda-math-beta-dirichlet/(LDA-math)写的很清晰
https://www.datalearner.com/blog/1051459673766843