浅谈狄利克雷分布——Dirichlet Distribution
浅谈狄利克雷分布的概念与简单使用。
浅谈狄利克雷分布的概念与简单使用。
文章目录
定义
首先介绍基本定义。
二项分布(Binomial Distribution)
进行
n
n
n次独立随机试验,出现结果1的概率是
p
p
p,如果用随机变量
X
X
X表示结果
1
1
1出现的次数,那么:
P
(
X
=
m
)
=
(
n
m
)
p
m
(
1
−
p
)
n
−
m
,
m
=
0
,
1
,
2
,
…
,
n
P(X=m) = \begin{pmatrix} n \\ m \end{pmatrix}p^{m}(1-p)^{n-m},\quad m = 0,1,2,\dots,n
P(X=m)=(nm)pm(1−p)n−m,m=0,1,2,…,n 如果
n
=
1
n=1
n=1,那么二项分布等同于伯努利分布(Bernoulli Distribution)。
多项分布(Multinomial Distribution)
下面我们将二项拓展到多项。进行
n
n
n次独立随机试验,每次实验结果有
k
k
k种,其中第
i
i
i种出现的概率为
p
i
p_{i}
pi,第
i
i
i种出现的次数为
n
i
n_{i}
ni,如果用随机变量
X
=
{
X
1
,
X
2
,
…
,
X
k
}
X = \{X_{1},X_{2},\dots,X_{k}\}
X={X1,X2,…,Xk}表示试验所有可能结果的次数,那么:
P
(
X
1
=
n
1
,
X
2
=
n
2
,
…
,
X
k
=
n
k
)
=
n
!
n
1
!
n
2
!
⋯
n
k
!
p
1
n
1
p
2
n
2
⋯
p
3
n
3
=
n
!
∏
i
=
1
k
n
i
!
∏
i
=
1
k
p
i
n
i
\begin{aligned} P(X_{1}=n_{1},X_{2}=n_{2},\dots,X_{k}=n_{k}) &= \frac{n!}{n_{1}!n_{2}!\cdots n_{k}!}p_{1}^{n_{1}}p_{2}^{n_{2}}\cdots p_{3}^{n_{3}} \\ &=\frac{n!}{\prod_{i=1}^{k}n_{i}!}\prod_{i=1}^{k}p_{i}^{n_{i}} \end{aligned}
P(X1=n1,X2=n2,…,Xk=nk)=n1!n2!⋯nk!n!p1n1p2n2⋯p3n3=∏i=1kni!n!i=1∏kpini 记作
X
∼
M
u
l
t
(
n
,
p
)
X\sim\mathrm{Mult}(n,p)
X∼Mult(n,p)。
如果
n
=
1
n=1
n=1,那么多项分布等同于类别分布(Categorical Distribution)。可以看出,二项分布是多项分布的特殊情况,而伯努利分布式类别分布的特殊情况。
贝塔分布(Beta Distribution)
以上均是离散随机变量的概率分布,下面考虑连续随机变量的情况。此时我们需要研究概率密度。设
X
X
X为连续随机变量,取值范围为
[
0
,
1
]
[0,1]
[0,1],其概率密度函数为:
p
(
x
)
=
{
1
B
(
s
,
t
)
x
s
−
1
(
1
−
x
)
t
−
1
,
0
≤
x
≤
1
0
,
otherwise
p(x) = \left\{ \begin{aligned} &\frac{1}{B(s,t)}x^{s-1}(1-x)^{t-1}, \quad & 0\leq x\leq 1 \\ &0, & \text{otherwise} \end{aligned} \right.
p(x)=⎩⎪⎨⎪⎧B(s,t)1xs−1(1−x)t−1,0,0≤x≤1otherwise 其中
s
>
0
,
t
>
0
s>0, t>0
s>0,t>0是参数。贝塔分布表示为
X
∼
B
e
t
a
(
s
,
t
)
X\sim\mathrm{Beta}(s,t)
X∼Beta(s,t),概率密度取值如下图所示。
贝塔分布是均匀分布的更一般形式。
B
(
⋅
)
B(\cdot)
B(⋅) 是贝塔函数
B
(
s
,
t
)
=
∫
0
1
x
s
−
1
(
1
−
x
)
t
−
1
d
x
=
Γ
(
s
)
Γ
(
t
)
Γ
(
s
+
t
)
,
Γ
(
s
)
≜
∫
0
∞
x
s
−
1
e
−
x
d
x
,
s
>
0
B(s,t) = \int_{0}^{1}x^{s-1}(1-x)^{t-1}\mathrm{d}x = \frac{\Gamma(s)\Gamma(t)}{\Gamma(s+t)}, \quad \Gamma(s) \triangleq\int_{0}^{\infty}x^{s-1}e^{-x}\mathrm{d}x, s>0
B(s,t)=∫01xs−1(1−x)t−1dx=Γ(s+t)Γ(s)Γ(t),Γ(s)≜∫0∞xs−1e−xdx,s>0
Γ
(
⋅
)
\Gamma(\cdot)
Γ(⋅) 是伽马函数。伽马函数具有性质:
Γ
(
s
+
1
)
=
s
Γ
(
s
)
\Gamma(s+1) = s\Gamma(s)
Γ(s+1)=sΓ(s),且当
s
s
s是自然数时有:
Γ
(
s
+
1
)
=
s
!
\Gamma(s+1) = s!
Γ(s+1)=s!。此时可以看出,当
s
,
t
s,t
s,t是自然数时
B
(
s
,
t
)
=
(
s
−
1
)
!
(
t
−
1
)
!
(
s
+
t
−
1
)
!
B(s,t) = \frac{(s-1)!(t-1)!}{(s+t-1)!}
B(s,t)=(s+t−1)!(s−1)!(t−1)! 贝塔函数取值分布 如下图所示。
狄利克雷分布(Dirichlet Distribution)
下面我们再扩展到多元连续随机变量。狄利克雷分布是贝塔分布的扩展。定义多元连续随机变量
θ
=
{
θ
1
,
θ
2
,
…
,
θ
k
}
\theta = \{\theta_{1},\theta_{2},\dots,\theta_{k}\}
θ={θ1,θ2,…,θk}的概率密度函数为
p
(
θ
∣
α
)
=
Γ
(
∑
i
=
1
k
α
i
)
∏
i
=
1
k
Γ
(
α
i
)
∏
i
=
1
k
θ
i
α
i
−
1
,
α
i
>
0
,
i
=
1
,
2
,
…
,
k
p(\theta|\alpha) = \frac{\Gamma\left( \sum_{i=1}^{k}\alpha_{i} \right)}{\prod_{i=1}^{k}\Gamma(\alpha_{i})}\prod_{i=1}^{k}\theta_{i}^{\alpha_{i}-1},\quad \alpha_{i}>0,\quad i = 1,2,\dots,k
p(θ∣α)=∏i=1kΓ(αi)Γ(∑i=1kαi)i=1∏kθiαi−1,αi>0,i=1,2,…,k 其中
∑
i
=
1
k
θ
i
=
1
,
θ
i
≥
0
\sum_{i=1}^{k}\theta_{i} = 1, \theta_{i}\geq 0
∑i=1kθi=1,θi≥0,则称随机变量
θ
\theta
θ 服从参数为
α
\alpha
α 的狄利克雷分布,记作
θ
∼
D
i
r
(
α
)
\theta\sim\mathrm{Dir}(\alpha)
θ∼Dir(α)。
方便起见,我们定义
B
(
α
)
≜
∏
i
=
1
k
Γ
(
α
i
)
Γ
(
∑
i
=
1
k
α
i
)
B(\alpha) \triangleq \frac{\prod_{i=1}^{k}\Gamma(\alpha_{i})}{\Gamma\left( \sum_{i=1}^{k}\alpha_{i} \right)}
B(α)≜Γ(∑i=1kαi)∏i=1kΓ(αi) 那么狄利克雷分布的概率密度函数可以表示为
p
(
θ
∣
α
)
=
1
B
(
α
)
∏
i
=
1
k
θ
i
α
i
−
1
p(\theta|\alpha) = \frac{1}{B(\alpha)}\prod_{i=1}^{k}\theta_{i}^{\alpha_{i}-1}
p(θ∣α)=B(α)1i=1∏kθiαi−1
B
(
α
)
B(\alpha)
B(α) 又称多元贝塔函数或扩展贝塔函数,其积分表示为
B
(
α
)
=
∫
∏
i
=
1
k
θ
i
α
i
−
1
d
θ
B(\alpha) = \int\prod_{i=1}^{k}\theta_{i}^{\alpha_{i} - 1}\mathrm{d}\theta
B(α)=∫i=1∏kθiαi−1dθ
共轭先验(Conjugate Prior)
共轭分布常在贝叶斯学习中使用,共轭分布的好处是便于从先验分布计算后验分布。如果后验分布与先验分布属于同类,则先验分布于后验分布成为共轭分布,先验分布成为共轭先验。狄利克雷分布属于指数分布族,常作为多项分布的共轭先验分布使用。作为共轭先验的狄利克雷分布的参数被成为超参数。
假设随机变量 X X X服从集合 W = { w 1 , w 2 , … , w k } W=\{w_{1},w_{2},\dots,w_{k}\} W={w1,w2,…,wk}上的多项分布,即 X ∼ M u l t ( n , θ ) X\sim \mathrm{Mult}(n,\theta) X∼Mult(n,θ)。将样本数据表示为 D D D,目标是计算在样本数据 D D D给定的条件下参数 θ \theta θ的后验概率 p ( θ ∣ D ) p(\theta|D) p(θ∣D)。此时对于给定样本 D D D的似然函数是 p ( D ∣ θ ) = θ 1 n 1 θ 2 n 2 ⋯ θ k n k = ∏ i = 1 k θ i n i p(D|\theta) = \theta_{1}^{n_{1}}\theta_{2}^{n_{2}}\cdots \theta_{k}^{n_{k}} = \prod_{i=1}^{k}\theta_{i}^{n_{i}} p(D∣θ)=θ1n1θ2n2⋯θknk=i=1∏kθini 我们假设随机变量 θ \theta θ 服从狄利克雷分布 p ( θ ∣ α ) p(\theta|\alpha) p(θ∣α),即 θ ∼ D i r ( α ) \theta\sim\mathrm{Dir}(\alpha) θ∼Dir(α)。此时随机变量 θ \theta θ 的先验分布为 p ( θ ∣ α ) = 1 B ( α ) ∏ i = 1 k θ i α i − 1 , α i > 0 p(\theta|\alpha) = \frac{1}{B(\alpha)}\prod_{i=1}^{k}\theta_{i}^{\alpha_{i}-1} ,\quad \alpha_{i} > 0 p(θ∣α)=B(α)1i=1∏kθiαi−1,αi>0 根据贝叶斯公式,给定样本数据 D D D的条件下, θ \theta θ的后验分布是 p ( θ ∣ D , α ) = p ( D ∣ θ ) p ( θ ∣ α ) p ( D ∣ α ) = ∏ i = 1 k θ i n i 1 B ( α ) θ i α i − 1 ∫ ∏ i = 1 k θ i n i 1 B ( α ) θ i α i − 1 d θ = 1 B ( α + n ) ∏ i = 1 k θ i α i + n i − 1 = D i r ( θ ∣ α + n ) \begin{aligned} p(\theta|D,\alpha) &= \frac{p(D|\theta)p(\theta|\alpha)}{p(D|\alpha)} \\ &=\frac{\prod_{i=1}^{k}\theta_{i}^{n_{i}}\frac{1}{B(\alpha)}\theta_{i}^{\alpha_{i}-1}}{\int\prod_{i=1}^{k}\theta_{i}^{n_{i}}\frac{1}{B(\alpha)}\theta_{i}^{\alpha_{i}-1} \mathrm{d}\theta} \\ &=\frac{1}{B(\alpha+n)}\prod_{i=1}^{k}\theta_{i}^{\alpha_{i}+n_{i}-1} \\ &=\mathrm{Dir}(\theta|\alpha+n) \end{aligned} p(θ∣D,α)=p(D∣α)p(D∣θ)p(θ∣α)=∫∏i=1kθiniB(α)1θiαi−1dθ∏i=1kθiniB(α)1θiαi−1=B(α+n)1i=1∏kθiαi+ni−1=Dir(θ∣α+n) 此时 θ \theta θ的后验分布也是狄利克雷分布,所以狄利克雷分布是多项分布的共轭先验。同时,贝塔分布也是二项分布的共轭先验。
狄利克雷过程(Dirichlet Process)
未完待续……
- 感谢 李航——《统计学习方法》第2版
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)