pml-book《概率机器学习》第 11 章线性回归全攻略:官方补充材料、五份实战 Notebook 与源码级学习路径
文档教程机器学习【免费下载链接】pml-bookProbabilistic Machine Learning - a book series by Kevin Murphy项目地址https://gitcode.com/gh_mirrors/pm/pml-book点击查看免费下载导读本文围绕 Kevin P. Murphy 所著《Probabilistic Machine Learning: An Introduction》pml-book 第 1 卷MIT Press 2022第 11 章 Linear regression 的官方补充材料deprecated/supplements/chap11.md展开系统梳理其中的 5 份实战 Notebook、它们对应的技术栈与作者并结合同仓库的章节配图 Notebook 与书站主页还原第 11 章完整知识地图最小二乘、正则化、样条、稳健回归、贝叶斯推断等。读完本文你将掌握如何按学习目标挑选合适的线性回归实现路径NumPy 从零实现、sklearn/JAX、PyTorch、PyMC3、TFP并了解如何在 Colab 中一键复现这些材料。一、文档定位chap11.md 是什么deprecated/supplements/chap11.md是 pml-book 仓库中第 11 章Linear regression的补充材料索引。它的职责不是讲解公式而是把官方维护的、与本章配套的可执行 Notebook 集中列成一张速查表供读者按实现方式 / 编程框架 / 学习目标快速跳转。文档正文为一个 Markdown 表格含Title | Software | Link | Author(s)四列共收录 5 条记录同目录下还提供了一份机器可读的 CSV 副本 deprecated/supplements/chap11.csv字段为Title, Language, Type, Link方便脚本化索引在 deprecated/README.md 的章节总表中第 11 行明确给出了本章的配图 Notebook 与补充材料的对应关系Chapter 11 → Linear regression。需要说明的是原文档Link列中的 Notebook 均托管在 probml 系列的 notebooks 仓库中属于仓库外资源本文不重复输出外部链接仅以 Notebook 文件名指代读者如需完整链接可直接查看原文档对应列。二、第 11 章「Linear regression」讲了什么源码级章节地图补充材料是对正文的延伸因此要理解这 5 份 Notebook 的价值应先掌握第 11 章本身覆盖的内容。仓库内保存的章节配图 Notebook deprecated/figure_notebooks/chapter11_linear_regression_figures.ipynb 由 Kevin P. Murphy 与 Mahmoud Soliman 编写完整复现了本章全部插图其 Markdown 注释恰好构成一份权威的章节内容清单图号主题生成脚本均在 pyprobml/scripts11.1用 1 次 / 2 次多项式拟合 21 个数据点直观展示欠拟合与拟合程度linreg_poly_vs_degree.py11.2RSS 残差平方和误差曲面的等高线蓝色叉为 MLE与曲面图linreg_contours_sse_plot.py11.3最小二乘的几何解释A x b中目标向量在列空间上的正交投影、残差向量见 Figure_11.3.png图示11.4在线顺序回归中系数随数据到来的演化linregOnlineDemo.py11.5–11.61 次 / 2 次多项式回归的残差图与拟合-实际对照图linreg_poly_vs_degree.py11.7岭回归的几何似然椭圆 原点圆心先验geom_ridge.py11.8最小二乘问题的 ℓ1左与 ℓ2右正则化对比见 Figure_11.8.png图示11.9软阈值与硬阈值横轴为剔除第 k 个系数后的残差纵轴为惩罚残差最小的系数估计中间平坦区为[-λ, λ]图示11.10–11.12前列腺癌数据8 特征 / 67 训练样本 / 30 测试样本上 OLS、最优子集、Ridge、Lasso 的系数路径与测试集 MSE 对比、误差箱线图ridgePathProstate.py、lassoPathProstate.py、prostate_comparison.py11.13–11.15用 lasso 恢复稀疏信号group lasso 在分段高斯 / 分段常数信号上的表现ℓ2 与 ℓ∞ 块范数对比sparse_sensing_demo.py、groupLassoDemo.py11.16–11.18B 样条基函数0/1/3 次、设计矩阵热力图、带 15 个节点的三次样条拟合splines_basis_weighted.py、splines_basis_heatmap.py、splines_cherry_blossoms.py11.19稳健线性回归Huber 损失linregRobustDemoCombined.py、huberLossPlot.py11.20贝叶斯线性回归的顺序推断先验 → 1 个数据点 → 2 个数据点 → 100 个数据点后的后验与后验预测linreg_2d_bayes_demo.py11.21Plugin 近似 vs 真实后验预测密度2σ 误差带、后验采样对比linreg_post_pred_plot.py11.22数据居中与否对p(w0,w1|D)后验采样的影响PyMC3 实现linreg_2d_bayes_centering_pymc3.py11.23–11.24共线性multi-leg示例联合后验与βl βr的后验multi_collinear_legs_numpyro.py从这张图不难看出第 11 章的主线是先建立最小二乘 / MLE 的代数与几何直觉再引入正则化Ridge/Lasso/group lasso与基函数扩展多项式、B 样条最后过渡到贝叶斯线性回归后验推断、后验预测与共线性诊断。这正是下面 5 份补充 Notebook 要手把手落实的编程实践。三、五份官方补充 Notebook 逐一解读以下完整继承自 chap11.md 的原始表格Link 列以 Notebook 文件名表示完整链接见原文档Title标题Software软件LinkNotebook 文件名Author(s)作者Linear regression from scratch从零实现线性回归NumPyLinearRegressionProbML.ipynbAshish TendulkarLinear regression using sklearn and JAX用 sklearn 与 JAX 做线性回归Sklearnlinreg_sklearn.ipynbKevin MurphyPolynomial regression多项式回归PyTorchpoly_regression_torch.ipynbd2l.ai authorsBayesian linear regression with MCMC贝叶斯线性回归 MCMCPyMC3linreg_pymc3.ipynbKevin MurphyBayesian linear regression with variational inference贝叶斯线性回归 变分推断TFPsvi_linear_regression_1d_tfp.ipynbTFP team结合第 11 章的知识结构这 5 份 Notebook 恰好覆盖了从理解原理到生产使用再到概率推断的三层需求LinearRegressionProbML.ipynbNumPyAshish Tendulkar——从零实现。从标题与章节语境推断它侧重于用 NumPy 手写最小二乘 / 正规方程与矩阵运算不依赖高级库适合想弄清ŷ X w、w* (XᵀX)⁻¹Xᵀy每一步数学含义的读者也是对照第 11.2–11.3 节RSS、MLE 解最直接的代码形态。linreg_sklearn.ipynbSklearnKevin Murphy——工程实践。用scikit-learn的现成回归器快速完成拟合、评估与可视化是拿来即用的基准路径标题中还出现 JAX可推断其同时演示了基于 JAX 的向量化 / 自动微分实现便于和 sklearn 结果互相验证。poly_regression_torch.ipynbPyTorchd2l.ai authors——从 d2l.ai《动手学深度学习》移植的经典教程。以多项式回归为例展示特征变换构造多项式基后用 PyTorch 训练衔接章节图 11.1 中多项式次数 1 vs 2 拟合 21 个数据点的场景是理解基函数 线性模型统一视角的桥。linreg_pymc3.ipynbPyMC3Kevin Murphy——MCMC 采样路线。对应章节图 11.20、11.22 的顺序贝叶斯推断与数据居中分析用 PyMC3 定义线性模型、指定高斯先验通过采样得到p(w0,w1|D)的后验样本是严格概率视角的实现示范。svi_linear_regression_1d_tfp.ipynbTFPTFP team——变分推断路线。用 TensorFlow Probability 的一维线性回归示例演示 SVI随机变分推断与 PyMC3 的 MCMC 形成互补一个偏采样、一个偏优化对应贝叶斯推断的两大类近似手段。四、如何在 Colab 中运行这些材料补充 Notebook 与章节配图 Notebook 都面向 Colab 设计开箱即用。以 chapter11_linear_regression_figures.ipynb 为例每个插图单元都内嵌了标准的setup 单元见该文件第 L64-L82#title Click me to run setup { display-mode: form } try: if PYPROBML_SETUP_ALREADY_RUN: print(skipping setup) except: PYPROBML_SETUP_ALREADY_RUN True print(running setup...) !git clone --depth 1 https://github.com/probml/pyprobml /pyprobml /dev/null %cd -q /pyprobml/scripts %reload_ext autoreload %autoreload 2 !pip install superimport deimport -qqq其含义是首次运行时克隆pyprobml工具库到/pyprobml安装superimport/deimport两个辅助包由于用环境变量做了幂等标记同一章内后续单元的 setup 会直接跳过。随后直接以%run -n方式执行对应脚本例如图 11.1 单元内的L93try_deimport() %run -n linreg_poly_vs_degree.py书站主页 book1.html 对这一工作流有更完整的说明阅读 PDF 版书籍时点击正文中标注为figures.probml.ai/x.y的链接即可打开对应章节的 Colab 并自动滚动到该图单元点击setup按钮后首次安装大约需要 10 秒之后同章内再打开其他单元会显著加快代码单元会自动补装缺失的 Python 包偶尔需要运行两次。若想在本地运行可将scripts目录下的脚本下载到笔记本执行但涉及 GPU 的演示更推荐在 Colab 中进行。五、按学习目标选择工具与阅读路径结合前文分析可以给出一张目标 → 工具的速查决策表学习目标推荐 Notebook理由理解最小二乘的数学本质LinearRegressionProbML.ipynbNumPy从零推导无黑盒快速落地 / 与已有 sklearn 生态集成linreg_sklearn.ipynbSklearn工程化基准实现理解基函数扩展与模型训练循环poly_regression_torch.ipynbPyTorch与深度学习框架无缝衔接严格的贝叶斯后验采样视角linreg_pymc3.ipynbPyMC3MCMC 采样 数据居中分析可扩展的贝叶斯推断优化视角svi_linear_regression_1d_tfp.ipynbTFP变分推断适合大数据推荐的学习顺序是先用 NumPy 版从零打通公式再用 sklearn 版验证工程写法接着用 PyTorch 版把线性模型 基函数升级为可训练的网络最后视需求进入 PyMC3 / TFP 的概率推断路线与第 11 章图 11.20–11.24 的贝叶斯内容一一对应。六、相关仓库文件速查补充材料文档正文deprecated/supplements/chap11.md补充材料机器可读版\deprecated/supplements/chap11.csv第 11 章配图 Notebook含全部 setup 单元与脚本调用deprecated/figure_notebooks/chapter11_linear_regression_figures.ipynb章节与资源对照总表deprecated/README.md书站主页说明 figures.probml.ai / setup 工作流book1.html本章核心配图最小二乘几何图、ℓ1 与 ℓ2 正则化对比综上chap11.md虽只是一张索引表但它在 pml-book 生态中扮演着把书本章节翻译成可运行代码的关键角色只要按本文给出的对照关系选择 Notebook并沿用章节配图 Notebook 的 Colab setup 工作流即可把第 11 章从读公式快速推进到跑代码、看结果、做推断的完整闭环。赞分享文档教程机器学习【免费下载链接】pml-bookProbabilistic Machine Learning - a book series by Kevin Murphy项目地址https://gitcode.com/gh_mirrors/pm/pml-book点击查看免费下载相关推荐机器学习公式与代码对应datawhalechina/pumpkin-book第3章线性回归实现机器学习公式与代码对应datawhalechina/pumpkin book第3章线性回归实现 你是否在学习线性回归时遇到公式推导与代码实现脱节的问题本文将教程机器学习pyprobml 实战指南用 Notebook 复现《概率机器学习》第 3 章——多元概率模型pyprobml 实战指南用 Notebook 复现《概率机器学习》第 3 章——多元概率模型 导读 本文以 notebooks/book1/03/READM机器学习深度学习开源项目教程概率机器学习系列书籍probml/pml-book开源项目教程概率机器学习系列书籍probml/pml book 项目介绍 概率机器学习系列是由Kevin Murphy编写的书籍集合托管在GitHub上文档教程机器学习上一篇Bazel 内存优化完全指南限制、回收与 Profiling 实战下一篇RuFlo 记忆协调员Memory CoordinatorAgent 模板深度解析跨会话持久记忆与多 Agent 记忆共享架构创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考