
上次笔记,学完了第十七章的“矩阵乘法”“向量化运算”以及“格拉姆矩阵”,由于这三部分过于抽象,因此我用了三条笔记去反复理解,中途也停过几次,但最后还是结合了书本作者的视频,用自己的话去理解了格拉姆矩阵。即使如此,理解也是比较浅层的,还是停留在“调包侠”的层面。不管如何,有推进就是好事~
今天的事情比较多,但忙完就得继续,争取完成第十七章的剩余内容:
17.4 补完矩阵运算(从“切片”的角度,再次可视化理解格拉姆矩阵)
17.5 几个常见的矩阵分解
17.5.1 Cholesky分解
17.5.2 特征值分解(EVD)
17.5.3 奇异值分解(SVD)
--
17.4 补完矩阵运算(从“切片”的角度,再次可视化理解格拉姆矩阵)
这段主要是补完书本的可视化讲解:
1️⃣图17.7和17.8解释了为什么格拉姆矩阵是一个对阵的矩阵,也清晰地呈现了计算的过程(就是矩阵乘法哇):

2️⃣代码17.7虽然在昨天的笔记已经呈现了可一键复制的代码版本,但也附上书本的解释。为什么再次贴上图呢,一个是因为代码a、b两部分,已经把两个格拉姆矩阵的“切片方式”清晰呈现出来,至于为什么要切片?在d、f、g三部分,右侧都有很直观的计算步骤,之前的“切片”,就是为了后续的相乘,这跟我们之前在基础部分学习的“切片”类似于“做菜前用刀切好食材,便于处理”是一脉相承的。

--
17.5 几个常见的矩阵分解

-
17.5.1 Cholesky分解
1️⃣什么是“Cholesky分解”?
1. 先让AI帮忙用比喻的方式辅助理解:




2. 再整理下Cholesky分解的用处:
(1)可以让解方程的速度更快
(2)可以检查矩阵的健壮性
(3)可以生成相关的数据

(虽然如此,还是懵懵的,不过也算混个面熟了!)
3. Cholesky分解代码:
# 对格拉姆矩阵G进行Cholesky分解L = np.linalg.cholesky(G)L
3.1 运行结果:

3.2 Cholesky分解结果可视化:

--
17.5.2 特征值分解
1️⃣依然先来个看不懂的书本截图:

2️⃣再来一个通俗易懂的AI解释(我作为百岁老奶奶,很符合我脑袋空空的设定hhh):
1. 我的问题:

2. AI的回答:

3. 特征值分解的应用和其他解释:


4. 特征值分解代码:
# 对格拉姆矩阵G进行特征值分解Lambdas, V = np.linalg.eig(G)print(Lambdas)print(V)
4.1 运行结果和可视化:


--
17.5.3 奇异值分解(SVD)
1️⃣依然先来课本截图:

2️⃣再来个比喻:奇异值分解相当于“万能水果刀”,想怎么切就怎么切。
把“三把刀”的比喻,都整理到表格中:

3️⃣奇异值分解的代码:
# 鸢尾花数据矩阵X奇异值分解U,S,VT = np.linalg.svd(X, full_matrices = False)V_SVD = VT.T
4️⃣奇异值分解运行结果及可视化:

--
对于三个分解(Cholesky,特征值,奇异值分解)的可视化,我一开始看不出它和对应的分解风格和应用的联系。求助AI,整理如下:
1️⃣Cholesky(关键词:对称)


2️⃣特征值分解(关键词:核心)


3️⃣奇异值分解


--
附:三种分解方式的对比整理:

--
笔记写于:2026年4月20日20:09:19
结束于:2026年4月20日22:49:24
用时:约2.5小时
--