第7章 聚合与线性代数


文档摘要

第7章 · 聚合与线性代数 本章要回答的两个问题:sum、mean、max 沿哪个轴压缩、结果形状怎么推?矩阵乘法与 linalg 套件(解方程、逆、特征值、SVD)怎么用,什么时候该换 SciPy 或专用库? 为什么会有这一章 聚合是"从数据到结论"的关键一步,而 axis 参数是初学者的集体噩梦——axis=0 到底是按行还是按列?答案其实可以机械推出:axis 指的是"被消掉的维度"。线性代数则是 NumPy 与科学计算的接口地带:矩阵乘法 @ 是深度学习的基础操作,linalg 提供解方程与分解,但规模上去之后就该考虑 BLAS 后端或换库。本章把两块内容各用一节讲透,并延续内存视角(聚合的访问方向、矩阵乘的缓存分块)。

第7章 · 聚合与线性代数

本章要回答的两个问题:sum、mean、max 沿哪个轴压缩、结果形状怎么推?矩阵乘法与 linalg 套件(解方程、逆、特征值、SVD)怎么用,什么时候该换 SciPy 或专用库?

为什么会有这一章

聚合是"从数据到结论"的关键一步,而 axis 参数是初学者的集体噩梦——axis=0 到底是按行还是按列?答案其实可以机械推出:axis 指的是"被消掉的维度"。线性代数则是 NumPy 与科学计算的接口地带:矩阵乘法 @ 是深度学习的基础操作,linalg 提供解方程与分解,但规模上去之后就该考虑 BLAS 后端或换库。本章把两块内容各用一节讲透,并延续内存视角(聚合的访问方向、矩阵乘的缓存分块)。

读完能解决什么

  • 能机械推算任意聚合的结果形状,彻底告别 axis 猜谜
  • 掌握 keepdims 与 np.min/np.argmin 家族的组合用法
  • 能用 solve、inv、eig、svd 解决小规模线代问题,并知道各自边界
  • 理解 @ 的缓存分块思想与"为什么矩阵乘不害怕非连续"

各节怎么分工

回答哪个问题 关键产出
7.1 axis聚合的降维之路 axis 怎么理解 形状推算法 + keepdims 演练
7.2 linalg矩阵运算与求解 线代工具箱 solve 与 inv 对比 + SVD 降噪案例

本章知识点清单

  1. 能说出 axis 的机械规则——指定的是被消掉的维度,并能推算任意聚合的结果形状
  2. 能对三维数组分别沿三个轴做 sum,并验证形状推算法
  3. 能用 keepdims 保留长度一的轴,衔接第 6 章广播完成行标准化
  4. 能区分 argmax 家族(给位置)与 max(给数值),并用花式索引取回元素
  5. 能说出 nan 前缀家族的价值,比先清洗后计算少一次拷贝
  6. 能区分逐元素乘与矩阵乘的形状规则,并用 @ 完成矩阵乘向量与点积
  7. 能解释 solve 优于 inv 的两点原因,能用 det 与 cond 做可逆性与数值诊断
  8. 能跑通 eig 验证式与 SVD 低秩重建,并完成最小二乘拟合案例
  9. 能说出规模边界:稠密千阶内用 linalg,稀疏换 SciPy,更大吞吐换张量框架

开读前三个疑问

问:axis 到底是行还是列?
答:都不是。axis 是"被消掉的维度编号",结果形状等于原形状删掉那一项。忘掉行列直觉、改用形状推算,axis 从此不再神秘——7.1 节整节就在建立这个习惯。

问:线性代数早忘了,能学 7.2 吗?
答:能。本节只需要接受几个名词:矩阵是二维表、方程组是一组联立等式、特征值描述矩阵的"固有方向"。每个函数都配了可跑的最小例子,跑一遍比看十页教材直观。

问:什么时候不该用 np.linalg?
答:矩阵一大半是零(稀疏)、规模上万(性能瓶颈)、或者需要 GPU 加速时。识别出这些边界并及时换工具,本身就是工程能力。

先决条件

  • 第 2 章的访问方向与缓存(解释聚合快慢)
  • 第 6 章的广播与 keepdims(聚合结果的后续处理)
  • 7.2 需要基础线性代数词汇:矩阵、方程组、特征值(不懂概念不影响跟跑代码)

往下走到哪

聚合与线代是分析工具箱的最后两件。第 8 章收束全册:数组的搬运(合并分割、文件读写)与性能实战清单。本章两个案例(成绩单汇总与最小二乘拟合)都建议完整敲一遍——它们分别代表"统计报表"与"参数估计"两大应用方向的雏形。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U