感谢B站up主@shuhuai008!
本文是学习他发布在b站上的概率图模型视频的一些笔记。
地址:https://www.bilibili.com/video/av33545406
可以从两个角度来看概率图模型,即一个是概率,一个是图。
要预测其实概率就足够了,这个图,其实是一个工具。我们在数据结构中也有图,但都是比较抽象的;这里的图,其实是把原来数据结构中的图,赋予了概率,把概率嵌进去,使得整个模型更加清晰,也可以进一步构建更高级的模型。
我们先来看看概率这一块。
概率在建模过程中,其实是对现实问题的一个抽象。我们关注的问题,我们的数据往往是多维的,因此我们在用随机变量表示问题的时候,就会假设这是一个高维的随机变量。
也就是说,我们概率模型关注的对象其实就是高维的随机变量,或者说是它的概率分布。我们对这个高维随机变量可以做很多事情,比如求边缘概率,条件概率。
在进行概率计算的过程中,有两个很重要基本的法则——加法法则和乘法法则。
引申有链式法则,其实就是对上述两个法则的泛化。
但高维随机变量的计算有自己的困境:维度高,计算复杂。比如 P ( x 1 , x 2 , . . , x p ) P(x_1,x_2,..,x_p) P(x1,x2,..,xp)计算量太大。那么我们就要争取简化运算,简化模型。
怎么简化?
第一步,我们可以假设每个维度之间相互独立。
这样,我们得到 P ( x 1 , x 2 , . . , x p ) = ∏ i = 1 p P ( x i ) P(x_1,x_2,..,x_p)=\prod_{i=1}^p{P(x_i)} P(x1,x2,..,xp)=∏i=1pP(xi)
由此,Chain Rule可以略去了。
一个典型的例子,就是朴素贝叶斯(做分类问题),它其实就是假设维度之间是相互独立的。
Naive Bayes: P ( x ∣ y ) = ∏ i = 1 p P ( x i ∣ y ) P(x|y)=\prod_{i=1}^p{P(x_i|y)} P(x∣y)=∏i=1pP(xi∣y)
但这种相互独立性假设是很强的,我们可以适当放宽点。那么,接下来——
第二步,马尔可夫性质(Markov Property)。这里只介绍一阶马尔可夫性质。即在给定当前时刻状态的情况下,将来与过去是相互独立的。用数学公式表示,即为:
x j ⊥ x i + 1 ∣ x i , j < i x_j \perp x_{i+1}|x_i,j<i xj⊥xi+1∣xi,j<i。对于一列数 x 1 , x 2 , . . . , x p x_1,x_2,...,x_p x1,x2,...,xp,这样的假设下 x 2 x_2 x2就只与 x 1 x_1 x1有关。
典型的例子有HMM,有齐次马尔可夫假设。以及观测独立假设。都是为了简化高维下的运算。
但这样的假设,其实还是太简单太随意了。所以我们可以引申出条件独立性假设。它其实是马氏性质的一个推广。数学表示可以写作:
x A ⊥ x B ∣ x C x_A \perp x_B |x_C xA⊥xB∣xC
x A , x B , x C x_A, x_B,x_C xA,xB,xC是变量集合,且不相交。至于集合中到底有几个,就无所谓的。
有了条件独立性,我们可以大大简化联合概率计算的一个分解。所以条件独立性,是我们概率模型中一个核心的概念。如果要把概率引申到图的概念,无论是有向图还是无向图,都要表现出条件独立性;也就是说,条件独立性的概念要在图的形式上有所映射。
以上就是我们对高维随机变量和条件独立性的介绍。
有向图又叫贝叶斯网络,无向图又叫马尔可夫网路,我们往往假设是离散的随机变量。高斯图是从另一个维度分类的,即连续的随机变量,且服从高斯。由此,高斯也可以进一步分为高斯有向(Gaussian BN),和高斯无向(Gaussian MN)。
推断——给定已知数据的情况下,求一些概率分布。
学习——概率图中分为参数学习(把参数学出来)和结构学习(学习出更好的图的结构)。