程序员的数学基础课 · 深度学习指南(细化版)
作者:黄申| 真实结构:51 讲正文 + 加餐/福利(共 57 个文件) 定位:「程序员用得上的数学」——二进制、迭代、递归、排列组合、概率统计、线性代数,全部用「编程场景」讲,不吓人。
一、这门课到底讲什么
很多人怕数学,这门课把数学「翻译」成程序员能懂的语言:讲二进制时讲「计算机的源头」,讲余数时讲「取余就是哈希函数」,讲动态规划时讲「编辑距离」。数学不是门槛,是理解算法和 AI 的钥匙。
二、真实讲次大纲(按模块)
模块 1:基础数论与迭代(第 1–8 讲)
| 讲次 | 核心知识点 | 课程原案例 |
|---|---|---|
| 01 | 二进制:计算机的源头 | 反码、补码 |
| 02 | 余数:取余操作本身就是哈希函数 | 哈希思想 |
| 03 | 迭代法:不用自带函数算平方根 | 牛顿迭代 |
| 04 | 数学归纳法:提升代码效率 | 归纳证明 |
| 05–06 | 递归:泛化归纳、分而治之 | 归并排序 → MapReduce |
| 07–08 | 排列、组合 | 田忌赛马、世界杯赛程 |
模块 2:动态规划与图(第 9–18 讲)
| 讲次 | 核心知识点 | 课程原案例 |
|---|---|---|
| 09–10 | 动态规划:编辑距离、状态转移方程 | 查询推荐 |
| 11–12 | 树的 DFS | 查字典 |
| 13–14 | 树的 BFS、双向 BFS | 六度理论 |
| 15 | 从树到图 | 看地图 |
| 16–17 | 时间/空间复杂度:六个法则 | 复杂度分析 |
| 18 | 总结:数据结构/语句/算法里的数学思想 | —— |
模块 3:概率与统计(第 19–32 讲)
| 讲次 | 核心知识点 | 课程原案例 |
|---|---|---|
| 19–21 | 随机变量、概率分布、期望、贝叶斯 | 概率基础 |
| 22–23 | 朴素贝叶斯、文本分类 | 新闻分类 |
| 24–25 | 语言模型、马尔科夫模型 | PageRank、语音识别 |
| 26–28 | 信息熵、决策树、信息增益、卡方 | 武侠人物测试 |
| 29 | 归一化、标准化 | 特征综合 |
| 30–31 | 显著性检验 | AB 测试结果是否巧合 |
| 32 | 欠拟合、过拟合 | 概率统计答疑 |
模块 4:线性代数(第 33–45 讲)
| 讲次 | 核心知识点 | 课程原案例 |
|---|---|---|
| 33 | 线性代数总览 | 向量、矩阵 |
| 34–35 | 向量空间模型、文本检索 | 自然语言处理 |
| 36 | 文本聚类 | 过滤冗余新闻 |
| 37–38 | 矩阵:PageRank、协同过滤推荐 | 矩阵运算 |
| 39–41 | 线性回归:高斯消元、最小二乘法 | 直线拟合 |
| 42–43 | PCA 主成分分析:协方差矩阵、特征值 | 降维 |
| 44 | 奇异值分解(SVD) | 潜在语义 |
| 45 | 矩阵乘法的几何意义 | —— |
模块 5:综合应用(第 46–51 讲)
| 讲次 | 核心知识点 | 课程原案例 |
|---|---|---|
| 46 | 缓存系统 | 哈希表 + 队列 |
| 47–48 | 搜索引擎 | 倒排索引 + 向量空间 |
| 49–50 | 推荐系统 | 协同过滤 + SVD |
| 51 | 个性化用户画像 | 综合应用 |
三、必须吃透的核心知识点
-
二进制与补码(第 1 讲):为什么用补码存负数?因为「减法变加法」,硬件只需一套加法电路。这是理解整数溢出、位运算的根基。
-
递归 = 数学归纳法(第 4–5 讲):数学归纳法(证明 n=1 成立 + 假设 n 成立推 n+1)和递归(终止条件 + 递推关系)是同一件事的两种表达。
-
贝叶斯公式(第 21–22 讲):
P(A|B) = P(B|A)·P(A) / P(B)。朴素贝叶斯用它做分类——「垃圾邮件过滤」的核心就是算「这封邮件是垃圾邮件的概率」。 -
信息熵与决策树(第 26–27 讲):熵 = 不确定性。决策树每次选「让熵下降最多」的特征来分裂——这就是「先问哪个问题最能缩小范围」。
-
特征值与 PCA(第 42–43 讲):PCA 降维的本质是「找到数据方差最大的方向」——特征向量就是这些方向。这是理解推荐系统、图像压缩、大模型 Embedding 的数学基础。
-
矩阵与推荐(第 37–38 讲):协同过滤 = 矩阵分解。用户×物品的矩阵,用 SVD 分解出「用户偏好」和「物品属性」的隐向量。
四、引发思考
- 为什么「取余操作本身就是个哈希函数」?(把大范围映射到小范围)
- 牛顿迭代为什么能「快速逼近平方根」?它的收敛速度有多快?
- 贝叶斯和「频率学派」的核心区别?(先验概率)
- 「信息熵」为什么能衡量不确定性?「猜武侠人物」为什么熵越低越容易猜中?
- PCA 为什么取「最大特征值对应的特征向量」?几何直觉是什么?
- 学完本课,再看阶段九的「机器学习」「推荐系统」,你是不是看懂了背后的公式?
五、学完自测
- 能解释补码为什么用「取反加一」
- 能说清「递归」和「数学归纳法」的对应关系
- 能写出贝叶斯公式并举例
- 能解释「熵」和「决策树」的关系
- 能说清「矩阵分解」在推荐系统里的作用
配套:这门课是阶段九《机器学习》《推荐系统》的数学铺垫,数学吃透了,算法课事半功倍。