
[日]立石贤吾
本书通过正在学习机器学习的程序员绫乃和她朋友美绪的对话,结合回归和分类的具体问题,逐步讲解了机器学习中实用的数学基础知识。其中,重点讲解了容易成为学习绊脚石的数学公式和符号。同时,还通过实际的Python 编程讲解了数学公式的应用,进而加深读者对相关数学知识的理解。
白话《机器学习的数学》核心内容,全程规避复杂公式,只讲每项数学工具到底用来干什么 一、先搞懂:机器学习从头到尾只干一件事 手里有一堆已知数据(比如房子面积+对应房价、图片像素+物品名称),寻找一套固定规律,之后输入全新数据,可以做出靠谱预测。 所有数学,全部是为了完成「找规律、纠错、优化、评判好坏」这四件事。 二、线性代数:数据的收纳盒与转换器(最基础) 1. 向量:把一组数据打包成一串数字。比如房子:面积、楼层、房龄,三个数字合成一个向量,是数据最基础的单元。 2. 矩阵:大批量向量拼成表格,一整张训练数据集,就是一个大矩阵,方便电脑一次性批量运算。 3. 矩阵乘法:完成数据的线性变换,神经网络里每一层的数据传递,本质都在做矩阵相乘。 4. 特征空间:可以理解成数据摆放的空间,相似的数据会聚集在一块,方便我们划分、归类。 一句话定位:线性代数负责把海量数据规整好,并且完成基础的数据变换。 三、概率论与数理统计:用来处理不确定性 现实数据永远有噪声、误差,不可能百分百精准,概率就是用来应对不确定的。 1. 概率分布:描述一件事出现的可能性,比如房价围绕某个数值波动符合正态分布; 2. 期望、方差:期望代表平均水平,方差代表数据波动大小,用来判断模型稳不稳定; 3. 极大似然估计:机器学习核心逻辑,简单说就是:挑选最合适的规律,让现有训练数据出现的可能性最大化; 4. 贝叶斯思想:结合过往经验+新的数据,不断更新判断,朴素贝叶斯分类、很多大模型微调都依靠这个逻辑。 一句话定位:概率论负责容忍数据瑕疵,衡量预测结果的靠谱程度。 四、微积分:模型自我改错的核心动力(重中之重) 核心只用两个基础运算:求导、偏导数,所有深度学习训练全依赖它。 1. 损失函数:算出模型当前预测值和真实答案的差距,差距越大,损失数值越高; 2. 导数(梯度):找到损失函数下降最快的方向; 3. 梯度下降:朝着损失降低的方向,一点点微调模型内部参数,反复迭代,持续缩小预测误差。 之前聊过的神经网络反向传播,本质就是链式求导,逐层修正参数。 一句话定位:微积分就是模型自动纠错、持续变强的底层工具。 五、优化理论:划定寻找最优解的规则 梯度下降只是基础优化手段,优化就是在条条限制里,找到损失最小的那一组参数。 1. 全局最优、局部最优:全局最优是理论上的最佳参数,局部最优只是小范围内最好,也是深度学习里很常见的情况; 2. 正则化:给模型加上约束,防止它死记硬背训练数据(也就是过拟合),提升模型在陌生数据上的泛化能力。 六、补充两个关键数学概念(结合之前聊过的内容) 1. 卷积(卷积神经网络CNN):属于特殊的加权求和运算,借助固定小窗口滑动提取图片局部特征,大幅减少运算量; 2. 李群李代数:不属于通用机器学习数学,只在机器人视觉、SLAM场景使用,专门解决旋转姿态没法直接求导优化的问题。 整体极简串联完整逻辑 1. 用线性代数收纳全部数据; 2. 依靠概率论刻画数据本身的不确定性; 3. 借助微积分+优化算法,以梯度下降的方式持续修正模型参数,不断降低预测误差; 4. 最终训练完成的模型,能够对未知数据完成分类、回归、生成等任务。 学习小建议 零基础入门,不用钻研复杂证明,先吃透线性代数基础、梯度下降、基础概率即可;复杂的矩阵分解、高等微积分、测度论等内容,入门阶段完全可以暂时搁置。
挺不错,东西比较基础。适合新入门机器学习的新人阅读。读完会对机器学习有一个大概了解,也会卸下对数学的恐惧,用到了高等数学,但是也不是特别深,一般人都能掌握。
本书豆瓣8.7 个人评分8.5 先讲缺点:其实在日系技术书籍里,本书并没有那么白话,行文有些错误,有跳跃,没有那么连贯 再说优点:内容裁剪还不错,短小精悍,抓住了主要矛盾,基本上算是讲清楚了一些比较本质但是其他书籍不愿意细讲的东西,比如我们为什么要用最小二乘,最大似然,他们在解决什么问题,其实他们都是为了使误差最小化,只是在不同的场景(回归和分类)下误差的定义不一样;其次数学工具只是数学工具,仅仅是为了方便计算和形式优美,不用太追究为什么要用sigmond,为什么要用二次正则 本来只想给8分的,附录加0.5分
这本书主要讲解了: 1. 机器学习基础概念 * 回归与分类问题 * 模型、参数、损失函数 * 训练与预测流程2. 回归问题 * 线性回归:最小二乘法、损失函数、梯度下降 * 多项式回归、多重回归 * 正则化(L1、L2)防止过拟合3. 分类问题 * 感知机:线性可分问题 * 逻辑回归:Sigmoid函数、决策边界、对数似然函数 * 线性不可分问题 * 模型评估:精度、精确率、召回率、F1值4. 模型评估与优化 * 交叉验证(K折) * 学习曲线 * 正则化原理及数学表达5. 数学基础回顾 * 求和、求积符号 * 微分、偏微分、复合函数 * 向量、矩阵与几何向量 * 指数与对数6. Python实现 * 基础环境搭建、NumPy操作 * 回归与分类模型的代码实现 我可以帮你把这些内容重构成一个高密度、逻辑清晰、带直观数学理解的学习路线,同时提供核心公式、直观几何/概率解释和Python实践框架,让你快速掌握数学本质,而不被啰嗦对话拖慢。 在我整理之前,我需要确认一下你的数学基础水平: 1. 你对线性代数(向量、矩阵乘法、内积、矩阵求逆)的熟练程度如何?2. 你对微积分(导数、偏导、链式法则)掌握得怎么样?3. 你对概率与统计(概率分布、条件概率、似然函数)有多少理解? 这些会决定我该从多基础还是直接高效进阶讲解。1,我很熟悉,因为我刚刚结束考研数学的考试。2,也很不错。3 不太了解,因为考研数学2只考高等数学和线性代数。 可以,我帮你把这段对话压缩成一份“机器学习数学核心笔记(高密度版)”,你带走就能重新开新对话继续用。 ⸻ 《白话机器学习的数学》核心重构笔记(本对话整理版) 一、机器学习本质(一句话) 机器学习 = 在参数 θ 中寻找一组值,使模型“最能解释数据”,并且不过度复杂。 ⸻ 二、概率建模(分类核心) 1. 模型输出 逻辑回归做的事: 把线性组合 → 压缩成 0~1 的概率 (Sigmoid函数) 直觉: * 大 → 越可能是1* 小 → 越可能是0 ⸻ 2. 条件概率(关键直觉) 在已知 x 的情况下: y 是 1 的概率 也就是: “在这个输入条件下,结果发生的可能性” ⸻ 三、似然函数(最核心转折点) 1. 本质一句话 似然函数 = “当前参数 θ 解释整批数据的合理程度” ⸻ 2. 核心思维切换(最重要) 概率 似然已知模型 θ 已知数据预测数据概率 评估参数合理性 ⸻ 3. 机器学习真正目标 找到最“能解释数据”的 θ ⸻ 四、对数似然(计算稳定化) 原因: * 连乘会变极小* 计算不稳定 方法: 用 log 把乘法变加法 本质不变: 只是更好算 ⸻ 五、损失函数(错误度量) 1. 核心作用 loss = “模型错得有多离谱” ⸻ 2. 分类 vs 回归 回归: * 用平方误差* 惩罚大错误更狠 分类: * 用交叉熵(来自似然) ⸻ 3. 交叉熵本质 核心思想: 惩罚“自信但错误”的情况 如果模型: * 很确定但错了 → 惩罚极大* 不确定 → 惩罚较小 ⸻ 六、三大核心统一关系 机器学习本质统一: 最大似然估计 = 最小交叉熵 ⸻ 七、梯度下降(优化机制) 1. 核心思想 在损失函数地形中: 沿最陡下降方向一步步走到最低点 ⸻ 2. 三个关键概念 * 梯度:下降最快方向* 学习率:步子大小* 迭代:重复更新 ⸻ 3. 三种版本 * Batch:全数据(稳定但慢)* SGD:单样本(快但抖)* Mini-batch:折中(最常用) ⸻ 八、正则化(防止过拟合) 1. 过拟合本质 模型开始“记忆噪声” ⸻ 2. 解决方法 在 loss 上加惩罚项: 限制参数不能太自由 ⸻ 3. L2 正则(主流) * 惩罚平方* 参数整体变小* 模型更平滑 ⸻ 4. L1 正则 * 惩罚绝对值* 一些参数变0* 自动做特征选择 ⸻ 九、完整训练闭环 机器学习训练流程: 1. 输入 x2. 模型输出概率 p3. 用 loss 衡量 p vs y4. 用梯度下降优化 θ5. 加正则防止过拟合6. 重复迭代 ⸻ 十、三大支柱(最重要总结) 机器学习数学 = 1. 线性代数 表达数据 2. 概率论 定义“合理性” 3. 微积分 做优化 ⸻ 1️⃣ 机器学习在做什么? 机器学习 = 在函数空间中寻找一个最优函数 f(x; θ) 形式化: y ≈ f(x; θ) ⸻ 🧠 更深一层理解: 机器学习不是“理解世界”,而是: 👉 用数学函数去逼近数据生成规律 ⸻ 🧠 三层结构(核心框架) 数据层: (x, y) ↓概率层: P(y|x, θ) ↓优化层: min loss(θ) ⸻ 🧩 第二部分:线性模型(基础分类与回归) ⸻ 1️⃣ 线性模型核心结构 z = wᵀx + b 本质: 👉 对输入做“加权求和评分” ⸻ 🧠 几何意义: * wᵀx + b = 0 是一个“分界面”* 在2D是直线,在3D是平面 ⸻ 🧩 第三部分:感知机(Perceptron) ⸻ 1️⃣ 模型 y = 1 if wᵀx + b > 0 0 otherwise ⸻ 🧠 本质 ❗硬分类器(没有概率) ⸻ 🧠 直觉类比 一道“墙”,只决定能不能过 ⸻ ❗限制 * 只能解决线性可分问题* 不可分数据无法收敛 ⸻ 🧩 第四部分:逻辑回归(Logistic Regression) ⸻ 1️⃣ 模型结构 z = wᵀx + bp = sigmoid(z) ⸻ 2️⃣ sigmoid函数 σ(z) = 1 / (1 + e^{-z}) ⸻ 🧠 本质 👉 把“评分”转换为概率 ⸻ 🧠 直觉 * z大 → p接近1* z小 → p接近0 ⸻ 🧩 第五部分:概率建模思想 ⸻ 1️⃣ 核心转变 从: y = f(x) 变为: y ~ P(y|x) ⸻ 🧠 本质意义: 现实世界是: ❗不确定的,而不是确定函数 ⸻ 🧩 第六部分:似然函数(核心) ⸻ 1️⃣ 单样本概率 P(y|x) = p^y (1-p)^(1-y) ⸻ 2️⃣ 全数据似然 L = ∏ P(yᵢ|xᵢ) ⸻ 3️⃣ log似然 log L = Σ log P(yᵢ|xᵢ) ⸻ 🧠 本质 👉 评估“模型解释数据的能力” ⸻ 🧩 第七部分:交叉熵(loss来源) ⸻ 1️⃣ loss定义 loss = - log likelihood ⸻ 2️⃣ 交叉熵形式 loss = - [ y log p + (1-y) log(1-p) ] ⸻ 🧠 本质一句话 ❗惩罚“模型的错误自信” ⸻ 🧩 第八部分:梯度下降(优化核心) ⸻ 1️⃣ 更新公式 θ = θ - η ∇L(θ) ⸻ 🧠 核心思想 在“损失函数地形”上往下走 ⸻ 🧠 类比 蒙眼下山,只能感知坡度 ⸻ 🧠 三要素 * 梯度(方向)* 学习率(步长)* 迭代(重复优化) ⸻ 🧩 第九部分:正则化(防止过拟合) ⸻ 1️⃣ 总损失 loss + λ * penalty(θ) ⸻ 🧠 本质 控制模型复杂度 ⸻ 2️⃣ L2正则 λ ||θ||² 作用: 参数变小、更平滑 ⸻ 3️⃣ L1正则 λ ||θ|| 作用: 参数稀疏(自动特征选择) ⸻ 🧠 核心区别 方法 行为L2 压缩参数L1 删除参数 ⸻ 🧩 第十部分:模型评估 ⸻ 1️⃣ 混淆矩阵 预测正 预测负实际正 TP FN实际负 FP TN ⸻ 📊 2️⃣ Accuracy(准确率) (TP + TN) / total 问题: 类别不平衡时无效 ⸻ 📊 3️⃣ Precision(精确率) TP / (TP + FP) 意义: 预测为正的有多少是真的 ⸻ 📊 4️⃣ Recall(召回率) TP / (TP + FN) 意义: 真实正样本抓住多少 ⸻ 📊 5️⃣ F1-score F1 = 2PR / (P + R) ⸻ 🧠 本质 Precision 和 Recall 的平衡指标 ⸻ 🧩 第十一部分:K折交叉验证 ⸻ 1️⃣ 方法 将数据分K份: * 每次用 K-1 训练* 1份验证* 循环K次 ⸻ 🧠 本质 用多次“考试”估计真实能力 ⸻ 🧩 第十二部分:学习曲线 ⸻ 1️⃣ 两条曲线 * 训练误差* 验证误差 ⸻ 🧠 三种情况 1. 欠拟合 * 两者都高 2. 正常 * 两者接近且低 3. 过拟合 * 训练低,验证高 ⸻ 🧩 第十三部分:线性不可分 ⸻ ❗问题 数据无法用直线分开 ⸻ 🧠 本质 现实世界大多数问题: ❗都是非线性的 ⸻ 影响: * 感知机失败* 逻辑回归只能近似 ⸻ 🧩 第十四部分:NumPy与机器学习 ⸻ 1️⃣ NumPy本质 向量化计算系统 ⸻ 2️⃣ 核心能力 * 向量运算* 矩阵乘法* 广播机制 ⸻ 🧠 核心思想 用“批量数学运算”代替循环 ⸻ 🧠 终极统一框架(最重要) ⸻ 🔥 机器学习完整流程: 输入 X ↓线性变换 wᵀx ↓概率函数 sigmoid / softmax ↓loss函数(交叉熵) ↓梯度下降优化 ↓参数更新 θ ⸻ 🧠 一句话总总结 机器学习 = 用概率描述不确定性,用优化算法找到最合理的参数解释数据 ⸻
0.机器学习:回归、分类、聚类 1.导数就是微分后的函数。微分的目的是将函数线性化从而进行近似计算。基本思想是,基于在微小局部可以用直线去近似替代曲线,因此就可以把线性函数的数值计算结果作为本来函数的数值近似值。简单理解为斜率,微分=Δy/Δx,且Δx无限趋近0;dx是Δx无限趋近于0的极限 求导的目的:知道原函数随自变量的变化而变化的趋势。导数为零,说明存在极大极小值。 2.用最小二乘法求回归模型的参数=求当参数θ0,…,θi是什么值时,E(θ)最小 方法是得到θ0,…,θi各自的更新表达式,更新表达式是 任取一个θi得到对应E值后,然后借助学习率(开口方向+E对θi的微分决定),使得下一个θ0得到的E值更接近最小值。 3.正则化、标准化z score
这本书可以读一遍,但与LLM相关内容看,本书还是公式推导太多,例子过于小女孩了:横竖衣服的想象对理解斜率,截距,特征向量,特征值不如其他例子来的容易记忆。Python数学书最好是例子容易记,程序容易输出,图像解释完备,才是相对可读的。本书估计出版早了。类似内容最好是Vibe Coding以后的书。确切说是2026年以后出版的书!
使用一问一答的方式,这种方式可以将我们心中所想的问题用文章中的问话来进行解读,可以使读者有更深刻的代入感。将机器学习掰开揉碎,进行白话的分析方式来解答。即将接触或对机器学习不胜了解的同学推荐一看!
这是我2022年读完的第35本书,也是自己在微信读书上读完的第63本书。 当时阅读这本书就是冲着“白话”来读的。我在2016年本科做毕设的时候接触过卷积神经网络,后来女读研时期更多在做分布式相关的事情。工作后更是主要以服务端开发为主。所以说,我应该是一个有机器学习基础,但是并不深入的人。 机器学习和深度学习给我带来的最大的印象是调参,调方法。但是对于为什么要用这个函数,为什么要做正则化,标准化。自己并不是很清楚。这本书算是解答了我的困惑,并且把公式是怎么推理出来的过程都写的清清楚楚。当然本书附录里对数学的重新介绍也让我重新回忆起了大学学习的知识。 我认为本书确实无愧于“白话”二字,通俗易懂,形象生动。确实值得一读,推荐。
重点讲了回归和分类两种机器学习以及对应的模型评估方法。 回归猜测多项式,引入误差函数。通过最小化误差函数修正多项式。修正误差函数的方法有最速下降法,利用所有数据偏微分更新参数,但缺点在于计算量过大,故引入随机梯度下降法和小批量梯度下降法,随机利用某个或某些数据偏微分更新参数。 分类如果线性可分,可以猜测权重向量,并使得它能够和分割线的内积为零。修正权重向量的方法有感知机。分类如果非线性,可以看概率,引入sigmoid函数作为概率,通过定义目标函数微分更新参数。目标函数有似然函数,可取对数变形。 模型评估有交叉验证,把数据分为训练集和测试集。利用测试集,回归可求均方误差验证,分类求精度、精确度、召回率或F值验证。根据学习曲线可以区分过拟合和欠拟合。为了防止模型过拟合,可以正则化,增加正则化项使得参数变小,减少对模型影响。
虽然日本人写书都是这样啰里啰嗦,但是对于小白非常友好,我看了两遍,然后又把代码敲了一遍,对机器学习有了一个初步印象。看那些Python人工智能或机器学习的高级教程,不知所以然,理解了数学基础再去看那些例子,虽然没有打到豁然开朗的境界,至少没有那么多困惑了。感谢作者,十二分推荐!