线性代数的本质¶
约 4210 个字 1 张图片 预计阅读时间 21 分钟
在 3b1b 的视频中,对特征值和特征向量的介绍放在了非常靠后的章节。其开头就说了:如果你不理解特征值和特征向量,估计就是对线性代数中的基本概念不理解。所以,我应该需要把他之前章节中的核心进行掌握,再来看特征值和特征向量的本质
"There is hardly any theory wnich is more elementary than linear algebra, in spite of the fact that generations of professors and textbook writers have obscured its simplicity by preposterous calculations with matrices." - Jean Dieudonné
对于这种成熟的概念以及总结性质的问题,交给 AI 来做再好不过了,而且好消息是这些教程不仅仅以视频的形式存在,还被整理成为了网站,我只需要把网站交给 Kimi 就好了!
Vectors, what even are they?¶
向量的三种视角
| 视角 | 定义 | 特点 |
|---|---|---|
| 物理视角 | 空间中的箭头 | 由长度和方向定义,可平移,二维或三维 |
| 计算机科学视角 | 有序的数字列表 | 每个位置代表一个维度,顺序很重要,如 [面积, 价格] |
| 数学视角 | 任何可以进行“加法”和“数乘”的对象 | 抽象,强调运算规则而非具体形式 |
线性代数的核心在于向量加法和数乘这两种操作。无论是将向量看作空间中的箭头,还是数字列表,真正重要的是在这两种视角之间自由切换的能力:
- 对数据分析者:将高维数据可视化,发现模式。
- 对物理学家或图形程序员:用数字精确描述空间与变换。
另外注意到:在教程中的向量都是竖着表示的
Linear combination, span and basis vectors¶
-
基向量(Basis Vectors)
-
标准基:二维空间中,单位向量 î(x 方向)和 ĵ(y 方向)构成标准基。
-
广义的基:任何两个不共线的向量都可以作为一组基,构建新的坐标系。
-
基的用途:通过缩放基向量再相加,可以表示平面中的任意向量。
-
-
线性组合(Linear Combination)
-
定义:对两个向量 v 和 w,任意实数 a 和 b,表达式 a·v + b·w 就是一个线性组合。
-
几何意义:线性组合是通过缩放两个向量再相加,得到新的向量。
-
-
张成空间(Span)
- 定义:一组向量的所有可能线性组合构成的集合,称为这些向量的张成空间。
-
线性相关与线性无关
- 线性相关:一组向量中,至少有一个向量可以被其他向量的线性组合表示(即“多余”)。
- 线性无关:每个向量都贡献了一个新的维度,移除任何一个都会减少张成空间的维度。
-
空间的基向量
一组向量构成一个空间的基,当且仅当:
- 它们是线性无关的;
- 它们的张成空间是整个空间。
Linear transformations and matrices¶
Space is fixed, it is the ultimate playground, what can be changed is the basis and vector
Keep in mind, it is what we do to the vector, not what we do to the space
-
什么是线性变换?
-
变换本质上是函数,输入向量,输出另一个向量。
-
线性变换在视觉上满足两个条件:
- 所有直线变换后仍是直线(不弯曲);
- 原点保持不动(即零向量映射到零向量)。
-
-
矩阵与线性变换的关系
矩阵的列就是基向量变换后的坐标
-
线性变换的数学性质
线性变换满足两个数学性质:
- 可加性:\(T(u + v) = T(u) + T(v)\)
- 齐次性:\(T(ku) = kT(u)\)
Matrix multiplication as composition¶
-
矩阵乘法的几何意义:变换的复合
连续施加两个线性变换(例如先旋转再剪切)的结果,仍然是一个线性变换。
-
重要性质
非交换性:矩阵乘法不满足交换律,\(AB \neq BA\),因为变换的顺序会影响最终结果。
结合性:矩阵乘法满足结合律,\((AB)C = A(BC)\),从变换的角度看是显然的:无论怎么加括号,变换的顺序始终是 C → B → A。
The determinant¶
-
行列式的几何意义:面积/体积的缩放因子
行列式衡量一个线性变换对空间面积(2D)或体积(3D)的缩放程度。我认为这里的“空间”应当理解为“有限空间”,而不是理解为整个 space。举一个例子,有限空间可以是 2D space 中的一个单位正方形,其面积为1,我们将该单位正方形中的所有向量(点)进行线性变换\(A\)过后,会形成一个新的区域。该区域的面积就是行列式的大小,即其面积变为\(\det(A)\)
-
行列式为 0 的含义
如果行列式为 0,说明整个空间被压缩到更低维度(如 2D 压缩成一条线,或 3D 压缩成一个平面甚至点)。这也意味着矩阵的列向量是线性相关的,同时也说明该矩阵是不可逆的。除此之外,Ax = 0 有非零解 当且仅当 det(A) = 0。从反正法来说明:如果行列式不为零,则矩阵可逆,则空间中的向量映射是一一对应的,任意非零向量,对会被映射到唯一对应的非零向量,此时无法找到\(Ax=0\)的非零解。所以如果要零空间有解,则行列式必定为0
负行列式的含义:空间方向被翻转
-
矩阵乘积的行列式
两个矩阵相乘后,其行列式等于各自行列式的乘积:
\[ \det(M_1 M_2) = \det(M_1) \cdot \det(M_2) \]这是因为行列式本质上是变换对空间的缩放因子,连续变换的缩放因子等于各步缩放因子的乘积。
Inverse matrices, column space, and null space¶
-
线性方程组的几何意义
一个线性方程组可以表示为矩阵与向量的乘法:
\[ Ax=v \]其中 A 是系数矩阵,x 是未知向量,v 是常数向量。几何上,这相当于寻找一个向量 x,使得线性变换 A 将其映射到向量 v。
-
逆矩阵(Inverse Matrix)
当变换 A 没有“压缩空间”(即行列式不为零),A 是可逆的,存在逆矩阵 A⁻¹。解方程组的方法:x = A⁻¹ v,即“倒带”变换,找到原向量 x。
-
不可逆的情况(行列式为零)
如果 A 的行列式为零,意味着它将空间压缩到更低维度(如平面压缩成线)。此时 A 没有逆矩阵,因为无法从压缩后的结果恢复原始空间。 但方程组仍可能有解,只要向量 v 落在 A 的“输出空间”中。
-
列空间(Column Space)与秩(rank)
列空间是矩阵 A 的所有可能输出向量构成的空间。它的维度称为“秩(rank)”,表示变换后空间的维度。如果 v 不在列空间中,方程组无解。(个人理解:列空间其实就代表了解空间)
-
零空间(Null Space 或 Kernel)
零空间是所有被 A 映射到零向量的输入向量构成的集合。用线性方程组来表示,零空间的向量满足
\[ Ax=0 \]如果 A 是“压缩”变换,零空间是非零的,表示多个输入对应同一个输出。反之,如果 A 是一个满秩矩阵,那么仅有全零的情况满足
附注:Nonsquare matrices as transformations between dimensions,非方阵用于维度之间的转换(2D <-> 3D)
Dot Product¶
在这一小节中探讨了点积与投机之间的关系,从对偶性和可视化的角度描述了二者之间的等价。不过我觉得这还是不够本质。我在思考的过程中,最终需要得到结论:投影是一种线性变换,这样才能够比较通畅地理解。所以对于这一节的整理就不按照 3b1b 的视频来了
要理解点积和投影之间的关系,首先我们需要对二者进行定义
-
什么是点积
点积的定义非常简单,就是两个向量的 element wise 乘积之和
\[ a·b = \sum_i a_ib_i \] -
什么是投影
对于投影的定义相对来说比较难,最终会需要对面积进行理解?从比较简单的代数角度,投影代表了一个向量\(a\)在另一个向量\(b\)上的分量,并按照\(b\)的模进行缩放
\[ proj(a,b)=\lVert a\rVert \lVert b \rVert \cos{\theta} \] -
投影与点积
在这里我们似乎还没有将投影与向量之间显示地联系起来,其中的关键在于模的定义。模的定义(在此情形下)就是将几何与代数进行联系的桥梁
\[ \lVert a\rVert=\sqrt{\sum_i a_i^2} \]这个公式异常的平常,以至于我忽略了其重要性。通过对模的定义,我们完全可以推到出投影的向量化形式
根据平面几何的余弦定理
\[ c^2 = a^2 + b^2 − 2ab \cos θ \]余弦定理的证明由 Euclid's Element 欧几里得几何原本中已经得到了证明,没有使用任何向量化语言。
在向量的语言中用\(a,b\)来表示向量\(c\)非常简单(三角形法则),其模的计算用向量化形式表示为
\[ \rVert c \lVert = \lVert a-b\rVert = \sqrt{\sum_i (a_i-b_i)^2}=\sqrt{a^2+b^2-2a·b} \]我用了点积的定义来简化了上述式子的表达。把式子带入到余弦定理当中就可得到
\[ a·b =\lVert a\rVert \lVert b \rVert \cos{\theta} \]虽然我用一些简单定理将投影与点积的等价关系进行了证明,但是这些简单定理的证明也显得没有那么普通了。例如,为什么向量\(c = a - b\)为什么成立?为什么向量的长度就是几何平均?不过由于这些结论足够平常,我们可以将其作为公理进行看待(虽然他们并不是),最后会或许深入到线性空间的定义
-
投影是一种线性变换
现在更进一步,用线性变换的角度来看待投影。我们可以证明投影是一种线性变换,对向量\(x\)投影到向量\(a\)上
\[ proj_a(x) = x·a \]可以很容易证明该变换的可加性和齐次性
\[ proj_a(x_1+x_2)=proj_a(x_1)+proj_a(x_2)\\ proj_a(k·x)=k·proj_a(x) \]既然投影是一种线性变换,而矩阵即可描述一个线性变换,我们就可以从线性变换的角度来重新审视投影。此时投影矩阵\(a\)是一个“倒下”的向量,即一个一维矩阵。该矩阵其实是一个降维变换,把向量全部压缩到一维空间当中。最终的结果是\(a\)中各个值的线性组合,我把其看做在各个坐标分量的线性组合
\[ a = (a_1,a_2) = (a_1, 0)+(0, a_2)\\ x·a = x·(a_1,0)+x·(0,a_2) = x_1a_1 + x_2a_2 \]相当于将投影分解成为了在各个轴上的分量之和,以线性组合的角度重新结构了投影
Change of Basis¶
其实早在第二节的时候就引入过基向量和标准基的概念了,在这一节讨论了基的变换,并且简单引出了相似变换的本质意义
-
问题引出
对于同一个向量,使用不同的基向量表示也不相同。例如,使用标准基来表示\((1, 0)\)向量,需要只需要 1 个\(\hat i\)向量,其坐标也是\((1, 0)\);使用基向量\((1, 1)\)&\((1, -1)\)来表示,则需要两个基向量的一半,其坐标表示为\((0.5, 0.5)\)
-
基变换矩阵
基变换矩阵\(A\)是一个矩阵,其列向量代表新坐标系的基向量在当前坐标系中的坐标。(个人觉得)不失一般性当前坐标系可认为是标准基构成的坐标系
用途:用于将向量从新坐标系转换到当前坐标系。反之,则需要基变换矩阵的逆矩阵
-
基变换矩阵与相似变换
考虑如何在新坐标系下描述一个旋转变换。在新坐标系下的向量\(x\),首先将其转变为标准基下的向量表示,然后再使用旋转矩阵,最后再用逆矩阵把向量还原为新坐标系下的向量表示
\[ \text{Rotation in New Basis}=A^{-1}MA \]中间的矩阵\(M\)表示在当前坐标系中的旋转变换,其可以延伸为任意的线性变换。此时理解相似变换就变得更加容易了:即为线性变换\(M\)在不同坐标系下的矩阵表示,所以称为相似
An expression like\(A^{-1}MA\)suggests a mathmatical sort of empathy
表达式\(A^{-1}MA\)暗示着一种数学上的转移作用
Eigenvectors and eigenvalues¶
虽然特征向量本身的定义是非常直观的,但是无法从该定义出发,推导出特征值和特征向量更深层的含义。我在 SVD 中观察到,特征向量的求解,并不是针对于任意矩阵本身,而是针对于一个对称矩阵\(M^TM\),其中的\(M\)可以是任意的矩阵。在这样的意义下,特征值和特征向量在其定义之上延伸出了更具体的性质,使得特征值和特征向量变得不再空虚
所以在这一小节我只对特征值和特征向量的基本定义进行整理,具体的性质讨论会在 SVD 部分进行深入
-
特征向量与特征值
在线性变换中,某些向量在变换后仍然保持在原来的方向上,这些向量被称为特征向量。特征值即为特征向量在变换中对应的缩放因子
-
特征值和特征向量的计算方法
核心思路是求解
\[ A\eta=\lambda \eta \]延伸成为求解
\[ (A-\lambda I)\eta=0 \]线性组方程的零空间有非零解,说明其行列式为零。通过行列式为零,可以获得特征值
\[ |A-\lambda I|=0 \]找到了特征值过后,通过高斯消元法可以求得\((A-\lambda I)\eta=0\)的解,即为特征向量
-
可对角化
可对角化的意义在此处也不是很明确,我仅介绍概念
如果一组基向量都是特征向量,那么线性变换在这组基下的矩阵表示是对角矩阵,对角线上的元素即为对应的特征值,此时我们也说该矩阵是可对角化的
可对角化在谱定理处才会显示出真正的作用,而谱定理的直接推论就是:实对称矩阵一定是可对角化的
Abstract vector spaces¶
这一章节是线性代数的向量再探讨:“向量到底是什么?”,最终对向量进行了高度且准确的抽象:向量是任何可以相加和数乘的对象。更严谨的来说,任何东西只要满足八条公理,就可以是向量,并且这些向量构成了一个抽象的向量空间(也叫线性空间)
-
函数也可以是向量
因为函数可以像向量一样相加和数乘:
\[ (f+g)(x)=f(x)+g(x)\\ (c⋅f)(x)=c⋅f(x) \]导数操作可以写成一个无限维矩阵,主对角线上方偏移一位填充整数
-
抽象向量空间的定义
八条公理,满足就是线性空间:
- 加法封闭、交换、结合
- 零向量存在
- 加法逆元存在
- 数乘封闭
- 数乘对向量加法的分配律
- 数乘对标量加法的分配律
- 数乘与标量乘法兼容
- 1 乘向量不变
Basically it's a checklist to be sure the notions of vector addition and scalar multiplication are reasonable.
These axioms are not so much fundamental rules of nature as they are an interface between you, the mathematician discovering results, and other people who may want to apply those results to new sorts of vector spaces.
至于这八条公理是怎么产生的?公理的产生是数学家从无数例子当中总结出来的不言自明的规则,并且这八条公理并不是完全独立的,他们也是冗余的,有人说只需要其中的六条即可 Is every axiom in the definition of a vector space necessary?