独立(Independence)
统计独立(Statistical Independence)
\[
X \perp Y \leftrightarrow P(X,Y)=P(Y) P(Y)
\]
思考:假设 \(X \perp Y\),\(Y \perp Z\),那么 \(X\) 和 \(Y\) 有没有独立关系呢?
举例:爸吃饭,奥巴马吃饭,妈吃饭
条件独立(Conditional Independence)
\[
X \perp Y | Z \leftrightarrow P(X, Y|Z)=P(X|Z)P(Y|Z)
\]
仅知道 Z 就能够决定 X ,此时 Y 与 X (条件)独立
概率图模型(Probabilistic Graphical Models)
预备知识
对于 D 个 K 项随机变量:\(X_1, ..., X_D \quad X_i \in \left \{ 1, ..., K \right \}\)
边际(Marginal):
\[
P(X_{1:i-1,\ i+1:D})=\sum_{X_i}P(X_{1:D})
\]
链式法则(Chain Rule)求联合分布
\[
P(X_{1:D})=P(X_1)\prod_{d=2}^{D}P(X_{d}|X_{1:d-1})
\]
计算联合分布时浮现的问题
计算该分布共需要 \(O(K^D)\) 个参数(即概率)!
- 推断:推断时计算量太大
- 学习:学习这么多参数需要大量数据
想法:使用条件独立化简模型
有向图与无向图模型(Directed Graph and Undirected Graph Model)
- 更高效的参数化(Parameterization)
- 更高效的推断(Inference)
\[
P(X_{1:D})=P(X_1) \prod_{d=2}^D P(X_{d}|X_{d-1})
\]
直观解释:要预测某个随机变量的值,只需要那些与之相关的变量。
有向图模型(Directed Graphical Model)
- DAG -- 有向无环图(Directed Acyclic Graph)
- 用局部条件分布的乘积来表示联合分布
- 条件已经规范化
- 也叫贝叶斯置信网络(Bayesian Belief Network)
关键性质
顺序马尔可夫性质(Ordered Markov Property):节点仅取决于直接父节点,即
\[
X_i \perp X_{pred(i)\setminus parent(i)} | X_{parent(i)}
\]
无向图模型(Undirected Graphical Model)
...
图模型的主要任务(Main Tasks in Graphical Models)
有向图模型的条件独立(Conditional Independence in Directed Graph Model)
条件独立和 D-separation
- P 构成一条链结构:\(s \rightarrow m \rightarrow t\) 或 \(s \leftarrow m \leftarrow t\),其中 \(m \in E\)
- P 构成一个峰结构:\(_s \swarrow ^m \searrow _t\),其中 \(m \in E\)
- P 构成一个谷结构:\(^s \searrow _m \swarrow ^t\),其中 \(m\cup descendant(m) \notin E\)
此时,我们用 E 将节点集合 A,B 分隔开了。
同时,A 和 B 在 E 的条件下独立:\(A \perp B\ |\ E\)
因此,我们找到了在 DAG 中对应于条件独立的性质 -- D-separation
贝叶斯球算法(Bayesian Ball Algorithm)
步骤如下:
- 标记所有 E 中的节点表示其为观察值(Evidence);
- 在 A 中的每个节点放“球”,让它们以一定规则“弹射”(无视图中边的方向);
- 检查“球”是否进入了 B 中的节点。
“弹射”规则:
- 碰到链结构、峰结构中会被“弹回”;
- 碰到谷结构会被“弹回”(注意:谷结构的“谷底”节点不是 Evidence)。
直观解释:谷结构中,两个父节点在共同子节点的条件下,两父节点相关(不独立)。这种现象被称为“explaining away”。例如,抛两枚硬币的先验是相互独立的。而当我们观察到正面硬币的个数时,概率被耦合起来了(正面朝上的硬币个数是1,有1枚硬币正面朝上,则另外1枚硬币必然反面朝上)。
变量消除与精确推断(Exact Inference via Variable Elimination)
- 运用统计独立拆分联合分布
- Push sum into products(Key idea of Variable Elimination)
- Elimination Order:优先清除连接边数最少的节点
联合树算法(Junction Tree Algorithm)
Moralization
将有向图模型(DGM)转化为无向图模型(UGM)时需要的一种方法,任何 share 同一子节点的父节点们必须加一条边接通(教化:未婚先孕必须马上结婚?)
目的:保证 DGM 和 UGM 在条件独立上的对应性
Triangulation
先介绍一个重要概念:弦图(Chordal Graph)
步骤
(实质上就是 variable elimination 算法)
- 根据 elimination order 确定要消除的节点 N;
- 添加 fill-in edges:节点 N 的所有 neighbor 要互相连接,以确保相关性信息不会被同时清除;
同时,保存节点 N 及其 neighbor 构成的 clique;
注意:如果给的图模型已经是弦图,可以证明步骤2能够被跳过。 - 删除该节点 N。
Triangulation 完成后,我们必定会得到一个弦图。
建立 Junction Tree
找出 Triangulation 步骤中保存的所有 cliques 中的 maximal cliques,则这些 maximal cliques 就可以被拿来构成junction tree(也称为 clique tree,cluster tree)
Junction Tree 的树节点(即 clique,又叫 cluster)之间的边是不同树节点中的图节点的交集来标记的;
交集表示这些树可以通过这些图节点交换信息。
Running Intersection Property
如果某个图节点 \(N \in C_i\) 且 \(N \in C_j\)( \(C\) 表示 clique),则 \(N\) 一定包含在 \(C_i\)、\(C_j\)之间路径上的所有 cliques 里面。
Junction Tree 一定满足 RIP,因为 VE 算法中一个图节点存在于 clique 的时间是从出现到直到被消除。
可以证明,如果一棵树满足 RIP,对该树做BP,就会得到我们需要的结果。
Junction Tree 也可以被推广为 Cluster Graph;
Written with StackEdit.