Loading...
正在加载...
请稍候

鸢尾花书——用图形打败公式的数学启蒙运动

✨步子哥 (steper) 2026年07月13日 23:39

数学难在哪?不在计算,不在证明,而在直觉

你知道协方差矩阵的特征值分解是旋转+拉伸,但你脑子里看到的是什么?一坨符号。你知道正态分布的等高线是椭圆,但你能在三维空间里"看到"它吗?你知道 PCA 降维是在找方差最大的方向,但你能想象数据在投影过程中的形变吗?

如果你不能"看到"数学,你就只是在背公式。而背公式的人,永远无法真正理解机器学习。

这就是"鸢尾花书"系列存在的意义——它用图形和代码,把那些反直觉的数学特性变成你能看见、能摸着、能旋转的东西。

一、什么是鸢尾花书?

"鸢尾花书"是一套 7 本的数学+编程+可视化+机器学习系列教材,全名"鸢尾花数学大系:从加减乘除到机器学习"。作者是姜禄彬(网名"生姜"),团队叫 Visualize-ML。整套书的开源代码和 Jupyter Notebook 都在 GitHub 上免费公开。

七本书的脉络是:

  1. 《编程不难》——零基础 Python 入门,从变量到函数到面向对象
  2. 《可视之美》——用 matplotlib、plotly 等工具画数学图形
  3. 《数学要素》——微积分、线性代数、概率统计的核心概念,全程配可视化
  4. 《线性代数不难·上册》——向量、矩阵、线性变换的几何直觉
  5. 《线性代数不难·下册》——特征值、SVD、矩阵分解的可视化
  6. 《数据不难》——统计学、数据分析、概率分布
  7. 《机器学习》——经典 ML 算法,从线性回归到神经网络

书名"鸢尾花"来自 Fisher 1936 年使用的鸢尾花数据集——机器学习历史上最经典的入门数据集。用这个名字,是在向统计学习的源头致敬。

二、为什么可视化比公式更重要?

传统数学教材的写法是:定义 → 定理 → 证明 → 例题。这种写法适合已经建立了数学直觉的人,但对初学者极其不友好——你在没有"看到"概念之前就被要求"证明"它。

鸢尾花书的做法是反过来的:先看图,再写代码,最后看公式

举个例子:理解矩阵乘法。传统教材告诉你 (AB)ᵢⱼ = Σ Aᵢₖ Bₖⱼ,然后让你算几个例子。你算完了,但不知道这玩意儿在干什么。

鸢尾花书的做法是:先给你看一个矩阵乘以向量的动画——向量被"拉长+旋转"了。然后给你看两个矩阵相乘的动画——两个变换的复合。然后让你用 Python 自己写代码,画不同矩阵对单位圆的变换效果。最后告诉你:哦,矩阵乘法就是线性变换的复合,行列式是面积缩放因子,特征向量是不被旋转的方向。

一图胜千言。一个动画胜千图。一个交互式 Notebook 胜千动画。

这套理念不是鸢尾花书发明的——3Blue1Brown 的线性代数系列就是先驱。但 3Blue1Brown 是视频,你被动观看。鸢尾花书是 Notebook,你必须自己跑代码、改参数、看结果。主动参与比被动观看的留存率高一个数量级。

三、反直觉的数学特性:图形的力量

数学里充满了反直觉的特性,公式告诉你它们是对的,但你的大脑拒绝接受。图形能强行让你的大脑接受。

案例一:高维球的体积趋近于零

n 维球的体积公式是 V_n = π^(n/2) / Γ(n/2 + 1) · r^n。当 n→∞ 时,V_n → 0。这意味着 100 维空间里,半径为 1 的球(包含原点周围所有距离≤1的点)的体积几乎为零。

公式告诉你这个结果,但你的直觉拒绝接受——"球怎么可能没有体积?"当你用 Python 画出 V_n 随 n 变化的曲线,看到它先上升后下降到零,你的大脑才会真正"认输"。这个结果对机器学习至关重要:高维空间里,数据点几乎全在"角落"而不是"中心"——这就是维度灾难的几何根源。

案例二:正态分布的样本均值不一定正态

中心极限定理说样本均值渐近正态。但"渐近"有多渐近?如果原始分布是厚尾的(比如 Cauchy 分布),样本均值永远不收敛到正态——它还是 Cauchy 分布。CLT 的前提是方差有限,Cauchy 分布的方差是无穷大。

用代码从 Cauchy 分布抽样,算样本均值,画直方图——你会发现不管样本量多大,直方图还是 Cauchy 的形状。这个"眼见为实"比任何证明都更有说服力。

案例三:相关系数为零不意味着独立

两个变量相关系数为零,只说明没有线性关系。它们可能有强烈的非线性关系。经典例子:X 服从标准正态,Y = X²。corr(X, Y) = 0,但 Y 完全由 X 决定。

鸢尾花书让你用代码生成这样的数据,画散点图——一个完美的抛物线。然后算相关系数——零。你的大脑会"啊哈"一下:原来相关性这么不靠谱。这个"啊哈"时刻,就是理解因果推断为什么必要的起点。

四、从加减乘除到机器学习:一条完整的路径

鸢尾花书最有野心的地方是它的覆盖范围——从最基础的 Python 编程,一路到机器学习的经典算法。这不是一本书,是一条学习路径

路径的设计逻辑是:

编程(Book 1)→ 可视化(Book 2)→ 数学(Book 3-6)→ 机器学习(Book 7)

每一层都建立在前一层之上。你不先学会画图,就没法理解数学;不先理解数学,就没法理解机器学习。

这种"自底向上"的路径和传统教材不同。传统教材是"自顶向下"的——先讲机器学习算法,需要什么数学知识再回头补。好处是快速上手,坏处是永远停留在"调包侠"水平,遇到新问题不会变通。

鸢尾花书的理念是:如果你真正理解了数学,机器学习的算法就是水到渠成。线性回归是矩阵乘法+梯度下降,PCA 是特征值分解,SVM 是拉格朗日对偶,神经网络是链式法则——所有"算法"都是数学的特例。

五、开源精神:免费的不只是书

鸢尾花书的全部代码在 GitHub 上开源(Visualize-ML 组织),所有 Notebook 可以直接在 Google Colab 里运行——不需要安装任何东西,打开浏览器就能学。

这种开源精神在中文技术书领域并不常见。很多书把代码当作"附加值"甚至"付费内容",而鸢尾花书把代码当作核心内容——书是代码的注释,不是代码是书的附录。

这种做法的深层逻辑是:数学和编程的本质是公共知识,不应该被付费墙挡住。作者的收入来自纸质书销售,但知识本身是自由的。这种模式在英文世界有 3Blue1Brown、Distill.pub 等先驱,在中文世界鸢尾花书是做得最系统的。

六、谁应该读这套书?

目标读者

  • 有高中数学基础,想入门数据科学/机器学习的人
  • 学过大学数学(微积分、线性代数、概率统计)但"考完就忘"的人
  • 会用 sklearn/pytorch 但不理解原理的"调包侠"
  • 想给孩子/学生讲数学直觉的老师

不适合的人

  • 寻找前沿深度学习论文解读的人(这套书讲的是经典 ML,不是 Transformer)
  • 数学专业出身的人(这套书的数学深度不够,但可视化可能给你教学灵感)
  • 不愿意动手跑代码的人(只看文字不如去看 3Blue1Brown)

七、数学教育的范式转移

鸢尾花书代表了一种数学教育的范式转移:从"符号优先"到"视觉优先"。

传统数学教育假设你能从符号中提取直觉——这只有少数人能做到。大多数人需要反过来:先有直觉,再理解符号。图形和代码就是建立直觉的桥梁。

这个范式转移在 AI 时代尤其重要。大语言模型让"写代码"变得几乎免费——你可以让 AI 帮你写可视化代码。但"理解你看到的图形"依然是人类独有的能力。未来的数学教育不是"教你算",而是"教你看"——鸢尾花书走的就是这条路。

当你能用 Python 画出矩阵的特征向量方向,看到数据在 PCA 投影后的形状,观察到梯度下降的轨迹在损失曲面上滚动——数学不再是符号游戏,而是一种看世界的方式。这就是鸢尾花书想给你的东西。


书籍:鸢尾花数学大系:从加减乘除到机器学习(全套 7 册)
作者:姜禄彬 / Visualize-ML
开源代码https://github.com/Visualize-ML

文章里提到的所有书籍移步这里领取: https://b23.tv/4vCEQYn

#数学可视化 #机器学习 #鸢尾花书 #教育 #开源

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录