第一部分:贝叶斯网基础
1.1 信息论基础
1.2 贝叶斯网基本概念
1.3 变量独立性的图论分析
第二部分:贝叶斯网推理
2.1 概率推理中的变量消元方法
2.2 团树传播算法
2.3 近似推理
2.3.1 蒙特卡洛方法
2.3.1.1 重要性抽样法
2.3.1.2 马尔可夫蒙特卡洛抽样法(MCMC)
2.3.2 变分推理
第三部分:贝叶斯网参数学习
上一部分我们介绍了贝叶斯网推理方法,包括精确推理方法和近似推理方法。从本部分开始,将介绍贝叶斯网学习方法,包括本部分将介绍的参数学习方法,和下一部分将介绍的结构学习方法。
3.1 理论基础-分布的分布
贝叶斯估计是贝叶斯网参数学习的重要方法,其理论基础是Beta分布和Dirichlet分布,它们是描述分布的分布。本节将对这两个分布的来源和性质作详细介绍。
3.1.1 泛化阶乘:Gamma函数
在Beta分布和Dirichlet分布中都出现了Gamma函数,这里首先对Gamma函数进行介绍。
3.1.1.1 Gamma函数的定义和性质
首先给出Gamma函数的定义:
Γ
(
z
)
=
∫
0
∞
x
z
−
1
e
−
x
d
x
(1)
\Gamma(z)=\int_0^\infty x^{z-1}e^{-x}dx\tag{1}
Γ(z)=∫0∞xz−1e−xdx(1)
我们通过分部积分法,可以推导出该函数具有如下的递归性质:
Γ
(
z
)
=
∫
0
∞
x
z
−
1
e
−
x
d
x
=
−
x
z
−
1
e
−
x
∣
0
∞
+
(
z
−
1
)
∫
0
∞
x
z
−
2
e
−
x
d
x
=
(
z
−
1
)
Γ
(
z
−
1
)
\begin{aligned} \Gamma(z)&=\int_0^\infty x^{z-1}e^{-x}dx\\ &=\left.-x^{z-1}e^{-x}\right|_0^\infty+(z-1)\int_0^\infty x^{z-2}e^{-x}dx\\ &=(z-1)\Gamma(z-1) \end{aligned}
Γ(z)=∫0∞xz−1e−xdx=−xz−1e−x∣∣0∞+(z−1)∫0∞xz−2e−xdx=(z−1)Γ(z−1)
将
z
=
1
z=1
z=1代入式(1),可得
Γ
(
1
)
=
1
\Gamma(1)=1
Γ(1)=1。当
z
z
z为正整数时,由以上递推公式可得:
Γ
(
z
)
=
(
z
−
1
)
!
,
z
∈
N
+
\Gamma(z)=(z-1)!,\quad z\in N^+
Γ(z)=(z−1)!,z∈N+
如下图所示为Gamma函数在实数域内的曲线,五角星为阶乘函数对应的离散点。从该图可看出,Gamma函数是阶乘函数在实数范围内的泛化。
3.1.1.2 Gamma函数简史
最早提出『将阶乘扩展到实数域』这一问题的是哥德巴赫。他将阶乘序列绘制到坐标图上,并用一条平滑的曲线穿过所有这些点,但哥德巴赫无法给出这条光滑曲线的解析形式。于是他写信给贝努利求助。欧拉从贝努利那里得知了这个问题,并于1729年发现了Gamma函数,完美解决了该问题。当时欧拉只有22岁。
欧拉和高斯都是具有超凡直觉的数学家,但欧拉和高斯的风格迥异。高斯在数学上非常严谨,发表结果时将思考的痕迹全部抹去,只留下漂亮的结果。而欧拉则经常通过直觉进行大胆猜测,且其发表的文章中也会留下他如何做猜想的痕迹。关于欧拉发现Gamma函数的思路,可参考这篇文章。
拉普拉斯曾说过『欧拉是所有人的导师』。欧拉一辈子硕果累累,他在300年前发现的任何一项数学成果如今仍被广泛应用于各个领域。那个年代,很多大科学家都将研究成果藏着自己用,比如牛顿在和莱布尼茨争夺微积分发明权之前,一直将微积分方法留作自己的杀手锏。正是因为欧拉的开放态度,才使得今天的我们可以免费享用这座数学大厦。还值得一提的是,欧拉在60岁时已完全失明,而其一半的成果都是在此之后作出的。
受欧拉的鼓舞,我在写作时也力求做到清晰完整记录思考过程。
3.1.2 Beta分布
3.1.2.1 单个顺序统计量的分布
若有
n
n
n个随机变量独立同分布于0到1的均匀分布,记作:
X
1
,
X
2
,
⋯
,
X
n
∼
i
i
d
U
n
i
f
o
r
m
(
0
,
1
)
X_1,X_2,\cdots,X_n\stackrel{iid}{\sim}Uniform(0,1)
X1,X2,⋯,Xn∼iidUniform(0,1) 。iid是独立同分布的缩写(independent identically distributed)。将这
n
n
n个随机变量按由小到大排序后得到顺序统计量,记作
X
(
1
)
,
X
(
2
)
,
⋯
,
X
(
n
)
X_{(1)},X_{(2)},\cdots,X_{(n)}
X(1),X(2),⋯,X(n),计算排在第
k
k
k位的随机变量
X
(
k
)
X_{(k)}
X(k)的概率分布。
如上图所示,绘制了这
n
n
n个顺序统计量。设
X
(
k
)
X_{(k)}
X(k)落在
[
x
,
x
+
Δ
x
]
[x,x+\Delta x]
[x,x+Δx]区间内。由于随机变量服从
[
0
,
1
]
[0,1]
[0,1]上的均匀分布,因此:
P
(
X
<
x
)
=
x
P
(
x
≤
X
≤
x
+
Δ
x
)
=
Δ
x
P
(
X
>
x
+
Δ
x
)
=
1
−
x
−
Δ
x
\begin{aligned} &P(X<x)=x\\ &P(x\leq X\leq x+\Delta x)=\Delta x\\ &P(X>x+\Delta x)=1-x-\Delta x \end{aligned}
P(X<x)=xP(x≤X≤x+Δx)=ΔxP(X>x+Δx)=1−x−Δx
当
Δ
x
\Delta x
Δx足够小时,可以保证只有1个随机变量的值落在区间
[
x
,
x
+
Δ
x
]
[x,x+\Delta x]
[x,x+Δx]内。从而,第
k
k
k个顺序统计量
X
(
k
)
X_{(k)}
X(k)落在该区间的概率为:
P
(
x
≤
X
(
k
)
≤
x
+
Δ
x
)
=
C
n
k
−
1
x
k
−
1
C
n
−
k
+
1
1
Δ
x
C
n
−
k
n
−
k
(
1
−
x
−
Δ
x
)
n
−
k
=
n
!
(
k
−
1
)
!
(
n
−
k
)
!
x
k
−
1
Δ
x
(
1
−
x
−
Δ
x
)
n
−
k
\begin{aligned} &P(x\leq X_{(k)}\leq x+\Delta x)\\ &=C_n^{k-1}x^{k-1}C_{n-k+1}^1\Delta xC_{n-k}^{n-k}(1-x-\Delta x)^{n-k}\\ &=\frac{n!}{(k-1)!(n-k)!}x^{k-1}\Delta x(1-x-\Delta x)^{n-k} \end{aligned}
P(x≤X(k)≤x+Δx)=Cnk−1xk−1Cn−k+11ΔxCn−kn−k(1−x−Δx)n−k=(k−1)!(n−k)!n!xk−1Δx(1−x−Δx)n−k
从而可得
X
(
k
)
X_{(k)}
X(k)的概率密度函数为:
f
(
x
)
=
lim
Δ
x
→
0
P
(
x
≤
X
(
k
)
≤
x
+
Δ
x
)
Δ
x
=
n
!
(
k
−
1
)
!
(
n
−
k
)
!
x
k
−
1
(
1
−
x
)
n
−
k
,
x
∈
[
0
,
1
]
\begin{aligned} f(x)&=\lim_{\Delta x\rightarrow0}\frac{P(x\leq X_{(k)}\leq x+\Delta x)}{\Delta x}\\ &=\frac{n!}{(k-1)!(n-k)!}x^{k-1}(1-x)^{n-k}, \quad x\in[0,1] \end{aligned}
f(x)=Δx→0limΔxP(x≤X(k)≤x+Δx)=(k−1)!(n−k)!n!xk−1(1−x)n−k,x∈[0,1]
利用Gamma函数,可将
f
(
x
)
f(x)
f(x)表达为:
f
(
x
)
=
Γ
(
n
+
1
)
Γ
(
k
)
Γ
(
n
−
k
+
1
)
x
k
−
1
(
1
−
x
)
n
−
k
f(x)=\frac{\Gamma(n+1)}{\Gamma(k)\Gamma(n-k+1)}x^{k-1}(1-x)^{n-k}
f(x)=Γ(k)Γ(n−k+1)Γ(n+1)xk−1(1−x)n−k
为了使表达式具有对称性,我们令
α
1
=
k
,
α
2
=
n
−
k
+
1
\alpha_1=k,\alpha_2=n-k+1
α1=k,α2=n−k+1,则上式可变形为:
f
(
x
)
=
Γ
(
α
1
+
α
2
)
Γ
(
α
1
)
Γ
(
α
2
)
x
α
1
−
1
(
1
−
x
)
α
2
−
1
f(x)=\frac{\Gamma(\alpha_1+\alpha_2)}{\Gamma(\alpha_1)\Gamma(\alpha_2)}x^{\alpha_1-1}(1-x)^{\alpha_2-1}
f(x)=Γ(α1)Γ(α2)Γ(α1+α2)xα1−1(1−x)α2−1
这就是Beta分布,记作
f
(
x
)
∼
B
e
t
a
(
x
∣
α
1
,
α
2
)
f(x)\sim Beta(x|\alpha_1,\alpha_2)
f(x)∼Beta(x∣α1,α2)。
可以通过上图辅助记忆该分布,其中
α
1
\alpha_1
α1参数对应顺序统计量
X
(
k
)
X_{(k)}
X(k)前面的
k
−
1
k-1
k−1个变量,
α
2
\alpha_2
α2参数对应
X
(
k
)
X_{(k)}
X(k)后面的
n
−
k
n-k
n−k个变量,由于
Γ
(
α
)
=
(
α
−
1
)
!
\Gamma(\alpha)=(\alpha-1)!
Γ(α)=(α−1)!,因此
α
1
,
α
2
\alpha_1,\alpha_2
α1,α2都需要在前后变量数的基础上加1。
3.1.2.2 Beta分布的性质
下图绘制了
α
1
,
α
2
\alpha_1,\alpha_2
α1,α2取不同值时,Beta分布的概率密度曲线。可以看出,Beta分布的定义域为
[
0
,
1
]
[0,1]
[0,1],刚好是概率的取值范围。且随着参数的不同,Beta分布具有非常丰富的形态,可以是凸的、凹的、单调递增的、单调下降的,也可以是曲线或者直线。当
α
1
=
α
2
=
1
\alpha_1=\alpha_2=1
α1=α2=1时,Beta分布等价于均匀分布。Beta分布还可以近似正态分布。正是由于Beta分布能够拟合如此多的形态,因此它在统计数据拟合中被广泛使用,可称为分布的分布。
值得注意的是,回顾前文推导Beta分布的过程,我们知道Beta分布是由满足均匀分布的顺序统计量产生的。正是基于此,我们也可以说通过均匀分布能产生其它任何分布。
Beta分布的期望也具有很优美的形式。
设
p
∼
B
e
t
a
(
p
∣
α
1
,
α
2
)
p\sim Beta(p|\alpha_1,\alpha_2)
p∼Beta(p∣α1,α2),则:
E
(
p
)
=
∫
0
1
p
∗
B
e
t
a
(
p
∣
α
1
,
α
2
)
d
p
=
∫
0
1
p
∗
Γ
(
α
1
+
α
2
)
Γ
(
α
1
)
Γ
(
α
2
)
p
α
1
−
1
(
1
−
p
)
α
2
−
1
d
p
=
Γ
(
α
1
+
α
2
)
Γ
(
α
1
)
Γ
(
α
2
)
∫
0
1
p
α
1
(
1
−
p
)
α
2
−
1
d
p
(2)
\begin{aligned} E(p)&=\int_0^1p*Beta(p|\alpha_1,\alpha_2)dp\\ &=\int_0^1p*\frac{\Gamma(\alpha_1+\alpha_2)}{\Gamma(\alpha_1)\Gamma(\alpha_2)}p^{\alpha_1-1}(1-p)^{\alpha_2-1}dp\\ &=\frac{\Gamma(\alpha_1+\alpha_2)}{\Gamma(\alpha_1)\Gamma(\alpha_2)}\int_0^1p^{\alpha_1}(1-p)^{\alpha_2-1}dp \end{aligned}\tag{2}
E(p)=∫01p∗Beta(p∣α1,α2)dp=∫01p∗Γ(α1)Γ(α2)Γ(α1+α2)pα1−1(1−p)α2−1dp=Γ(α1)Γ(α2)Γ(α1+α2)∫01pα1(1−p)α2−1dp(2)
对
B
e
t
a
(
p
∣
α
1
+
1
,
α
2
)
Beta(p|\alpha_1+1,\alpha_2)
Beta(p∣α1+1,α2)进行积分可得:
1
=
∫
0
1
B
e
t
a
(
p
∣
α
1
+
1
,
α
2
)
d
p
=
∫
0
1
Γ
(
α
1
+
1
+
α
2
)
Γ
(
α
1
+
1
)
Γ
(
α
2
)
p
α
1
(
1
−
p
)
α
2
−
1
d
p
\begin{aligned} 1&=\int_0^1Beta(p|\alpha_1+1,\alpha_2)dp\\ &=\int_0^1\frac{\Gamma(\alpha_1+1+\alpha_2)}{\Gamma(\alpha_1+1)\Gamma(\alpha_2)}p^{\alpha_1}(1-p)^{\alpha_2-1}dp \end{aligned}
1=∫01Beta(p∣α1+1,α2)dp=∫01Γ(α1+1)Γ(α2)Γ(α1+1+α2)pα1(1−p)α2−1dp
从而可得:
∫
0
1
p
α
1
(
1
−
p
)
α
2
−
1
d
p
=
Γ
(
α
1
+
1
)
Γ
(
α
2
)
Γ
(
α
1
+
1
+
α
2
)
\int_0^1p^{\alpha_1}(1-p)^{\alpha_2-1}dp=\frac{\Gamma(\alpha_1+1)\Gamma(\alpha_2)}{\Gamma(\alpha_1+1+\alpha_2)}
∫01pα1(1−p)α2−1dp=Γ(α1+1+α2)Γ(α1+1)Γ(α2)
将其代入上式(2),从而可得:
E
(
p
)
=
Γ
(
α
1
+
α
2
)
Γ
(
α
1
)
Γ
(
α
2
)
Γ
(
α
1
+
1
)
Γ
(
α
2
)
Γ
(
α
1
+
1
+
α
2
)
=
α
1
α
1
+
α
2
\begin{aligned} E(p)&=\frac{\Gamma(\alpha_1+\alpha_2)}{\Gamma(\alpha_1)\Gamma(\alpha_2)}\frac{\Gamma(\alpha_1+1)\Gamma(\alpha_2)}{\Gamma(\alpha_1+1+\alpha_2)}\\ &=\frac{\alpha_1}{\alpha_1+\alpha_2} \end{aligned}
E(p)=Γ(α1)Γ(α2)Γ(α1+α2)Γ(α1+1+α2)Γ(α1+1)Γ(α2)=α1+α2α1
由此可见,对于服从Beta分布的随机变量,其均值可用
α
1
α
1
+
α
2
\frac{\alpha_1}{\alpha_1+\alpha_2}
α1+α2α1来估计。
3.1.2.3 Beta-Binomial共轭
Beta分布与Binomial二项分布是共轭的,即当数据符合二项分布时,参数的先验分布和后验分布都保持Beta分布的形式。写成表达式为:
B
e
t
a
(
p
∣
α
1
,
α
2
)
+
B
i
n
o
m
i
a
l
C
o
u
n
t
(
m
1
,
m
2
)
=
B
e
t
a
(
p
∣
α
1
+
m
1
,
α
2
+
m
2
)
Beta(p|\alpha_1,\alpha_2)+BinomialCount(m_1,m_2)=Beta(p|\alpha_1+m_1,\alpha_2+m_2)
Beta(p∣α1,α2)+BinomialCount(m1,m2)=Beta(p∣α1+m1,α2+m2)
其中
(
m
1
,
m
2
)
(m_1,m_2)
(m1,m2)对应的是二项分布
B
i
n
o
m
i
a
l
(
m
1
+
m
2
,
p
)
Binomial(m_1+m_2,p)
Binomial(m1+m2,p)的计数。
上面这段概念可能暂时难以理解,我们接着上一节的顺序统计量进一步分析,然后再回头读这段概念就容易理解。
在上一节中,
p
=
X
(
k
)
p=X_{(k)}
p=X(k)是我们要猜测的参数。由于在获得任何关于
X
i
X_i
Xi的知识之前,我们只能假设
X
i
X_i
Xi服从均匀分布,进而我们推导出顺序统计量
p
p
p的分布服从Beta分布:
f
(
p
)
=
B
e
t
a
(
p
∣
k
,
n
−
k
+
1
)
f(p)=Beta(p|k,n-k+1)
f(p)=Beta(p∣k,n−k+1)。该分布称为p的先验分布。
若我们观测到
m
m
m个数据:
Y
1
,
Y
2
,
⋯
,
Y
m
Y_1,Y_2,\cdots,Y_m
Y1,Y2,⋯,Ym。并且获得『
m
1
m_1
m1个小于
p
p
p,
m
2
m_2
m2个大于p』的知识。
Y
i
Y_i
Yi相当于做了
m
m
m次贝努利实验,所以
m
1
∼
B
i
n
o
m
i
a
l
(
m
,
p
)
m_1\sim Binomial(m,p)
m1∼Binomial(m,p)。
由于
p
=
X
(
k
)
p=X_{(k)}
p=X(k)在
X
1
,
X
2
,
⋯
,
X
n
X_1,X_2,\cdots,X_n
X1,X2,⋯,Xn中是第
k
k
k大的,从而在
X
1
,
X
2
,
⋯
,
X
n
,
Y
1
,
Y
x
,
⋯
,
Y
m
X_1,X_2,\cdots,X_n,Y_1,Y_x,\cdots,Y_m
X1,X2,⋯,Xn,Y1,Yx,⋯,Ym中,
p
p
p是第
k
+
m
1
k+m_1
k+m1大的。按照上一节的推理,此时
p
=
X
(
k
)
p=X_{(k)}
p=X(k)的概率密度函数为:
f
(
p
∣
m
1
,
m
2
)
=
B
e
t
a
(
p
∣
k
+
m
1
,
n
−
k
+
1
+
m
2
)
f(p|m_1,m_2)=Beta(p|k+m_1,n-k+1+m_2)
f(p∣m1,m2)=Beta(p∣k+m1,n−k+1+m2)
即给定来自数据提供的
(
m
1
,
m
2
)
(m_1,m_2)
(m1,m2)知识后,
p
p
p的后验分布仍服从Beta分布,分布的参数在知识的影响下得到进一步修正。这就称为Beta-Binomial共轭。
Beta-Binomial共轭提供了先验分布和后验分布的形式不变性。基于此,我们可以在先验分布中赋予参数明确的物理意义,且该物理意义可延伸到后验分布中进行解释。在从先验到后验的过程中,所补充的数据知识也有明确的物理意义。最重要的是,在机器学习中,具有共轭性的分布可进行在线学习,降低学习成本,这在后面介绍贝叶斯网参数学习时会进行分析。
3.1.3 Dirichlet分布
3.1.3.1 多个顺序统计量的联合分布
回顾3.1.2.1节中关于单个顺序统计量的概率分布,其满足Beta分布。进一步地,我们来计算其中排在第
k
1
k_1
k1和第
k
1
+
k
2
k_1+k_2
k1+k2位的两个顺序统计量的联合概率分布。
如上图所示,绘制了这
n
n
n个顺序统计量。设
X
(
k
1
)
X_{(k_1)}
X(k1)落在
[
x
1
,
x
1
+
Δ
x
]
[x_1,x_1+\Delta x]
[x1,x1+Δx]区间内,
X
(
k
1
+
k
2
)
X_{(k_1+k_2)}
X(k1+k2)落在
[
x
1
+
x
2
+
Δ
x
,
x
1
+
x
2
+
2
Δ
x
]
[x_1+x_2+\Delta x,x_1+x_2+2\Delta x]
[x1+x2+Δx,x1+x2+2Δx]区间内,且
x
1
+
x
2
+
x
3
=
1
x_1+x_2+x_3=1
x1+x2+x3=1。由于随机变量服从
[
0
,
1
]
[0,1]
[0,1]上的均匀分布,因此:
P
(
X
<
x
1
)
=
x
1
P
(
x
1
≤
X
≤
x
1
+
Δ
x
)
=
Δ
x
P
(
x
1
+
Δ
x
<
X
<
x
1
+
Δ
x
+
x
2
)
=
x
2
P
(
x
1
+
Δ
x
+
x
2
≤
X
≤
x
1
+
x
2
+
2
Δ
x
)
=
Δ
x
P
(
X
>
x
1
+
x
2
+
2
Δ
x
)
=
1
−
x
1
−
x
2
=
x
3
\begin{aligned} &P(X<x_1)=x_1\\ &P(x_1\leq X\leq x_1+\Delta x)=\Delta x\\ &P(x_1+\Delta x<X<x_1+\Delta x+x_2)=x_2\\ &P(x_1+\Delta x+x_2\leq X\leq x_1+x_2+2\Delta x)=\Delta x\\ &P(X>x_1+x_2+2\Delta x)=1-x_1-x_2=x_3 \end{aligned}
P(X<x1)=x1P(x1≤X≤x1+Δx)=ΔxP(x1+Δx<X<x1+Δx+x2)=x2P(x1+Δx+x2≤X≤x1+x2+2Δx)=ΔxP(X>x1+x2+2Δx)=1−x1−x2=x3
当
Δ
x
\Delta x
Δx足够小时,可以保证分别只有1个随机变量的值落在区间
[
x
1
,
x
1
+
Δ
x
]
[x_1,x_1+\Delta x]
[x1,x1+Δx]和区间
[
x
1
+
Δ
x
+
x
2
,
x
1
+
x
2
+
2
Δ
x
]
[x_1+\Delta x+x_2,x_1+x_2+2\Delta x]
[x1+Δx+x2,x1+x2+2Δx]内。从而,第
k
1
k_1
k1和第
k
1
+
k
2
k_1+k_2
k1+k2个顺序统计量
X
(
k
1
)
X_{(k_1)}
X(k1)和
X
(
k
1
+
k
2
)
X_{(k_1+k_2)}
X(k1+k2)分别落在这两个区间的概率为:
P
(
x
1
≤
X
(
k
1
)
≤
x
1
+
Δ
x
,
x
1
+
Δ
x
+
x
2
≤
X
(
k
1
+
k
2
)
≤
x
1
+
x
2
+
2
Δ
x
)
=
C
n
k
1
−
1
x
1
k
1
−
1
C
n
−
k
1
+
1
1
Δ
x
C
n
−
k
1
k
2
−
1
x
2
k
2
−
1
C
n
−
k
1
−
k
2
+
1
1
Δ
x
C
n
−
k
1
−
k
2
n
−
k
1
−
k
2
x
3
n
−
k
1
−
k
2
=
n
!
(
k
1
−
1
)
!
(
k
2
−
1
)
!
(
n
−
k
1
−
k
2
)
!
x
1
k
1
−
1
x
2
k
2
−
1
x
3
n
−
k
1
−
k
2
(
Δ
x
)
2
\begin{aligned} &P(x_1\leq X_{(k_1)}\leq x_1+\Delta x,x_1+\Delta x+x_2\leq X_{(k_1+k_2)}\leq x_1+x_2+2\Delta x)\\ &=C_n^{k_1-1}x_1^{k_1-1}C_{n-k_1+1}^1\Delta xC_{n-k_1}^{k_2-1}x_2^{k_2-1}C_{n-k_1-k_2+1}^1\Delta xC_{n-k_1-k_2}^{n-k_1-k_2}x_3^{n-k_1-k_2}\\ &=\frac{n!}{(k_1-1)!(k_2-1)!(n-k_1-k_2)!}x_1^{k_1-1}x_2^{k_2-1}x_3^{n-k_1-k_2}(\Delta x)^2 \end{aligned}
P(x1≤X(k1)≤x1+Δx,x1+Δx+x2≤X(k1+k2)≤x1+x2+2Δx)=Cnk1−1x1k1−1Cn−k1+11ΔxCn−k1k2−1x2k2−1Cn−k1−k2+11ΔxCn−k1−k2n−k1−k2x3n−k1−k2=(k1−1)!(k2−1)!(n−k1−k2)!n!x1k1−1x2k2−1x3n−k1−k2(Δx)2
从而可得
X
(
k
1
)
X_{(k_1)}
X(k1)和
X
(
k
1
+
k
2
)
X_{(k_1+k_2)}
X(k1+k2)的联合概率密度函数为:
f
(
x
1
,
x
2
,
x
3
)
=
lim
Δ
x
→
0
P
(
x
1
≤
X
(
k
1
)
≤
x
1
+
Δ
x
,
x
1
+
Δ
x
+
x
2
≤
X
(
k
1
+
k
2
)
≤
x
1
+
x
2
+
2
Δ
x
)
(
Δ
x
)
2
=
n
!
(
k
1
−
1
)
!
(
k
2
−
1
)
!
(
n
−
k
1
−
k
2
)
!
x
1
k
1
−
1
x
2
k
2
−
1
x
3
n
−
k
1
−
k
2
\begin{aligned} f(x_1,x_2,x_3)&=\lim_{\Delta x\rightarrow0}\frac{P(x_1\leq X_{(k_1)}\leq x_1+\Delta x,x_1+\Delta x+x_2\leq X_{(k_1+k_2)}\leq x_1+x_2+2\Delta x)}{(\Delta x)^2}\\ &=\frac{n!}{(k_1-1)!(k_2-1)!(n-k_1-k_2)!}x_1^{k_1-1}x_2^{k_2-1}x_3^{n-k_1-k_2} \end{aligned}
f(x1,x2,x3)=Δx→0lim(Δx)2P(x1≤X(k1)≤x1+Δx,x1+Δx+x2≤X(k1+k2)≤x1+x2+2Δx)=(k1−1)!(k2−1)!(n−k1−k2)!n!x1k1−1x2k2−1x3n−k1−k2
其中
x
i
∈
[
0
,
1
]
x_i\in[0,1]
xi∈[0,1]且
x
1
+
x
2
+
x
3
=
1
x_1+x_2+x_3=1
x1+x2+x3=1。
为了使表达式具有对称性,我们令
α
1
=
k
1
,
α
2
=
k
2
,
α
3
=
n
−
k
1
−
k
2
+
1
\alpha_1=k_1,\alpha_2=k_2,\alpha_3=n-k_1-k_2+1
α1=k1,α2=k2,α3=n−k1−k2+1,则上式可变形为:
f
(
x
1
,
x
2
,
x
3
)
=
Γ
(
α
1
+
α
2
+
α
3
)
Γ
(
α
1
)
Γ
(
α
2
)
Γ
(
α
3
)
x
1
α
1
−
1
x
2
α
2
−
1
x
3
α
3
−
1
f(x_1,x_2,x_3)=\frac{\Gamma(\alpha_1+\alpha_2+\alpha_3)}{\Gamma(\alpha_1)\Gamma(\alpha_2)\Gamma(\alpha_3)}x_1^{\alpha_1-1}x_2^{\alpha_2-1}x_3^{\alpha_3-1}
f(x1,x2,x3)=Γ(α1)Γ(α2)Γ(α3)Γ(α1+α2+α3)x1α1−1x2α2−1x3α3−1
这就是有两个*度的Dirichlet分布,记作
f
(
x
1
,
x
2
,
x
3
)
∼
D
i
r
i
c
h
l
e
t
(
x
1
,
x
2
,
x
3
∣
α
1
,
α
2
,
α
3
)
f(x_1,x_2,x_3)\sim Dirichlet(x_1,x_2,x_3|\alpha_1,\alpha_2,\alpha_3)
f(x1,x2,x3)∼Dirichlet(x1,x2,x3∣α1,α2,α3)。
可将其进一步推广到更高维,记
x
⃗
=
(
x
1
,
x
2
,
⋯
)
,
α
⃗
=
(
α
1
,
α
2
,
⋯
)
\vec{x}=(x_1,x_2,\cdots),\vec{\alpha}=(\alpha_1,\alpha_2,\cdots)
x
=(x1,x2,⋯),α
=(α1,α2,⋯),则
x
⃗
∼
D
i
r
i
c
h
l
e
t
(
x
⃗
∣
α
⃗
)
\vec{x}\sim Dirichlet(\vec{x}|\vec{\alpha})
x
∼Dirichlet(x
∣α
)。
3.1.3.2 Dirichlet分布的性质
从Dirichlet分布的推导过程以及其表达式形式可看出,Dirichlet分布是Beta分布在高维上的推广,它和Beta分布一样具有丰富的形态,可用于拟合各种高维联合分布。
与推导Beta分布的期望类似,Dirichlet分布的期望也具有相似的形式。
设
p
⃗
∼
D
i
r
i
c
h
l
e
t
(
p
⃗
∣
α
⃗
)
\vec p\sim Dirichlet(\vec p|\vec \alpha)
p
∼Dirichlet(p
∣α
),可推导出:
E
(
p
⃗
)
=
(
α
1
∑
i
=
1
K
α
i
,
α
2
∑
i
=
1
K
α
i
,
⋯
)
E(\vec p)=\left(\frac{\alpha_1}{\sum_{i=1}^K\alpha_i},\frac{\alpha_2}{\sum_{i=1}^K\alpha_i},\cdots\right)
E(p
)=(∑i=1Kαiα1,∑i=1Kαiα2,⋯)
3.1.3.3 Dirichlet-Multinomial共轭
我们知道Dirichlet分布是Beta分布在高维上的推广,Beta分布与二项分布共轭,二项分布的高维推广是Multinomial多项式分布,则我们猜想Dirichlet分布与Multinomial共轭。
在3.1.3.1节中,
p
⃗
=
(
X
(
k
1
)
,
X
(
k
1
+
k
2
)
)
\vec p=(X_{(k_1)},X_{(k_1+k_2)})
p
=(X(k1),X(k1+k2))是我们要猜测的参数。由于在获得任何关于
X
i
X_i
Xi的知识之前,我们只能假设
X
i
X_i
Xi服从均匀分布,进而我们推导出顺序统计量
p
⃗
\vec p
p
的联合分布服从Dirichlet分布:
f
(
p
⃗
)
=
D
i
r
i
c
h
l
e
t
(
p
⃗
∣
k
1
,
k
2
,
n
−
k
1
−
k
2
+
1
)
f(\vec p)=Dirichlet(\vec p|k_1,k_2,n-k_1-k_2+1)
f(p
)=Dirichlet(p
∣k1,k2,n−k1−k2+1)
该分布称为
p
⃗
\vec p
p
的先验分布。
若我们观测到
m
m
m个数据:
Y
1
,
Y
2
,
⋯
,
Y
m
Y_1,Y_2,\cdots,Y_m
Y1,Y2,⋯,Ym。并且获得『
m
1
m_1
m1个小于
p
1
p_1
p1,
m
2
m_2
m2个大于
p
1
p_1
p1小于
p
2
p_2
p2,
m
3
m_3
m3个大于
p
2
p_2
p2』的知识。
Y
i
Y_i
Yi相当于做了
m
m
m次掷骰子实验(与抛硬币实验的伯努利分布相对应,称为Categorical多类别分布),所以
m
⃗
∼
M
u
l
t
i
n
o
m
i
a
l
(
m
,
p
⃗
)
\vec m\sim Multinomial(m,\vec p)
m
∼Multinomial(m,p
)。
类似3.1.2.3节推导Beta-Binomial共轭,此时
p
⃗
=
(
X
(
k
1
)
,
X
(
k
1
+
k
2
)
)
\vec p=(X_{(k_1)},X_{(k_1+k_2)})
p
=(X(k1),X(k1+k2))的联合概率密度函数为:
f
(
p
⃗
∣
m
1
,
m
2
,
m
3
)
=
D
i
r
i
c
h
l
e
t
(
p
⃗
∣
k
1
+
m
1
,
k
2
+
m
2
,
n
−
k
1
−
k
2
+
1
+
m
3
)
f(\vec p|m_1,m_2,m_3)=Dirichlet(\vec p|k_1+m_1,k_2+m_2,n-k_1-k_2+1+m_3)
f(p
∣m1,m2,m3)=Dirichlet(p
∣k1+m1,k2+m2,n−k1−k2+1+m3)
即给定来自数据提供的
(
m
1
,
m
2
,
m
3
)
(m_1,m_2,m_3)
(m1,m2,m3)的知识后,
p
⃗
\vec p
p
的后验分布仍服从Dirichlet分布,分布的参数在知识的影响下得到进一步修正。这就称为Dirichlet-Multinomial共轭。写成一般形式为:
D
i
r
i
c
h
l
e
t
(
p
⃗
∣
α
⃗
)
+
M
u
l
t
i
n
o
m
i
a
l
C
o
u
n
t
(
m
⃗
)
=
D
i
r
i
c
h
l
e
t
(
p
⃗
∣
α
⃗
+
m
⃗
)
Dirichlet(\vec p|\vec\alpha)+MultinomialCount(\vec m)=Dirichlet(\vec p|\vec\alpha+\vec m)
Dirichlet(p
∣α
)+MultinomialCount(m
)=Dirichlet(p
∣α
+m
)
3.1.4 小结
Beta分布及其高维扩展Dirichlet分布具有优良的共轭性质,且能拟合绝大部分概率分布的形态,在统计数据拟合中被广泛使用,可称为分布的分布,分布之母。
贝叶斯网参数学习主要有极大似然估计方法和贝叶斯估计方法,后者的理论基础是Beta分布和Dirichlet分布,这两种分布所具有的优良共轭性质使得贝叶斯估计具有在线学习的能力。关于贝叶斯网参数学习方法,将在下一讲继续展开。