首页
/ CMU 10-708 Probabilistic Graphical Models: A Graduate-Level Deep Dive into Bayesian Modeling

CMU 10-708 Probabilistic Graphical Models: A Graduate-Level Deep Dive into Bayesian Modeling

2026-09-06 18:41:50作者:郜逊炳

导读

本文以 docs/机器学习进阶/CMU10-708.en.md 记录的内容为主体,结合本仓库(cs-self-learning,计算机自学指南)的进阶机器学习学习路线,系统解析 CMU 10-708《概率图模型(Probabilistic Graphical Models)》这门研究生硬核课程的定位、先修要求、内容版图与配套自学资源。读完本文,你将理解概率图模型领域"表示—推断—学习"的知识框架,知道如何把该课程与 PRML、MLAPP 等经典教材以及仓库中的机器学习进阶路线衔接起来,从而为阅读和发表顶会 Probabilistic Methods 方向的论文打下基础。

课程速览:一门五颗星难度的概率建模硬核课

根据课程条目中的官方信息,这门课的基本档案如下:

维度 内容
所属大学 卡内基梅隆大学(Carnegie Mellon University,CMU)
课程编号 10-708
主讲人 Eric P. Xing(邢波)
课程类型 图模型"基础 + 进阶"课程
先修要求 Machine Learning、Deep Learning、Reinforcement Learning
难度评级 🌟🌟🌟🌟🌟(仓库给出的最高难度档)
资源形态 课程网站提供 slides、notes、video、homework、project 全套材料

原始文档将这门课定性为"概率图模型的基础与进阶课程",并明确指出其覆盖面:图模型基础、图模型与神经网络的结合、在强化学习中的应用、非参数方法。它在仓库中被标记为相当硬核(相当 hardcore / highly rigorous and comprehensive),是面向已经具备扎实机器学习、深度学习和强化学习基础的学习者设计的进阶内容。

在仓库的站点导航(mkdocs.yml)中,这门课被编排在"机器学习进阶"分组下,与 学习路线图Columbia STAT 8201: Deep Generative ModelsU Toronto STA 4273Stanford STATS214 / CS229M: Machine Learning Theory 并列。换句话说,它是仓库作者眼中"读完基础 ML/NLP/CV/RL 之后、准备走向概率方法科研路线"的标杆课程之一。

它在机器学习进阶路线中的定位

要理解 CMU 10-708 的价值,先要看清仓库"机器学习进阶"分组的设计意图。docs/机器学习进阶/roadmap.md 开篇就说明:这条路线适用于已学过基础机器学习(ML、NLP、CV、RL)、最好已经发表过至少一篇顶会论文、想走机器学习科研路线的高年级本科生或低年级研究生;目标是为"读懂与发表机器学习顶会论文"打下理论基础,尤其是 Probabilistic Methods 这一 track 下的论文。

该路线明确偏向贝叶斯学派下的概率建模方法,核心研读材料如下:

  • 必读教材:PRML(Pattern Recognition and Machine Learning,Bishop,经典贝叶斯学派)、AoS(All of Statistics,Larry Wasserman,经典频率学派),两本互补对照阅读;
  • 字典(遇到不懂的概念先查这里):MLAPP(Machine Learning: A Probabilistic Perspective,Kevin Murphy)、Convex Optimization(Boyd & Vandenberghe);
  • 进阶书籍:W&J《Graphical Models, Exponential Families, and Variational Inference》(Wainwright & Jordan)、《Theory of Point Estimation》(Lehmann & Casella)。

值得注意的是,W&J 这本书的核心主题——图模型、指数族与变分推断——恰好就是 10-708 这类 PGM 课程要打通的主线。而 roadmap.md 在给出基础阅读路径后明确写到:"以上的内容可以进一步对照 CMU 10-708 PGM 课程材料"(其英文版 roadmap.en.md 中对应为 "Cross-reference these topics with CMU 10-708 PGM course materials")。这是仓库内最直接的证据:10-708 被设计为教材阅读的知识校验站与深化入口,而非孤立的一门课。

先修要求解读:为何需要 ML + DL + RL 三件套

课程条目给出的先修要求是 Machine Learning、Deep Learning、Reinforcement Learning 三门同时具备。结合仓库的学习资源,可以这样拆解每一门先修到底在为什么做准备:

  • Machine Learning:概率图模型是概率论与统计学习的结构化延伸。如果对生成式/判别式模型、极大似然估计、贝叶斯推断、期望最大化(EM)这些基础概念还没有建立起直觉,直接进入图模型会非常吃力。仓库中对应的打底课程可参考 Stanford CS229UC Berkeley CS189 等基础机器学习课程;
  • Deep Learning:10-708 的内容并不停留在"纯图模型"上,而是覆盖图模型与神经网络的结合(structured prediction、深度生成式建模等方向)。因此需要对反向传播、神经网络架构与训练技巧足够熟练,才能在"符号化概率图 + 可微神经网络"的交叉地带自由切换视角。仓库可参考的深度学习入门课程包括 CS229 体系之外的 CS285CS230 等;
  • Reinforcement Learning:课程内容覆盖图模型在强化学习中的应用。RL 中的马尔可夫决策过程(MDP)、值函数与策略、基于模型的规划等概念,本质上都可以用概率图模型的框架(如动态贝叶斯网络、因子图上的推断)重新表述。仓库中的 UCB CS285: Deep Reinforcement Learning 可作为先修参考。

简言之,这门课假定你已经在三门子领域各自"毕业",然后才带你进入它们交汇处的抽象层——用统一的概率图语言重新组织这些知识。这也是它被评为最高难度档的原因。

课程内容版图:四大支柱的学科内涵

原始文档概括课程覆盖四大板块。虽然仓库无法提供课程逐周讲义,但结合概率图模型这一领域的通用知识架构,可以勾勒出每个板块要解决的核心问题,作为研读时的地图:

1. 图模型基础:把概率分布画成图

这是全课程的基石。其核心思想是用图结构编码随机变量之间的(条件)独立关系,从而把高维联合分布拆解成局部因子的乘积,让"表示、推断、学习"变得可行。学科内通常沿两条主线展开:

  • 表示(Representation):有向图模型(贝叶斯网络/信念网络)用有向边表达因果或条件依赖;无向图模型(马尔可夫随机场 MRF)用团上的势函数表达软约束;因子图是二者的通用中间表示。图上还伴随 d-分离、马尔可夫毯、I-map 等刻画独立性的概念;
  • 推断(Inference):给定观测,计算后验或边缘概率。精确推断路线包括变量消元、信念传播(即 roadmap 中所说的 Sum-Product 算法)、联结树算法;近似推断路线则对应 MCMC(采样法)与变分推断(VI)两大流派;
  • 学习(Learning):从数据中估计图的结构与参数,包括完全/不完全观测下的极大似然与贝叶斯估计,EM 算法在此有天然的位置。

仓库的 roadmap.md 恰好用这一框架定义了"学完该阶段应掌握"的能力清单:概率模型的基础定义、精准推断 Sum-Product、近似推断 MCMC、近似推断 VI。这说明 10-708 的理论内核与仓库进阶路线高度同构。

2. 与神经网络的结合:图模型 × 深度学习

这是"进阶"色彩最浓的部分。图模型提供结构化的先验与推理机制,神经网络提供强大的函数逼近器,二者结合催生了深度生成模型(如 VAE、归一化流等与隐变量图模型的联系)、结构化输出预测(序列/树/图上的预测)等方向。仓库把这门课放在"机器学习进阶"而非"深度学习"分组,恰恰是因为它更强调用概率建模的视角统一这些看似前沿的主题。

3. 在强化学习中的应用:PGM 视角下的决策

强化学习中的状态转移、奖励与策略可建模为概率图结构,贝叶斯推断的思想也被用于探索-利用权衡、模型不确定性估计等 RL 问题中。学过 PGM 后,再回头看策略梯度、基于模型的 RL,会有一种"这些都是图模型框架下的特例"的通透感。

4. 非参数方法:突破固定参数假设

非参数贝叶斯方法(如高斯过程、狄利克雷过程混合模型、印度自助餐过程等)让模型复杂度随数据自动增长。它们通常通过无穷维隐变量与图结构结合来构造,是通往现代深度生成模型与贝叶斯深度学习的重要桥梁。

以上四块拼在一起,就构成了原始文档所说的"严谨且全面(highly rigorous and comprehensive)"的课程图景。

资源使用指南:如何吃透一门"全靠官网"的课程

课程条目强调"课程网站包含了所有的资源:slides、notes、video、homework and project"。这意味着一门资源自包含的课程,自学可行性的关键在于如何编排这些材料。按典型的学习节奏,建议如下分配:

资源类型 建议用法
slides 快速建立每讲的知识地图,标注不懂的术语,事后回查;
notes 作为精读主体,逐行推导关键公式(推断算法的推导尤其值得动手),notes 一般比 slides 更完整;
video 针对 notes 中推不动的难点定向回看,而非全程刷视频;
homework 检验对算法的理解是否"能落地",建议独立完成再对照讨论;
project 把课程所学压缩进一个完整课题(如对真实数据构造并求解一个图模型),是打通理论与工程的关键一步。

结合仓库的进阶路线,研读 10-708 时应当保持对照阅读的习惯。docs/机器学习进阶/roadmap.md 给出的方法论是:同时打开教材与课程材料讲同一主题的章节,比较异同与联系。例如读到"精确推断 / 信念传播"时,可同时打开 PRML 第 8 章(Graphical Models)与课程对应讲义;读到"变分推断"与"MCMC"时,对照 PRML 第 10、11 章以及 AoS 第 24 章(Simulation Methods);读到"隐马尔可夫模型 / 线性动态系统"时,可对照 PRML 第 13 章与 MLAPP 第 17、18 章。这样课程材料就从一个独立的"硬核挑战"变成了对教材知识的检验与升华。

周边课程互补:在进阶分组中拼出完整图谱

仓库把 10-708 放在一个精心设计的进阶课程组合里,相邻课程恰好覆盖了概率图模型的"前后左右":

如果目标是顶会 Probabilistic Methods track,合理的进阶顺序可以是:先按 roadmap 完成 PRML/AoS 的基础阅读 → 以 10-708 为纲系统化图模型的表示-推断-学习 → 再用 STAT 8201 / CS229M 等在深度生成模型与理论方向作专项冲刺。

总结与学习建议

CMU 10-708 是仓库"机器学习进阶"分组中一颗明确定位的高强度课程:它要求学习者同时具备机器学习、深度学习与强化学习三门先修,难度被评为最高的五颗星,却也因此提供了把三者统一到概率图框架下的完整训练。对自学者而言,最具操作性的行动清单是:

  1. 先按 docs/机器学习进阶/roadmap.md 完成 PRML 第 8/10/11/13 章与 AoS 对应章节的基础阅读,确保掌握概率模型定义、Sum-Product 精确推断、MCMC 与变分推断四条主线;
  2. 以课程官方全套材料(slides / notes / video / homework / project)为主体逐讲推进,notes 精读、video 定点回看;
  3. 过程中严格采用多材料对照阅读,把教材(PRML/MLAPP)与课程讲义中同一主题放在一起比较;
  4. 认真完成 homework 与 project,把推断与学习算法真正跑通在数据上;
  5. 完成后,将视野延伸到本组的 STAT 8201、CS229M、STA4273,向深度生成模型与学习理论方向继续深入。

原始课程条目可继续查阅 docs/机器学习进阶/CMU10-708.en.md,其中文版见 docs/机器学习进阶/CMU10-708.md

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.75 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
857
1.35 K
docsdocs
暂无描述
Markdown
898
5.82 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
921
1.84 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.8 K
1.02 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
531
596
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.02 K
519
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.36 K
1.46 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
548
391