想象你身边有两位朋友:小A是数学系的高冷学霸,小C是物理系的吉他手。他们原本互不认识,唯一的交集是你们共同的好友小B——小B就像一台人形消息中转站,把A的课表传进C的琴房,把C的歌单带到A的图书馆。于是,小A和小C之间“好像”有了关联:你想知道C今天会不会出现在食堂,先猜猜A上午有没有课,准能提高命中率。然而有一天,你拿到了小B整整一周的聊天记录,把每条消息都看得明明白白。这时奇迹发生了:A的事和C的事彻底脱钩——知道A翘课了,你依然无从推断C中午吃什么。因为所有信息都借道B,而B的底牌已经被你摸清。这就是“条件独立”:给定中间人B的全部信息之后,A与C之间的统计关联消失得干干净净。本文就把这扇“信息闸门”拆开,讲清它的定义、判定方法、在图模型中的表达,以及它给AI带来的惊人计算简化。

岗位关联

掌握条件独立,你就拿到了读懂贝叶斯网络、概率图模型和因果推断的入门钥匙——建模时一眼看出哪些概率可以拆解、哪些结构暗示独立,是设计高效、可解释概率模型的必备直觉。

目录
  1. 可视化演示
  2. 条件独立定义
  3. 判定准则
  4. 基本性质
  5. 贝叶斯网络
  6. d分离判定
  7. 马尔可夫随机场
  8. 应用与价值
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。

本节配有交互动效(进入视口后自动加载,约 3KB)。

系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T

条件独立定义

在开篇的故事里,小A和小C本是两条平行线,只因共同好友小B,他们的消息才产生了交集。条件独立性要回答的正是这个问题:当我们把小B的聊天记录全部摊开在桌上之后,小A和小C之间还有没有私下的联系?如果没有,我们就说:给定 B,A 和 C 条件独立。

用概率的语言说,条件独立指的是:在已知第三个变量 Z 的某个取值之后,X 与 Y 不再互相提供任何增量信息。记作 \(X \perp\!\!\!\perp Y \mid Z\),读作“X 与 Y 在给定 Z 下条件独立”。要注意,它与无条件独立 \(X \perp Y\) 完全不同:无条件独立相当于 A 和 C 根本没有共同朋友、从不搭话;而条件独立允许他们拥有共同朋友,只是这个朋友的全部底细已经在你掌握之中,两条线之间的“暗线”被抽干了。

形式化定义很简洁:若对所有可能的取值 x、y、z,联合概率都能分解为两个条件概率的乘积,则称条件独立成立。

回到校园故事:你不知道小B说什么时,A 的传闻会顺着 B 传进 C 的耳朵里,两人看似密切相关;一旦你把 B 的聊天记录完整读过,A 和 C 之间就再也传不出一句话——这就是“给定 B 后 A 与 C 条件独立”的直观画面。

P(X,Y∣Z)=P(X∣Z)⋅P(Y∣Z)\displaystyle P(X, Y \mid Z) = P(X \mid Z) \cdot P(Y \mid Z)
  1. 左式 \(P(X, Y \mid Z)\)已知 Z 时,X 和 Y 同时发生的概率。好比你把 B 的全部消息记在脑中之后,再看 A 型和 C 型消息同时出现的可能性。
    P(X,Y∣Z)\displaystyle P(X, Y \mid Z)
  2. 右式第一项 \(P(X \mid Z)\)同样已知 Z,单独考虑 X 发生的概率,对应你只看 A 的消息。
    P(X∣Z)\displaystyle P(X \mid Z)
  3. 右式第二项 \(P(Y \mid Z)\)已知 Z 时,单独考虑 Y 发生的概率,对应你只看 C 的消息。
    P(Y∣Z)\displaystyle P(Y \mid Z)
  4. 等号成立联合概率恰好等于两个边缘概率的乘积,说明 X 和 Y 在给定 Z 后没有任何交叉信息;否则等号会被一个额外的依赖项破坏。
    P(X,Y∣Z)=P(X∣Z)⋅P(Y∣Z)\displaystyle P(X, Y \mid Z) = P(X \mid Z) \cdot P(Y \mid Z)

判定准则

怎样才知道小B是否真的把 A 和 C 的联系切断了?办法是做一个“对照实验”:先把 B 的信息背得滚瓜烂熟,然后分别听两种汇报——只汇报 A 的消息,或同时汇报 A 和 C 的消息。如果听完之后,你对 C 的预判一模一样,说明 C 的消息没有带来任何额外信息;反之,说明 A 和 C 之间还有“私聊”。

这个对照实验翻译成概率,就是条件独立的第二个等价定义:在 Z 已知的前提下,Y 的取值不会改变 X 的分布。也就是说,条件概率 \(P(X \mid Y, Z)\) 与 \(P(X \mid Z)\) 处处相等。

实际判定中常用三条准则。其一是概率乘积判据:对所有 x、y、z 逐一验证联合概率是否等于两个条件概率的乘积;其二是条件分布比对:检查 \(P(X \mid y, z)\) 是否与 \(P(X \mid z)\) 对每个 y 都相等;其三是增量信息检验:从信息论看,条件独立等价于条件互信息 \(I(X;Y \mid Z) = 0\),即 Y 不能降低 X 在 Z 条件下的不确定性。

这三种准则就像三种验货方式:查账本(逐项枚举)、做实验(条件分布对比)、算信息差(互信息)。无论用哪种,结论都指向同一句话——B 在场时,A 和 C 之间没有任何私相授受。

P(X∣Y,Z)=P(X∣Z)\displaystyle P(X \mid Y, Z) = P(X \mid Z)
  1. 左式 \(P(X \mid Y, Z)\)已知 Y 和 Z 时对 X 的预测。翻译过来就是:又听了 C 的消息,又听了 B 的消息之后,你对 A 的猜测。
    P(X∣Y,Z)\displaystyle P(X \mid Y, Z)
  2. 右式 \(P(X \mid Z)\)只知道 Z 时对 X 的预测。翻译过来就是:只掌握了 B 的消息,没听 C 的动静时,你对 A 的猜测。
    P(X∣Z)\displaystyle P(X \mid Z)
  3. 等号两个预测完全相同,说明 Y 没有带来增量信息;从直觉上说,在 B 已知后,再多听一条 C 的消息,对 A 的猜测毫无帮助。
    P(X∣Y,Z)=P(X∣Z)\displaystyle P(X \mid Y, Z) = P(X \mid Z)

基本性质

条件独立性有自己的“社交礼仪”,四条公理把这种关系编织成一套逻辑严密的朋友圈规则:对称性、分解性、弱联合性、收缩性。

对称性说,如果我跟你在给定 Z 下无关,那你也跟我无关,这是显然的。分解性说,如果我在给定 Z 时跟“你们仨”都没关系,那么跟其中的任何一个人更没关系。弱联合性说,如果我与你“整组”无关,那么即使额外加入 W,我和你的关系也不会变坏。收缩性说,已经建立的条件独立关系,不会因为继续收集证据而被推翻——这几条合在一起,构成了图模型推理的代数基础。

以分解性为例,它的数学表达式非常直观:

这些性质让“信息闸门”可以被安全地开关:在复杂网络中,只要判断出某一组变量条件独立,就可以放心地把联合概率拆成若干小块分别计算,不必担心拆错。

X⊥ ⁣ ⁣ ⁣⊥(Y,W)∣Z  ⟹  X⊥ ⁣ ⁣ ⁣⊥Y∣Z\displaystyle X \perp\!\!\!\perp (Y, W) \mid Z \implies X \perp\!\!\!\perp Y \mid Z
  1. 前提 \(X \perp (Y, W) \mid Z\)给定 Z 时,X 和“Y 与 W 的组合”条件独立。好比 B 的消息已知后,A 跟 C 以及 C 的室友都没有往来。
    X⊥ ⁣ ⁣ ⁣⊥(Y,W)∣Z\displaystyle X \perp\!\!\!\perp (Y, W) \mid Z
  2. 箭头 \(\implies\)由“整组无关”推出“组内任一成员无关”。
      ⟹  \displaystyle \implies
  3. 结论 \(X \perp Y \mid Z\)给定同样的 Z,X 和 Y 单独也条件独立。因为如果跟一整圈人都不联系,那么跟其中某个人自然也不联系。
    X⊥ ⁣ ⁣ ⁣⊥Y∣Z\displaystyle X \perp\!\!\!\perp Y \mid Z

贝叶斯网络

校园消息网不是一团乱麻,而是一张有方向的“组织架构图”:小B 的消息从哪里来、往哪里去,箭头画得明明白白。贝叶斯网络做的正是这件事——用有向无环图(DAG)把变量之间的直接影响画出来。

图中每个节点是一个随机变量,一条从 X 指向 Y 的箭头表示 X 直接影响 Y。这张图最有价值的地方在于:它把“谁跟谁有条件独立”直接编码进了结构里。一个节点给定它的所有父节点后,与所有非后代节点条件独立——这叫局部马尔可夫性。基于这种局部独立性,任意一个贝叶斯网络定义的联合分布都可以写成一串小因子的乘积:

看懂这张图,就相当于掌握了校园传话的总路线图:消息只会沿着箭头流动,只要你在某个节点上把消息“读满”,上游和下游就再也无法绕过它私通款曲——这正是贝叶斯网络能高效推理的秘密。

P(X1,…,Xn)=∏i=1nP(Xi∣Pa(Xi))\displaystyle P(X_1, \ldots, X_n) = \prod_{i=1}^n P(X_i \mid \mathrm{Pa}(X_i))
  1. 左式 \(P(X_1, \ldots, X_n)\)所有随机变量的联合概率。如果没有条件独立,这张“联合分布表”会随着变量个数指数膨胀,根本存不下。
    P(X1,…,Xn)\displaystyle P(X_1, \ldots, X_n)
  2. 连乘号 \(\prod_{i=1}^n\)把 n 个局部条件概率依次相乘,表示把大问题拆成 n 个小问题。
    ∏i=1n\displaystyle \prod_{i=1}^n
  3. 父节点集合 \(\mathrm{Pa}(X_i)\)\(X_i\) 在贝叶斯网络中的所有父节点。只要给定父节点,\(X_i\) 与图中其他“不相干”的节点条件独立。
    Pa(Xi)\displaystyle \mathrm{Pa}(X_i)
  4. 等式整张联合分布被拆成一堆小因子,每个因子只依赖父节点。这正是条件独立在图结构上带来的计算红利。
    P(X1,…,Xn)=∏i=1nP(Xi∣Pa(Xi))\displaystyle P(X_1, \ldots, X_n) = \prod_{i=1}^n P(X_i \mid \mathrm{Pa}(X_i))

d分离判定

有了有向图,下一个问题是:给定某些节点 Z 后,A 和 C 之间还通不通消息?d 分离就是图上的“道路封锁检测器”。它把所有可能的传播路径一条条检查,看 Z 是否把每条路都堵死。

检查分三种结构。第一种是串行链 A→B→C:B 是必经关卡,给定 B 后消息被截断,A 与 C 条件独立。第二种是发散叉 A←B→C:B 是共同好友,一旦 B 的消息已知,A、C 也各过各的。第三种最反直觉,是收敛汇 A→B←C:A 和 C 都在向 B 汇报,如果 B 未被观测,两条汇报线互不相干,A、C 独立;一旦 B 被观测,两条线在 B 处汇合,A、C 反而相关。以串行链为例:

判断 A 与 C 在给定 Z 下是否 d 分离,只需检查每条从 A 到 C 的路径:在串行和发散结构中,路径经过 Z 中的节点时被阻断;在收敛结构中,只有当事先不知道 B 及其后代时,汇合才会阻断路径。若所有路径都被阻断,则 Z d 分离 A 与 C,并由马尔可夫性质推出条件独立成立。实际操作也可以先构建道德图,再删去 Z 及其连边,最后检查 A 与 C 是否连通。

回到请家长的例子:小A是数学课代表,小C是班长,两人向班主任小B各自汇报。平时两人毫无交集;可一旦听说“班主任收到举报”,事情就变得相关——知道不是小A举报的,线索自然指向小C。这就是收敛结构给你上的最生动一课。

A→B→C,P(A,C∣B)=P(A∣B)⋅P(C∣B)\displaystyle A \to B \to C,\quad P(A, C \mid B) = P(A \mid B) \cdot P(C \mid B)
  1. 路径 \(A \to B \to C\)串行连接,消息只能经 B 中转,B 是唯一关卡。
    A→B→C\displaystyle A \to B \to C
  2. 左式 \(P(A, C \mid B)\)已知 B 时,A 与 C 同时出现的概率。
    P(A,C∣B)\displaystyle P(A, C \mid B)
  3. 右式乘积两项相乘,表示在 B 条件下 A、C 没有任何交叉信息,路径被完全阻断。
    P(A∣B)⋅P(C∣B)\displaystyle P(A \mid B) \cdot P(C \mid B)
  4. 结论若不给定 B,等号一般被破坏,A 与 C 表现为相关;这与 d 分离的判定完全吻合。
    P(A,C∣B)=P(A∣B)⋅P(C∣B)\displaystyle P(A, C \mid B) = P(A \mid B) \cdot P(C \mid B)

马尔可夫随机场

不是所有关系都像传话那样有方向。小区的邻里关系就没有箭头:你关心的是谁住你隔壁,谁跟你隔了两栋楼。马尔可夫随机场就用无向图来刻画这种“近邻效应”。

无向图里只有边,没有箭头。两个节点有边相连,表示它们之间有直接的相互作用。基于局部作用,可以推出三种层层递进的马尔可夫性:成对马尔可夫性、局部马尔可夫性、全局马尔可夫性。其中局部马尔可夫性是最常用的:给定一个节点的全部邻居后,该节点与图中其余所有节点条件独立。公式写出来是:

打个比方:小B 家在小区 3 号楼,他家只跟隔壁 2 号楼和 4 号楼的邻居打交道。只要你把这两户邻居的动向摸得一清二楚,9 号楼那边发生什么,跟小B家再无半点关联。这就是“邻居是信息的边界”。

Xv⊥ ⁣ ⁣ ⁣⊥XV∖{v}∣XN(v)\displaystyle X_v \perp\!\!\!\perp X_{V \setminus \{v\}} \mid X_{\mathcal{N}(v)}
  1. \(X_v\)图中某个节点 v 对应的变量,相当于故事里的小B家。
    Xv\displaystyle X_v
  2. \(V \setminus \{v\}\)把所有其他节点(去掉 v 本身)集合起来,相当于小区里除了小B家以外的所有住户。
    XV∖{v}\displaystyle X_{V \setminus \{v\}}
  3. \(\mathcal{N}(v)\)v 的邻居节点集合,也就是与 v 直接有边相连的节点,相当于小B家的左邻右舍。
    XN(v)\displaystyle X_{\mathcal{N}(v)}
  4. \(\perp\!\!\!\perp\) 关系给定邻居后,v 与其余所有节点条件独立——邻居是 v 和外界联系的唯一窗口。
    Xv⊥ ⁣ ⁣ ⁣⊥XV∖{v}∣XN(v)\displaystyle X_v \perp\!\!\!\perp X_{V \setminus \{v\}} \mid X_{\mathcal{N}(v)}

应用与价值

条件独立最大的价值是“省账本”。假设你有一张 30 个症状的医疗诊断表:如果症状之间完全互相依赖,你需要记下 \(2^{30}\) 个联合概率,比地球上的人口还多。可一旦知道疾病后症状彼此条件独立,你只需要 30×2 个参数。这一下就把指数级灾难变成了线性级轻松。

第一个经典应用是医疗诊断。医生看到“发热、咳嗽、乏力”,若假定这些症状在疾病给定下条件独立,就可以用朴素贝叶斯快速估计患某病的概率。第二个是 NLP 中的垃圾邮件过滤:把“中奖”“点击”“免费”当成词语特征,假设它们在“垃圾邮件”类别下条件独立,分类器只需要统计每个词的条件概率,再相乘比较。朴素贝叶斯公式写出来是:

你会发现,无论是看病、过滤垃圾邮件,还是推断因果关系,AI 工程师都在做同一件事:找到那张决定“谁跟谁说话”的关系图,把庞大的联合概率拆成小块,让每个小块单独计算,再拼回答案。条件独立,就是那把最关键的拆解手术刀。

P(C∣x1,…,xn)∝P(C)∏i=1nP(xi∣C)\displaystyle P(C \mid x_1, \ldots, x_n) \propto P(C) \prod_{i=1}^n P(x_i \mid C)
  1. 左式 \(P(C \mid x_1, \ldots, x_n)\)看到全部特征后类别的后验概率,也就是我们的最终判断。
    P(C∣x1,…,xn)\displaystyle P(C \mid x_1, \ldots, x_n)
  2. 正比符号 \(\propto\)右边可以省略分母 \(P(x_1, \ldots, x_n)\),因为对所有类别它是同一个常数,不影响大小比较。
    ∝\displaystyle \propto
  3. 先验概率 \(P(C)\)在没看到任何特征前,这个类别本身出现的频率。
    P(C)\displaystyle P(C)
  4. 连乘 \(\prod_{i=1}^n P(x_i \mid C)\)每个特征在类别已知时各自贡献一个条件概率。条件独立假设把 n 个特征从“需要 2 的 n 次方个组合参数”简化为“只要 n 个单特征参数”。
    ∏i=1nP(xi∣C)\displaystyle \prod_{i=1}^n P(x_i \mid C)

AI 应用场景

医疗智能导诊

阶段:特征建模 / 贝叶斯概率推理

解决的问题:传统医生凭经验难以同时权衡几十个症状的组合,而全联合概率表又会指数爆炸。条件独立假设把“疾病—症状”关系拆成单症状参数,导诊系统能在几毫秒内给出候选疾病排序。

具体案例:某互联网医院的智能导诊系统,用户输入“发热、咳嗽、乏力”,系统利用朴素贝叶斯结构,对流感、普通感冒、肺炎分别计算后验概率,再结合流行病学史给出就诊建议。

垃圾邮件过滤

阶段:文本分类 / 特征工程

解决的问题:一封邮件包含几十个词,如果考虑词与词的全部组合,参数多到无法估计;条件独立让每个词单独贡献证据,工程上稳定且易维护。

具体案例:某邮箱服务商将“中奖”“点击”“免费”等词在垃圾邮件中的出现概率预先统计好,新邮件到达时按朴素贝叶斯相乘计算垃圾概率,拦截准确率超过 95%。

因果推断中的混杂控制

阶段:因果建模 / A/B测试分析

解决的问题:想判断“广告投放是否真的带来购买”,直接看相关可能被用户画像的混杂效应误导;利用 d 分离找出后门路径,给定阻断集合后广告与转化条件独立,从而估计真实因果效应。

具体案例:某电商平台在评估新广告位时,用 d 分离判定“给定用户历史购买行为后,广告曝光与转化是否条件独立”,未通过则继续补充协变量,最终得到可信的因果增量。

Python 演示

python31 行
"""朴素贝叶斯诊断器: 利用条件独立假设把大联合概率拆成小参数"""import math  class NaiveBayesDiagnoser:    """在"疾病给定后症状互相独立"的假设下做快速诊断"""     def __init__(self, prior):        self.prior = prior        self.likelihood = {}     def fit_symptom(self, symptom, p_disease, p_healthy=0.05):        self.likelihood[symptom] = (p_disease, p_healthy)     def predict(self, symptoms):        log_odds = math.log(self.prior / (1.0 - self.prior))        for sym in symptoms:            p_d, p_h = self.likelihood[sym]            log_odds += math.log(p_d / p_h)        return 1.0 / (1.0 + math.exp(-log_odds))  if __name__ == "__main__":    model = NaiveBayesDiagnoser(prior=0.01)    model.fit_symptom("发热", 0.90)    model.fit_symptom("咳嗽", 0.80)    model.fit_symptom("乏力", 0.70)     for evidence in (["发热"], ["发热", "咳嗽"], ["发热", "咳嗽", "乏力"]):        prob = model.predict(evidence)        print("症状: {} => 患病概率: {:.1%}".format(evidence, prob))
目的:实现一个朴素贝叶斯医疗诊断器,演示“症状在疾病给定下条件独立”如何用极少参数完成概率推断。
  1. log_odds = math.log(self.prior / (1.0 - self.prior))把先验概率转成对数赔率,让后续的乘法变成加法,避免概率连乘导致数值下溢。
  2. for sym in symptoms:逐个读取出现的症状证据,每个症状独立参与更新。
  3. log_odds += math.log(p_d / p_h)每个症状单独贡献一份“证据量”,这是条件独立假设在代码里的直接体现。
  4. return 1.0 / (1.0 + math.exp(-log_odds))把对数赔率还原为 0 到 1 的概率,就是最终后验。

常见误区

误区我理解了,既然 X 和 Y 条件独立,那它们在任何情况下都没有关系,可以直接当成两个独立的变量处理。

正解条件独立只是“给定 Z”这个视角下没有关系。撤掉 Z 后,X 和 Y 完全可能表现出强烈的统计相关。比如“咳嗽”和“发烧”在已知“流感”后条件独立,但把流感这个信息丢掉,两者在人群中高度相关。中间人 B 一旦失联,A 和 C 的消息又会重新流通起来。

为何常见:因为人们把“独立”理解为“绝对无关”,忽略了条件二字所隐含的前提,把局部观察当成了全局结论。

误区既然多了条件,条件独立一定比无条件独立更严格、更稀少,所以条件独立成立时,无条件独立也一定成立。

正解两者没有包含关系。给定 Z 后可能独立(例如共同原因已知),但无条件时可能非常相关;反过来,无条件独立也可能在给定 Z 后变得相关(例如收敛结构中“请家长”效应)。它们是两套不同的断言,不存在谁强谁弱的单调关系。

为何常见:直觉上认为“附加条件 = 约束增强”,但概率图模型告诉我们,条件既可能切断路径,也可能打开路径。

误区A→B→C,给定 B 后 A 和 C 独立,那我完全学会 d 分离了——凡是经过 B 的路都能被 B 阻断。

正解对串行和发散结构成立,但收敛结构 A→B←C 恰好相反:B 未知时 A 和 C 独立,B 一旦被观测,A 和 C 反而相关。因为“看到结果”后,人们会开始推断“到底是哪个原因造成的”,两条原因线被悄悄连了起来。

为何常见:新手只看见 B 挡在中间,没注意箭头方向是朝内还是朝外,把三种连接结构混为一谈。

误区d 分离能直接从图上判断独立性,所以以后所有条件独立问题都不用算概率了。

正解d 分离是结构层面的充分条件——如果图结构保证 d 分离,则概率分布一定条件独立。但反过来,一个特定的参数化分布可能因为数值巧合,拥有图上没画出来的额外独立性,这类情况必须用数值检验。图提供的是承诺,不是全部真相。

为何常见:把“结构性保证”当成“全能判据”,忽略了忠实性(faithfulness)假设的存在。

面试题

Q1. 随机变量 X 与 Y 在给定 Z 时条件独立,下列哪个等式成立?

单选题 · easy

  • A.P(X,Y|Z)=P(X|Z)P(Y|Z) 是定义式← 正确答案
  • B.P(X,Y)=P(X)P(Y) 是边缘独立式
  • C.P(X|Y)=P(Y|X) 是贝叶斯交换式
  • D.P(X,Y|Z)=P(X|Z)+P(Y|Z) 是加法式

答案:A。条件独立的定义式是联合概率等于两个条件概率的乘积。选项 B 是无条件独立的定义;选项 C 是条件概率的交换写法;选项 D 把乘法错写成了加法。用校园比喻说:把 B 的信息摊开后,A 和 C 没有任何交叉信息,概率自然拆成两项相乘。

Q2. 无条件独立与条件独立之间的关系是?

单选题 · easy

  • A.无条件独立则任意条件下都独立
  • B.条件独立则无条件一定独立
  • C.二者可以互相推导并等价使用
  • D.二者没有必然的包含关系← 正确答案

答案:D。无条件独立和条件独立是两套不同的断言。共同原因 B 会让两个结果在未知 B 时相关、已知 B 后独立;收敛结构中,两个原因在 B 未知时独立、B 已知后相关。所以两者不存在谁推出谁的包含关系。

Q3. 在串行结构 A→B→C 中,要让 A 与 C 条件独立,应该给定哪个节点?

单选题 · mid

  • A.给定节点 B,消息被完全阻断← 正确答案
  • B.给定节点 A,阻断源头即可
  • C.给定节点 C,阻断终点即可
  • D.不给定任何节点也会独立

答案:A。串行结构中 B 是唯一关卡,给定 B 后路径被阻断,A 和 C 条件独立。给定 A 或 C 只是观察端点,无法阻断中间的传播路径;不给定任何节点时,消息会沿路径流动,A 与 C 并不独立。

Q4. 在收敛结构 A→B←C 中,下列关于 A 与 C 独立的说法哪个正确?

单选题 · mid

  • A.不知道 B 时两者独立成立← 正确答案
  • B.知道 B 后两者一定独立
  • C.不管 B 是否已知两者都独立
  • D.不管 B 是否已知两者都不独立

答案:A。收敛结构里,B 未知时 A 和 C 没有任何联系,保持独立;B 一旦被观测,两条汇报线在 B 处交汇,A 和 C 反而相关。这就是“请家长效应”,是 d 分离中最反直觉的一点。

Q5. 在贝叶斯网络中,集合 Z 使 A 与 C d 分离的充要条件是?

单选题 · mid

  • A.Z 阻断从 A 到 C 的全部路径← 正确答案
  • B.Z 阻断从 A 到 C 的某条路径
  • C.A 与 C 之间不存在直接边
  • D.A 与 C 拥有共同祖先节点

答案:A。d 分离要求阻断所有路径,只阻断一条不够。比如两个节点之间既有一条直接边,又有一条经过 B 的曲路,堵住曲路后直接边仍然连通,A 与 C 依然不独立。必须全部路径都断,才算 d 分离。

Q6. 已知 X 与 (Y,W) 在给定 Z 下条件独立,可以推出什么结论?

单选题 · mid

  • A.X 与 Y 在给定 Z 下条件独立← 正确答案
  • B.Y 与 W 在给定 Z 下也条件独立
  • C.X 与 Y 无条件互相独立
  • D.三者两两之间完全无关

答案:A。这是分解性:整组条件独立可以推出任一部分条件独立。反过来不成立——和 Y 独立不代表和 (Y,W) 整体也独立。就像和小A 不联系,不代表和小A 及其室友组成的整体也完全不联系。

Q7. 朴素贝叶斯分类器最核心的假设是什么?

单选题 · easy

  • A.特征在类别给定后条件独立← 正确答案
  • B.所有特征之间无条件独立
  • C.类别和特征互不相关
  • D.特征必须服从高斯分布

答案:A。朴素贝叶斯不是假设特征完全独立,而是假设特征在已知类别后条件独立。这个假设温和得多:允许特征之间有关系,只是所有关系都由类别来解释。高斯分布是某些变体的额外假设,不是核心。

Q8. 下列哪些模型或方法直接利用了条件独立性?

多选题 · hard

  • A.贝叶斯网络的结构分解← 正确答案
  • B.马尔可夫随机场的邻居性← 正确答案
  • C.线性回归最小二乘估计
  • D.朴素贝叶斯文本分类器← 正确答案

答案:ABD。贝叶斯网络用链式分解利用条件独立;马尔可夫随机场用邻居边界利用条件独立;朴素贝叶斯更是条件独立的直接应用。线性回归最小二乘属于频率派参数估计,不依赖概率图模型的条件独立结构。

Q9. 关于 d 分离与概率条件独立的关系,正确的说法有哪些?

多选题 · hard

  • A.d 分离是图结构上的判定方法← 正确答案
  • B.d 分离蕴含概率条件独立成立← 正确答案
  • C.概率条件独立必然图 d 分离
  • D.二者之间没有任何必然关联

答案:AB。d 分离是图上的结构判定,属于充分条件:d 分离蕴含条件独立。但反过来不必然成立,参数化分布可能因为数值巧合出现额外的条件独立,这称为非忠实分布。所以不能说条件独立必然对应 d 分离。

Q10. 在收敛结构 A→B←C 中,哪些操作会让 A 与 C 之间建立起相关性?

多选题 · extreme

  • A.观测到 B 的具体取值← 正确答案
  • B.观测到 B 的某个后代节点← 正确答案
  • C.观测不到 B 及其后代节点
  • D.B 已知时 A 与 C 仍然独立

答案:AB。在 V 型结构中,观测 B 或 B 的任一后代都会“激活”A 与 C 的相关性,因为看到结果后人们会推断原因。不观测 B 及后代时 A、C 保持独立;B 已知时 A、C 并非独立而是相关。这是 d 分离中最易考错的一点。