概率图模型01 简介
前言
最近开始看《模式识别与机器学习》的时候,遇到了一些障碍,所以开始学习概率图模型,为了更好的充电以及激励自己,开始写这个博客也主要是想开始正统的学习一下,里面主要跟的是eric xing的概率图模型的课程,希望自己可以坚持翻译完里面的课堂笔记,以及完成作业。:)
课堂回顾
在这节课当中,我们主要介绍了贝叶斯网络的概念,以及贝叶斯网络如何能够表现出随机变量之间的内在独立关系。我们同时还讨论了贝叶斯网络当中的不同的结构,并且它们如何编码不同的随即变量独立信息。最后,我们通过稳固性以及完备性,来分析贝叶斯网络与概率模型的等价关系。
概念
该课程中使用的概念如下
- X,Y,Z:随机变量 例子:X~(\mu,\Sigma)
- x,y,z:一个随机变量可能的取值 例子:P(X=x|Y=y,Z=z)
- \vec{X},\vec{Y},\vec{Z}:随机向量
- X_1,Y_2,Z_3随机向量里面的元素 例子:\vec{X}=(X_1,X_2,X_3)
- XYZ 随机矩阵 例子:Xwuju={\vec{X_1}},\vec{X_2},\vec{X_3},\vec{X_4}
表示多元随机分布
概率图模型主要用来做什么?我们可以看这么一个式子:
P(X_1,X_2,...X_n)\qquad\qquad(1)
上面的是一个联合分布概率,一般情况下,我们暂时假设他们都是离散类型的变量(当然也可以是连续的)假如我们要精确的表达出上面的分布,一般情况下可以这么来做,上面的n个变量,我们假设每个变量有两个值在这样的情况下,当我们需要去表达一个具体的概率的时候,我们至少需要2^n来表达上面的联合分布概率但是,假如,仅仅是假如,变量之间有一定的关系呢?比如X_1与X_2是互相独立的,那么我们可以稍微省略一点东西在里面极端情况下,所有的变量都独立,
P(X_1,X_2,...X_n)=P(X_1)P(X_2)P(X_3)...P(X_n)\qquad\qquad(3)
那么我们的复杂度瞬间总原来的2^n下降到了2n,但是显然大部分情况下实际应用当中,没有这么好的事情存在,这样的模型大大的降低了复杂程度,但是在另外一个方面,表达能力大大的降低了。我们来看看另外一个极端的例子:
P(X_1,X_2,...X_n)=P(X_1)P(X_2|X_1)P(X_3|X1,X_2)...P(X_n|X_1,X_2,...X_n-1)\qquad\qquad(2)
上面的这个式子,每一个都是之前的变量都是前面的条件概率,这样的式子,可以表达任何条件独立的情况,假如我们想用(2)来表达(3),那么也很简单,因为(2)当中如果真正条件独立,必然存在这样的情况P(X_2|X_1)=P(X_2)自然就的到了(3),但是这样的情况,又会让式子变得及其复杂,我们的复杂度又回到了原来的情况。一般的式子都是介于这两种极端情况之间,也就是说,里面部分变量互相独立,部分变量有关系。也有变量条件独立。
主要有三个优点
- 1为概率模型提供了一种可视化的视角,有了这种方式,我们可以通过这种可视化来设计新的模型
- 2概率图模型可以表示出概率分布一些内在的属性,比如条件独立性等等
- 3在概率中一些比较复杂的操作,可以用一些图方法的操作来代替它
概率图模型直观描述:作弊的赌场
假设这么一个场景,你去赌场里面赌博,当然你的目的主要为了赢钱,每个人都要下注$1,来掷一次色子,谁最大的可以赢得$2。现在想象一下,你玩了很久,然后发现这么一个情况,赌场方面在掷色子的时候,出现6的情况总是很高,高的不同寻常,你觉得色子有问题,或者说,你觉得,在你掷色子的时候,这个色子是一个正常的色子,当赌场方面掷色子的时候这个色子被偷偷换成了作弊的色子。在这样的情况下,你会问三个问题
- 估计:在统计学上,假设我们的色子是一个正常的色子,它的序列应该是什么样子的
- 解码:当我们得到一个色子之后,哪些部分可能是作弊的色子掷出来的?
- 学习:作弊的色子有多么不平衡(比如把掷为6的概率环到了0.5)还有赌场偷偷的换掉色子的概率是多少?
为了解决上面的问题,我们至少需要三个步骤来进行建模:选择模型的变量,选择模型的结构,选择相关的概率,我们来对此做一个例子:
- 选择变量:我们选择X_n来作为我们观察到的输出第n次投掷,Y_n来表示第n次的色子是否被换成作弊的色子
- 选择结构:在这个例子当中,问题很明确,我们选择一个合适的模型去表示它(图1)。做了这样的一个假设。前面一次的色子选择情况已定成都上影响了后面。Y_t \rightarrow Y_t+1。另外一个方面需要表达的就是,选择哪个色子,也影响了我们我们最后掷出来的点数Y_t \rightarrow X_t
- 选择概率:我们选择和上述描述向符合的概率。当选择具体的色子之后,每个点数的概率,以及选择正常色子还是作弊色子的概率,我们假设在所有的时间点上(P(Y_{t+1}|Y_t),P(X_t|Y_t))的概率分布都相同。最后的输入模型如下图所示。这个模型也被称之为隐马尔科夫模型。
<center>图1 赌场隐马尔科夫模型</center>
贝叶斯网络
介绍
贝叶斯网络是一种有向的不闭环的网络,(首先是有向,学过图的人应该知道有向图,然后是不闭环,就是说我们找不到一条路径,可以让一个点作为起点,也作为终点。),贝叶斯网络主要用来编码概率分布里面的条件依赖与独立。(后面会详细的说一下什么是条件独立,条件不独立,也就是依赖)。其中,节点主要代表随机变量,箭头代表的是两个随机变量之间的依赖关系。
因子化(factorization)
因子化主要是根据“节点是被它们的父节点所影响”这个理念,来提供一种最直接的,普遍的联合分布概率表达方式。直观的来说,因子化提供的是一种贝叶斯网络版本的联合分布表达方式。也就是说,我们首先有一个联合分布,我们也它的图,那么我们可以根据图来直接进行因子化,我们只需要如下这么写就好了:
P(X_1,X_2,...X_n) = \prod_{i=1:n}P(X_i|Parents(X_i))
局部结构以及独立性
下面我们主要介绍三种局部化结构,并且它们的独立性。这样的局部结构组成了贝叶斯网络。(其实可以这么想,一个不闭环的图只能有这三种局部结构)。我们可以通过这三种结构来进行合适的表示,表示出所有的贝叶斯网络,具体详细见图2
- 级联 也就是在2-a里面的图。我们看到,这个局部结构当中,X指向Y指向Z,主要表达的信息X \perp Z|Y 也就是说,党我们观察到Y之后,x与z之间相互独立,举个例子来说,假如我们要通过一个面试,这个面试主要的决定是一场考试,规则很简单,只要考试过了,就可以拿到offer,我们假设Z为拿到offer的概率,X为面试的人的素质,是否为一个优秀的人,Y代表是否通过考试,我们什么信息也不知道的时候,我们知道,一个比较优秀的人可能很大概率通过考试,也就是更大的机会拿到offer,我们换一种假设,我们知道一个人他已经通过了考试,那么,基本上已经确定拿到offer而与这个人是否优秀无关。
- 共同的起因(起点) 图2(b)里面阐述的就是这种结构。也就是X,Z的父母节点都是Y,这种情况下,这个局部结构表达的独立情况为X\perp Z|Y。也就是说,当我们观察到Y的时候,X与Z之间条件独立。举个例子来说,还是拿上面那个例子,我们现在的Y是一个人品德优秀,X是指一个人可以拿到offer,Z是指一个人可以在面试中有好成绩,假设我们现在知道一个人拿到了offer那么在很大的概率上可以推断出来,这个人品德优秀,品德优秀从而大大提高了这个人在面试中取得了好成绩。假设我们现在知道了Y也就是这个人品德优秀,那么一个人是否拿到offer就与Z无关
-
共同的影响(终点)在这种情况下,如图3(c)所示,当我们观察到Y的时候,x,z反而不独立,当我们没观察到Y的时候,X,Z独立。我们来举一个例子,假如Y代表一个人拿到了offer,拿到offer取决于两个判断,是否来自名校,和品德优秀,假如我们观察到了Y,假如一个人已经拿到了offer,x,z不互相独立,因为假如我们知道他来自名校,那么,他品德优秀的概率就会降低。
<center>图2 贝叶斯网络局部结构</center>
I-map简介
我们现在考虑这么一个问题:给定分布P,我们如何构建一个图,使得这个图可以表示这个分布P所有的独立性?反之亦然。直观的来说,我们假设现在有一个图G,如果图G中所有的独立性声明,同时在P当中也是满足的,那么我们可以断言,图G是分布P的一个I-map。因此,G要成为P的一个I-map那就要求,我们观察到的独立性,在P中必须存在。但是,反过来说,当G是分布P的一个I-map的时候,分布P可能包含G里面不存在的独立性。
公式化的角度来定义的话,假设P是X上的一个分布。我们定义I(P)是在P当中各种独立性的声明的集合比如(X\perp Y|Z),假设我们有一个图K,我们现在从图K中也得出了一个独立性集合I(K),并且I(K)属于I(P),那么我们就可以说,K是P的一个I-map 。
马尔可夫独立假设
上面的一些图G反应的是局部马尔可夫性质以及全局马尔可夫独立性。具体的来说,我们首先来看看局部马尔可夫性,局部马尔可夫性说的是,当我们观察到一个节点的所有父母节点之后,那么该节点与其他飞后继节点(也就是起点是X终点指向的节点)独立。公式化的方式来说,我们定义P_{aX_i} 为在G中X_i 的父节点 定义NonDescendants X_i 为除了X子节点之外的所有节点。那么,存在如下性质的独立性: X_i\perp NonDescendants X_i|P_{aX_i}:\forall i
全局马尔可夫性质和D-分离的概念有关,