2326 字
12 分钟
阅读量加载中...
鸢尾花书系列与矩阵两个视角

为什么推荐“鸢尾花书”系列#

把数学书读完之后,最容易留下的错觉是:概念都见过,却不知道它们为什么要按这个顺序出现。读完《鸢尾花书:从加减乘除到机器学习》系列的《数学要素》后,我的感受恰好相反:这套书不急着把公式堆满,而是不断追问“这个概念解决了什么问题”,再把答案接回数据科学和机器学习,同时通过把公式可视化,让读者更直观感受空间中数据是怎么变化

本文不是书目罗列,而是一次读后总结:这套书怎样组织知识、代码仓库怎样配合阅读,以及我认为最值得反复琢磨的主题——矩阵乘法的两个视角

其中一本书介绍#

《数学要素》覆盖 25 个章节,主线可以概括为五段:

  1. 数与运算(Ch01–Ch04)

从“万物皆数”、乘除、几何、代数开始,把抽象符号和可计算对象对应起来。第二章的副标题是“从九九乘法到矩阵乘法”,已经埋下了后面线性代数的伏笔

  1. 空间与函数(Ch05–Ch14)

笛卡尔坐标系、三维坐标系、距离、圆锥曲线及其深入内容,随后进入函数、代数函数、超越函数、二元函数和数列。这里反复使用图像、等高线和参数变化,让“函数”不再只是输入输出的黑盒

  1. 变化与累计(Ch15–Ch18)

导数、偏导数、微分、积分分别回答变化率、局部变化、多元线性近似和面积/体积累计等问题。读者会看到,微积分并非凭空出现,而是坐标、函数和数列自然推进的结果

  1. 不确定性与决策(Ch19–Ch21)

优化入门、概率入门、统计入门,把“寻找最优”“描述随机性”“从样本认识总体”连接起来,并以鸢尾花数据为统计练习对象

  1. 向量与模型(Ch22–Ch25)

向量遇见坐标系,随后用三章“鸡兔同笼”完成一次综合演练:线性方程组 → 最小二乘/线性回归 → 转移矩阵、特征值与马尔可夫过程。

这种编排的价值在于,机器学习所需的数学不再是四处散落的先修知识,而是一条可追踪的因果链:数据被表示为向量,关系被写成函数,误差被定义为目标,参数通过优化得到,不确定性用概率统计表达

“鸡兔同笼”是该书的高潮#

传统鸡兔同笼只有两个未知数和两个方程,容易被当成小学应用题,书中却把它逐级升级:

  • Ch23:线性代数

把“头和脚”的方程写成 $A\mathbf{x}=\mathbf{b}$,再从列向量、线性组合和超定方程组理解矩阵,矩阵不只是方程的简写,也是把“鸡的特征”和“兔的特征”并排放入同一个线性空间的容器

  • Ch24:线性回归

当观测数多于未知参数时,方程通常无精确解,问题转为让残差平方和最小。书中同时给出代数、几何、优化和统计四种解释,并得到正规方程 $\hat{\beta}=(X^TX)^{-1}X^Ty$(可逆时)。同一个结果在不同视角下互相校验,这正是数据科学的工作方式

  • Ch25:概率遇见线性代数

鸡和兔每晚按概率互变,状态向量经过转移矩阵反复作用:$\pi_{k+1}=T\pi_k$ 多次迭代后趋于稳定分布,特征值为 1 的特征向量给出了这个长期状态

故事的作用不是“降低难度”这么简单,而是让一个对象在不同章节不断变形:方程的未知量变成向量,方程组的系数变成矩阵,误差变成优化目标,状态比例又变成概率向量。读者因此能看到知识之间的接口

矩阵乘法的两个视角#

设转移矩阵和状态向量为

$$ T = \begin{bmatrix} t_{11} & t_{12} \cr t_{21} & t_{22} \end{bmatrix} , \qquad \pi_k= \begin{bmatrix} p_k(\text{鸡}) \cr p_k(\text{兔}) \end{bmatrix} , \qquad \pi_{k+1}=T\pi_k $$

第一视角:按“结果”看每一行是一个新状态#

普通矩阵乘法按行与列做点积:

$$ p_{k+1}(\text{鸡})=t_{11} p_k(\text{鸡})+t_{12} p_k(\text{兔}) $$

$$ p_{k+1}(\text{兔})=t_{21} p_k(\text{鸡})+t_{22} p_k(\text{兔}) $$

这是一种聚合视角:先问“下一晚鸡的比例是多少”,再把来自鸡、兔两种来源的贡献相加,在线性回归中,预测值 $\hat y=X\beta$ 也可这样理解:每一行对应一个样本,特征与参数做加权求和,生成该样本的预测

第二视角:按“来源”看每一列是一种状态的去向#

把 $T$ 按列拆开:

$$ T=[\mathbf t_1\ \mathbf t_2],\qquad T\pi_k=p_k(\text{鸡})\mathbf t_1+p_k(\text{兔})\mathbf t_2 $$

这是一种线性组合视角:鸡当前所占比例,乘上“鸡会变成什么”的列向量;兔当前所占比例,乘上“兔会变成什么”的列向量;两者相加得到下一状态,矩阵因此可以看成一组基于来源的“变换模板”,输入向量的系数决定各模板的混合比例

两种视角完全等价,却适合回答不同问题:第一视角适合逐个计算输出分量、检查每个结果;第二视角适合理解矩阵作为线性变换如何组合列向量,也更容易连接到基、子空间和特征向量

书中用同一个鸡兔互变例子把这两个视角并列展示,是非常值得迁移到其他问题的学习方法

从两个视角继续走向机器学习#

这两个视角并不只属于线性代数课本:

  • 神经网络

$W\mathbf x$ 的第一视角是逐个神经元汇总输入;第二视角是把输入的每个分量映射成一个方向,再按分量大小线性组合

  • 推荐与图模型

转移矩阵的列描述“从一个节点出发会去哪里”,反复相乘就是随机游走;稳定分布与 PageRank、马尔可夫链直接相连

  • 降维与表示学习

特征向量是变换后方向不变的向量,特征值表示沿该方向的伸缩倍数;PCA 正是利用协方差矩阵的特征结构寻找主要变化方向

  • 最小二乘

$X\beta$ 是列向量的线性组合,而正规方程把“投影到列空间”写成了可计算的矩阵形式

如果只记住一个学习习惯,建议是:每遇到一个矩阵乘法,先按行展开一次,再按列展开一次,并分别问“输出由谁汇总”和“输入被映射到哪里”? 这一步往往比背诵乘法口诀更能帮助我们建立模型直觉

系列书开源仓库#

开源仓库github地址:https://github.com/Visualize-ML

本篇文章介绍的是仓库中 Book3_Elements-of-Mathematics ,其中目录与 PDF 同级提供 Python 代码、Jupyter Notebook 和 Streamlit 小应用:例如 Ch23–Ch25 各自有配套代码,可以修改鸡兔比例、矩阵元素和迭代次数,立即观察解、投影、误差曲面或稳定分布如何变化

README 还保留了《数学要素》《统计至简》《矩阵力量》的资料入口,若从 GitHub 镜像阅读,建议以作者主页的最新链接为准,并优先从仓库目录进入对应章节代码,避免只下载单个 PDF 而错过可交互部分

适合怎样的读者,怎样读更有效#

这套书适合三类人:想补齐机器学习数学基础的 Python 学习者;需要把高中数学重新接到数据分析的人;以及已经会调用库、但希望理解模型内部机制的工程师,它不是一本严格的数学分析或线性代数教材,证明深度和理论覆盖有意保持在“能建立直觉、能动手验证”的范围内

推荐的阅读方式是“章节 PDF + 同编号 Notebook + 一个可改变参数的实验”,每章先看图和问题,再读公式,最后运行代码,遇到矩阵时坚持使用两个视角复述一遍,这样读完之后,留下的不会只是 25 个章节名,而是一张从数、空间、变化、随机性到模型的知识地图

一句话评价:

这套书最珍贵的地方,不是把数学讲得“更简单”,而是把数学概念重新放回问题、图像和代码中,矩阵的两个视角,则把这种“同一对象、多重解释”的方法展示得最完整

历史相关文章#


以上是自己实践中遇到的一些问题,分享出来供大家参考学习,欢迎关注微信公众号DataShare,不定期分享干货

微信公众号