分类目录:《机器学习中的数学》总目录
机器学习的算法经常会涉及到在非常多的随机变量上的概率分布。通常,这些概率分布涉及到的直接相互作用都是介于非常少的变量之间的。使用单个函数来描述整个联合概率分布是非常低效的。
我们可以把概率分布分解成许多因子的乘积形式,而不是使用单一的函数来表示概率分布。例如,假设我们有三个随机变量
a
a
a,
b
b
b和
c
c
c,并且
a
a
a影响
b
b
b的取值,
b
b
b影响
c
c
c的取值,但是
a
a
a和
c
c
c在给定
b
b
b时是条件独立的。我们可以把全部三个变量的概率分布重新表示为两个变量的概率分布的连乘形式:
p
(
a
.
b
.
c
)
=
p
(
a
)
p
(
b
∣
a
)
p
(
c
∣
b
)
p(a.b.c)=p(a)p(b|a)p(c|b)
p(a.b.c)=p(a)p(b∣a)p(c∣b)
这种分解可以极大地减少用来描述一个分布的参数数量。每个因子使用的参数数目是它的变量数目的指数倍。这意味着,如果我们能够找到一种使每个因子分布具有更少变量的分解方法,我们就能极大地降低表示联合分布的成本。
我们可以用图来描述这种分解。这里我们使用的是图论中的“图”的概念:由些可以通过边互相连接的顶点的集合构成。当我们用图来表示这种概率分布的分解,我们把它称为结构化概率模型或者图模型。有两种主要的结构化概率模型:有向的和无向的。两种图模型都使用图 G \mathscr{G} G,其中图的每个节点对应着一个随机变量,连接两个随机变量的边意味着概率分布可以表示成这两个随机变量之间的直接作用。
有向模型使用带有有向边的图,它们用条件概率分布来表示分解就像上面的例子。特别地,有向模型对于分布中的每一个随机变量
x
x
x都包含着一个影响因子,这个组成
x
i
x_i
xi条件概率的影响因子被称为
x
i
x_i
xi的父节点,记为
P
a
G
(
x
i
)
Pa_{\mathscr{G}}(x_i)
PaG(xi):
p
(
x
)
=
∏
i
P
(
x
i
∣
P
a
G
(
x
i
)
)
p(x)=\prod_i P(x_i|Pa_{\mathscr{G}}(x_i))
p(x)=i∏P(xi∣PaG(xi))
下图给出的有向图的例子就可以分解为
p
(
a
,
b
,
c
,
d
,
e
)
=
p
(
a
)
p
(
b
∣
a
)
p
(
c
∣
a
,
b
)
p
(
d
∣
b
)
p
(
e
∣
c
)
p(a, b, c, d, e)=p(a)p(b|a)p(c|a,b)p(d|b)p(e|c)
p(a,b,c,d,e)=p(a)p(b∣a)p(c∣a,b)p(d∣b)p(e∣c):
无向模型使用带有无向边的图,它们将分解表示成一组函数;不像有向模型那样,这些函数通常不是任何类型的概率分布。
G
\mathscr{G}
G中任何满足两两之间有边连接的顶点的集合被称为团。无向模型中的每个团
C
(
i
)
C^{(i)}
C(i)都伴随着一个因子
ϕ
(
i
)
C
(
i
)
\phi^{(i)}C^{(i)}
ϕ(i)C(i)。这些因子仅仅是函数,并不是概率分布。每个因子的输出都必须是非负的,但是并没有像概率分布中那样要求因子的和或者积分为1随机变量的联合概率与所有这些因子的乘积成比例——意味着因子的值越大则可能性越大。当然,不能保证这种乘积的求和为1.所以我们需要除以一个归一化常数
Z
Z
Z来得到归一化的概率分布,归一化常数
Z
Z
Z被定义为
ϕ
\phi
ϕ函数乘积的所有状态的求和或积分。概率分布为:
p
(
x
)
=
1
Z
∏
i
ϕ
(
i
)
C
(
i
)
p(x)=\frac{1}{Z}\prod_i\phi^{(i)}C^{(i)}
p(x)=Z1i∏ϕ(i)C(i)
上图给出的无向图的例子即可分解为 1 Z ϕ ( 1 ) ( a , b , c ) ϕ ( 2 ) ( b , d ) ϕ ( 3 ) ( c , e ) \frac{1}{Z}\phi^{(1)}(a, b, c)\phi^{(2)}(b, d)\phi^{(3)}(c, e) Z1ϕ(1)(a,b,c)ϕ(2)(b,d)ϕ(3)(c,e)。
这些图模型表示的分解仅仅是描述概率分布的一种语言。它们不是互相排斥的概率分布族。有向或者无向不是概率分布的特性;它是概率分布的一种特殊描述所具有的特性,而任何概率分布都可以用这两种方式进行描述