资讯详情

资讯详情

线性代数教材导读:矩阵、特征值与奇异值分解如何支撑AI

简介《线性代数及其应用》第五版英文原版教材的PDF电子书作者为马里兰大学David C. Lay并由Steven R. Lay与Judi J. McDonald参与修订。本书面向高校理工科与经管类学生、考研复习者以及人工智能和机器学习方向的自学读者可用它系统建立线性代数知识框架并为后续矩阵计算、特征值分解等应用打好基础。资源包内仅有1个PDF文件大小约10.6MB为完整教材单册便于在电脑、平板与手机上直接阅读和检索也可按章节拆分打印。目前已有1510人学习下载。全书延续几何直观与数值计算并重的写法从线性方程组与矩阵运算讲起逐步推进到向量空间、特征值与特征向量、正交性、最小二乘以及对称矩阵与二次型等内容并配有大量例题、习题与章节复习适合课前预习、课堂跟读以及考前查漏补缺。1. 到底什么是线性代数一排推子、一张表格和一门共同语言调音台上有排推子某个推子往上推一格声音变化是固定的同时推两个听到的是两段声音叠在一起彼此不干扰。线性代数研究的就是这类“叠加起来不打架”的关系给每个输入配一个固定倍数再把结果加起来。说得更直白些线性代数是研究向量与线性变换的学科而矩阵就是记录这种变换的一张表格——表格里第几行第几列填什么决定了输入怎么变成输出。它值得花时间搞懂是因为它早已不是数学系的专属工具。手机拍照降噪、地图算路线、搜索排序、推荐系统、神经网络训练底层都在反复做同一件事把一堆数排成表乘另一张表再观察结果。这也是“人工智能 线性代数”被反复绑在一起说的原因并非蹭热度。搞清这门语言你以后看到公式里的Wx b、A^T A、UΣV^T就不会只剩一脸懵。2. 为什么人工智能离不开线性代数从一张图片的“数字身世”说起2.1 进模型之前一张图片先被拉成一列数字一张 1024×1024 的彩色图片在计算机内存里是三个 1024×1024 的表格分别存红、绿、蓝三个通道的亮度。表格里每个格子是 0 到 255 之间的整数。模型并不认识“猫”这个概念它只认识这些整数。于是第一步是把这个三维的块状结构按固定顺序摊平拉直成一列 3,145,728 个数字——在线性代数的语境里这就是一个 314 万维的向量。文字和声音也一样。一句十来个词的句子会被切成词元每个词元查表换成一个几百维的向量整句话就成了一串向量或者一张矩阵。一段一秒的音频按每秒上万次采样变成一列数字。所有输入最终都会被翻译成同一种形式数字排成的表。这一步不做完后面任何运算都无从谈起。理解这一点很关键因为它解释了为什么线性代数是人工智能的公共底座。不管模型处理的是图、是文、是声音进入运算层之后处理的都是矩阵和向量。所谓“模型看懂了一张图”本质上是这个数字表经过若干次变换之后输出端得到了一个概率分布。中间没有任何神秘环节全是加减乘除只是数量级大到人脑无法手算。2.2 矩阵乘法训练和推理里最费力气的那件事神经网络里最典型的一层叫全连接层它做的事情一句话能说完把输入向量乘以一个权重矩阵加上一个偏置向量。写成式子就是y Wx b。这里W的形状是 m 行 n 列x是 n 维列向量乘出来的y是 m 维列向量。形状规则必须对上W的列数要等于x的长度否则乘法没有定义。这个规则看着像刁难人其实是保证“每个输入特征都恰好被用一次”。import numpy as np # 3 个样本每个样本 4 个特征 X np.random.randn(3, 4) # 4 个输入特征映射到 5 个输出特征 W np.random.randn(4, 5) b np.random.randn(5) Y X W b print(Y.shape) # (3, 5)这段代码把一批样本一次性乘过去X是 3×4W是 4×5矩阵乘法的规则决定结果一定是 3×5即 15 个输出值。b是长度为 5 的向量靠广播机制加到结果的每一行上。主流深度学习框架里的线性层剥掉自动求导那层壳做的事情就是这几行。为什么非得用矩阵乘而不是老老实实写循环逐个算因为矩阵乘法内部每一步互不依赖可以同时开工。图形处理器有上万个计算核心正好干这种活。一层 4096 个输入、4096 个输出的全连接层权重矩阵就有 1677 万个数字一次前向传播要完成 1677 万次乘法再求和。用循环写等一晚上也跑不完一批数据换成矩阵乘几毫秒的事。所以矩阵乘法不只是数学上的简洁写法它直接决定了训练跑得动还是跑不动。还有一个常被忽略的点矩阵乘法的顺序不能随便换。平时算数字2×3 和 3×2 一样矩阵不遵守这条。AB和BA往往不是同一个东西有时候干脆算不了——A是 3×4、B是 5×3AB根本没有定义。这背后是变换的叠加有先后之分先旋转后拉伸和先拉伸后旋转出来的形状确实不一样。调模型结构的时候形状对不上报的错十有八九就出在这里。2.3 最小二乘与奇异值分解模型“差不多就行”的数学底盘训练模型常被描述成“让预测接近真实”。这句话在数学上可以写得很具体手上有一堆观测数据想找一条曲线穿过它们但数据点通常多于未知参数方程数比未知数多几乎不可能有精确解。比如 100 个测量点拟合一条直线y a bt只有 a、b 两个未知数却有 100 个方程这就是超定方程组。工程上的处理方式是退一步不追求误差为零转而找让误差平方和最小的那组参数这套方法叫最小二乘。import numpy as np # 100 个观测点拟合 y a b*t t np.linspace(0, 10, 100) y 2.5 1.8 * t np.random.randn(100) * 0.4 # 第一列常数项第二列 t构成 100×2 的设计矩阵 A np.column_stack([np.ones_like(t), t]) coef, resid, rank, sv np.linalg.lstsq(A, y, rcondNone) print(coef) # 约等于 [2.5, 1.8] print(rank) # 2列满秩解唯一A的每一行对应一个观测点每一列对应一个待定系数。rank输出 2说明两列线性无关这种情况下最小二乘解唯一。如果输出小于 2说明数据本身给不出足够信息解有无穷多个得额外加约束才能定下来。这个判断在真实项目里非常有用模型训不动有时不是学习率的问题而是设计矩阵本身秩亏。另一件常被提到的东西是奇异值分解把一个矩阵拆成三个矩阵相乘的形式。它的实用价值在于压缩和降维一张图像对应的矩阵大部分信息集中在少数几个大的奇异值上只保留前几十个图像体积能小一大截肉眼却看不出太大差别。推荐系统里把“用户×物品”的大表格拆开也能从稀疏的评分里找出潜在偏好。这些方法在教材的第七、八章有完整推导。3. 这本教材的骨架十章内容是怎么排布的3.1 前四章在铺一条路把“解方程”翻译成“向量语言”第一章从最熟悉的地方开始——线性方程组。但它很快做了一件关键的事同一个问题给你三种说法。拿x₁ 2x₂ 3, 2x₁ 5x₂ 8举例它可以是两个方程联立的方程组可以是两个列向量的线性组合x₁(1,2) x₂(2,5) (3,8)也可以写成矩阵方程Ax b。三种说法描述的是同一件事教材在开头几节里反复在它们之间切换目的是让读者形成条件反射看到方程组就想到矩阵看到矩阵就想到变换。这个转换的价值在于后两种视角能推广到无法画图的高维空间。两个变量可以画平面上的两条线三个变量画空间里的三个平面四个变量以上就画不出来了但向量的语言照样成立。第二章讲矩阵运算、逆矩阵、可逆矩阵的等价刻画、分块矩阵、矩阵分解还顺带讲了投入产出模型和计算机图形学里的应用。第三章行列式篇幅不长重点是把行列式理解成“变换对面积或体积的缩放倍数”而不是一堆展开公式。第四章向量空间是全书的分水岭子空间、零空间、列空间、基、坐标、维数、秩、基变换这些词一旦立住后面几章就顺了。一个容易被跳过的细节是行化简。它看起来只是机械操作——换行、乘一个数、把一行加到另一行——但它决定了后面几乎所有判断方程组有没有解、解集是点还是线还是面、一组向量是否线性无关、矩阵的秩是多少。手算几遍行化简比背十条定理更能建立直觉。3.2 特征值、正交与奇异值分解三块硬骨头绕不开第五章讲特征值与特征向量。通俗地说一个矩阵作用在大多数向量上都会改变方向但有那么几个特殊方向作用完方向不变只是长度被拉长或压短伸缩的倍数就叫特征值。这个性质在动力系统里极其有用系统演化的长期趋势往往由最大的那个特征值决定。教材里用离散动力系统、微分方程、迭代估计几个场景把它落实包括一个关于斑点猫头鹰种群数量的经典例子。第六章讲正交性。核心是正交投影和最小二乘把一个点投影到某个子空间上得到的最近点怎么算。格拉姆-施密特方法把一组线性无关的向量改造成互相垂直的一组方便后续计算。这章的应用落在线性模型上也就是前面说的拟合问题的完整版。第七章把对称矩阵、二次型、约束优化和奇异值分解串在一起应用指向图像处理和统计。对称矩阵有一条很漂亮的结论它的特征值全是实数特征向量可以选成互相垂直的。奇异值分解则是这套理论的通用版任何矩阵都能拆不只是方阵。第八章换了视角从代数转向几何仿射组合、凸组合、超平面、多面体、曲线与曲面。这几节的内容在做优化和计算几何时会反复遇到。第九、十章以在线形式提供讲矩阵博弈、线性规划的几何解法与单纯形法、对偶以及有限状态马尔可夫链、稳态向量、状态分类和基本矩阵配套案例涉及网页排序和体育统计。3.3 应用案例不是装饰它们决定了概念为什么长这样这本教材每一章开头都放了一个引入案例位置很讲究——先抛出真实问题再引入概念。第一章用经济学和工程中的线性模型开场第二章用飞行器设计中的计算机模型第三章用随机路径与形变第六章用卫星定位导航里的坐标系转换第七章用多通道图像处理。这些案例的共同作用是回答“学这个干嘛”而且答案不是许愿式的“以后会用到”是当场就用。第五版相比前几版有三处明显变化。一是补充了交互式电子版本图可以拖动矩阵可以现场改数字看结果几何直观这块补得比较实在。二是增加了概念与证明类的练习每个小节大多配了一道需要动脑推理而非套公式的题。三是习题更新比例超过四分之一计算类题目换血较多。另外全书正文里穿插的例题和习题答案奇数题都在书后便于自查。章节顺序也值得说一句。它没有把应用集中到最后而是每一章都带一点这样读者在学概念的时候就知道它落在哪。缺点是前后依赖比较紧第四章的秩没弄明白第五章判断可对角化就会卡第六章的正交投影不熟第七章的奇异值分解基本读不下去。所以这本书不适合跳着读适合顺着推。4. 常见误区与易混概念几个一混就踩坑的地方4.1 易混点一矩阵乘法不满足交换律很多人刚学矩阵时会本能地把矩阵当成“排成方阵的数字”于是觉得AB和BA差不多。这是最常见的翻车起点。矩阵在这里代表的是一个变换AB的意思是先做 B 再做 A顺序换了结果自然不同。拿两个具体矩阵看。A [[0,-1],[1,0]]表示逆时针旋转 90 度B [[2,0],[0,1]]表示水平方向拉伸两倍。算一下AB [[0,-1],[2,0]]而BA [[0,-2],[1,0]]两个结果长得就不一样。更要紧的是非方阵相乘时AB有定义而BA根本没定义这跟数字乘法的经验完全不同。区分方法很简单把矩阵乘法读成“先……再……”顺序读出来就对了。写代码时如果形状报错先检查是不是把两个矩阵的顺序写反了这比怀疑数据有问题更高效。4.2 易混点二行列式等于零不等于方程组一定无解行列式为零说明矩阵不可逆很多人由此直接推出“方程组无解”。这个推理缺了一步。不可逆只意味着解不唯一具体是无解还是无穷多解还要看增广矩阵。对比两个方程组就清楚了。第一个x y 2和2x 2y 4第二个方程就是第一个的两倍系数矩阵行列式为零但解有无穷多个整条直线上的点都满足。第二个方程组x y 2和2x 2y 5系数行列式同样为零但这两个方程互相矛盾无解。区分办法是看秩系数矩阵的秩和增广矩阵的秩相等就有解此时秩小于未知数个数则有无穷多解两者不相等就无解。行列式只能回答“方阵可不可逆”回答不了“方程组解的情况”这是两件事。4.3 易混点三特征值和奇异值不是一回事两个词都带“值”都能做分解都在降维和数据压缩里出现混起来毫不奇怪。区别在于定义域特征值只对方阵有定义而且可能是复数奇异值对任意形状的矩阵都有定义一定是非负实数。还是拿旋转 90 度那个矩阵举例。A [[0,-1],[1,0]]把平面上的向量转四分之一圈除了零向量没有任何向量在变换后保持方向不变。它的特征值是 ±i两个纯虚数在实数范围内根本不存在。但它的奇异值都是 1因为旋转不改变长度。这个例子最能说明问题一个在实数里找不到特征值的矩阵奇异值却好端端地存在。区分记忆法特征值回答“哪个方向不被转向”所以必须是方阵才谈得上方向不变奇异值回答“最多能把向量拉长多少倍”任何矩阵都能拉所以不限形状。对称正定矩阵是个特例此时两者数值相同这也正是容易搞混的源头。4.4 易混点四秩、维数、基的大小不是同一个数三个说法都用一个整数回答“有多大”于是常被当成同义词。实际上它们描述的对象不同。秩是矩阵的列空间的维数也就是行化简后主元的个数维数是某个向量空间的“自由度”基的大小则是一个具体的基里包含几个向量。举个具体矩阵A [[1,2,3],[2,4,6]]。两行成比例行化简后只有一个主元秩为 1。列空间是一条直线维数是 1。零空间的维数是列数减秩等于 2。如果你想给这个零空间找一组基那组基里必须正好有 2 个向量不多不少。所以“基的大小”等于“维数”但维数本身不是基它是基里向量个数的那个数。区分的关键是问自己现在说的是一个矩阵还是一个空间矩阵谈秩空间谈维数基是一组具体的向量。三者关系由秩-零化度定理串起来列数 秩 零空间维数。4.5 易混点五正交和线性无关长得像但不是一回事正交的向量一定线性无关但线性无关的向量不一定正交。这条单向关系很多人记反。原因大概是两个词都给人“彼此独立、不重复”的感觉。看两组向量。(1,1)和(1,-1)内积为零互相垂直它们也确实线性无关这组两个条件都满足。换成(1,0)和(1,1)内积是 1不垂直但它们线性无关——你没法用其中一个的倍数表示另一个。所以正交是更强的条件要求夹角正好 90 度线性无关只要求谁也不在别人的张成空间里。区分办法算内积。内积为零就是正交内积不为零但不共线就是线性无关。做数值计算时这个区别很实际正交基算投影只需一次内积非正交基要先解方程工作量差一个量级。5. 怎么读才不白读从“会算”走到“会用”的路径5.1 手算一遍再让机器算一遍现在随手就能调用现成的库把行列式、特征值、最小二乘全算出来那还手算干什么答案是建立可预测的直觉。手算过的 3×3 行列式看到矩阵元素变大变小你能预判行列式大概往哪个方向走没手算过只能等程序输出再看。import numpy as np A np.array([[2, 1, 0], [1, 3, 1], [0, 1, 2]]) print(np.linalg.det(A)) # 8.0 print(np.linalg.matrix_rank(A)) # 3 print(np.linalg.eigvals(A)) # 三个实数特征值这个例子可以手工验算按第一行展开det 2×(3×2 − 1×1) − 1×(1×2 − 1×0) 0 10 − 2 8和程序输出对得上。秩为 3 说明三行线性无关因此矩阵可逆行列式非零。这个 3×3 矩阵还是对称的所以特征值必然是实数程序输出的结果能用手算的结论去校验。建议的做法是每学一个新概念先挑一个二乘二或三乘三的小矩阵手算再用代码复核。手算负责建立方向感代码负责处理真实规模的数据。两边对不上就是理解有缺口的地方正好回去补。5.2 证明题要不要啃看你想走多远第五版特意加强了概念与证明类的练习几乎每个小节都配了需要推理的题。对只想快速上手调包的人来说这部分可以暂时跳过但如果你打算长期在人工智能或数据方向做下去跳过它会在某个时刻付出代价。举个具体的。为什么A^T A在 A 列满秩时一定可逆这条结论是最小二乘法的地基。证明不长假设A^T A x 0两边左乘x^T得x^T A^T A x 0也就是(Ax)^T (Ax) 0一个向量和自身的内积为零只能它本身是零向量所以Ax 0。而 A 列满秩意味着零空间只有零向量于是x 0。这样就证明了A^T A的零空间只有零向量它可逆。这段推理的价值不在考试而在于它告诉你一旦数据的两列高度相关现实中很常见比如两个几乎相同的特征列满秩的条件就被破坏A^T A接近不可逆解会变得极其不稳定参数数值乱飞。这解释了为什么做回归前要先检查特征之间是否共线。不懂证明就只能在结果崩掉之后靠猜懂了就知道该去查什么。5.3 英文原版的真实门槛比想象中低这本书是英文原版不少读者第一反应是发怵。实际门槛没那么高数学英语的句式比文学英语简单得多长句少被动语态多词汇高度重复。真正需要过的关是一小撮术语撑死了几十个。把附录里的术语表过一遍基本就能读正文了。核心词无非这些span张成、basis基、rank秩、null space零空间、column space列空间、eigenvalue 与 eigenvector特征值与特征向量、orthogonal正交、projection投影、determinant行列式、invertible可逆、linearly independent线性无关、diagonalization对角化、least squares最小二乘、singular value奇异值。这些词在书里会以相同的含义反复出现几百次看三五页就熟了。文字可复制这一点对读英文版很有帮助。遇到读不顺的段落复制出来对照术语表逐词拆解比整段丢进翻译工具更能学到东西做笔记时也能直接把原文里的定义句摘下来不至于转述走样。读英文教材最忌讳的是逐句翻译成中文再理解正确姿势是让这些术语在英文形态下直接对应到概念省掉中间一层转换。5.4 配套资源和习题的正确用法书后的奇数题答案是一份被低估的资源。做完题立刻对答案错了就回去看是哪一步出了岔子比攒一堆题最后统一对答案有效得多。因为错误刚发生时你还记得当时的思路能定位到具体哪个概念没搞清隔两天再回头看只剩一个错号和一片茫然。交互式电子版本适合用来补几何直观。线性变换、特征向量、投影这些概念文字描述再准确也不如亲手拖动一下看得明白改改矩阵里的数字看图形怎么变形看哪些方向保持不变。抽象概念一旦有了画面后面读定理时的抵触感会小很多。配套在线作业系统的价值在于即时反馈尤其适合计算类技能的训练。行化简、求逆、算特征值这些操作错了立刻知道不至于带着错误方法练一下午。但要注意它替代不了纸笔推导快速点选出来的答案容易造成“我会了”的错觉回头手写一遍可能还是会卡。6. 什么时候用这本书什么时候先放一放判断这本书适不适合你核心看两件事你现在缺的是概念理解还是快速上手。这本教材的定位很明确——把线性代数的基础概念讲透并且让你看到它们怎么落在真实问题上。它不负责教你怎么调模型、怎么部署服务也不承诺读完就能写深度学习代码。如果你要的是三小时跑通一个 demo它太慢了如果你发现自己调了半天参数却说不清模型内部那些矩阵到底在干什么那它正好补上这一块。你的处境适合程度建议读法学完两学期大学数学准备进入人工智能或数据方向很适合顺读一至七章第八至十章按需已经在用现成框架但看不懂论文里的矩阵推导很适合重点四、五、六、七章配合术语表只想知道某个 API 怎么调不合适先看框架文档回头再来补做图像、信号、控制方向很适合六、七章连同应用小节精读只想补计算、完全不碰证明部分适合跳过证明类练习主攻例题与计算题时间只剩一周还要应付考试谨慎抓行化简、基与维数、特征值三块别贪多真正需要提醒的是别把它当词典用。有人习惯遇到问题翻一下对应小节看完公式就走结果每次都得重新翻。这本书的章节之间有明确的依赖链秩的概念没立住可逆矩阵的等价刻画就记不牢正交投影没弄明白最小二乘和奇异值分解就只能硬背。顺着读一遍的收益远大于零散查阅十次。我自己的教训发生在第一次读第五章的时候。当时觉得特征值不就是解个多项式方程嘛跳过前面的动力系统例子直接做题做完对答案全对心里还挺得意。过了几个月去看一个图像压缩的实现里面用到奇异值分解我怎么都想不通为什么保留前几个奇异值就能还原出大致图像。回头翻书才发现答案在第五章那个被我跳过的例子里——矩阵反复作用在向量上方向不变的那些分量会被不断放大其余分量相对衰减所以最大的那几个特征方向携带了主要信息。跳过例子的代价是后来花了两倍时间补同一块内容。从那以后我每次读这类教材都强制自己把每章开头的应用例子先读完再往下走哪怕当时看不出它跟后面的公式有什么关系。这个习惯救过我很多次。如果你也准备开始读不妨从第一章那个经济学与工程的模型例子看起先让概念有个落点再去啃定义和证明。这份英文原版资料文字可复制、结构完整配合术语表慢慢推比想象中好读。希望帮到你。本文还有配套的精品资源点击获取
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →