阅读翻译Mathematics for Machine Learning之2.7 Linear Mappings

关于:

  • 首次发表日期:2024-07-23
  • Mathematics for Machine Learning官方链接: https://mml-book.com
  • ChatGPT和KIMI机翻,人工润色
  • 非数学专业,如有错误,请不吝指出

2.7 线性映射

在接下来的内容中,我们将研究保持向量空间结构的映射,这将使我们能够定义坐标的概念。在本章的开头,我们提到向量是可以相加和乘以标量的对象,且结果仍然是向量。当应用映射时,我们希望保持这一性质:考虑两个实向量空间 \(V, W\)。如果映射 \(\Phi: V \rightarrow W\) 满足以下条件,则它保持向量空间的结构:

\[\begin{align*}
\Phi(\boldsymbol{x}+\boldsymbol{y}) & =\Phi(\boldsymbol{x})+\Phi(\boldsymbol{y}) \tag{2.85} \\
\Phi(\lambda \boldsymbol{x}) & =\lambda \Phi(\boldsymbol{x}) \tag{2.86}
\end{align*}
\]

对于所有 \(\boldsymbol{x}, \boldsymbol{y} \in V\) 和 \(\lambda \in \mathbb{R}\) 成立。我们可以用以下定义来总结这一点:

定义 2.15(线性映射)。对于向量空间 \(V, W\),一个映射 \(\Phi: V \rightarrow W\) 被称为线性映射(或向量空间同态/线性变换),如果

\[\forall \boldsymbol{x}, \boldsymbol{y} \in V \ \forall \lambda, \psi \in \mathbb{R}: \Phi(\lambda \boldsymbol{x}+\psi \boldsymbol{y})=\lambda \Phi(\boldsymbol{x})+\psi \Phi(\boldsymbol{y})
\tag{2.87}
\]

结果表明,我们可以将线性映射表示为矩阵(见第 2.7.1 节)。回想一下,我们也可以将一组向量作为矩阵的列。在使用矩阵时,我们必须记住矩阵代表的是什么:是线性映射还是向量的集合。我们将在第 4 章中详细讨论线性映射。在继续之前,我们将简要介绍一些特殊的映射。

定义 2.16(单射、满射、双射)。考虑一个映射 \(\Phi\) : \(\mathcal{V} \rightarrow \mathcal{W}\),其中 \(\mathcal{V}\) 和 \(\mathcal{W}\) 可以是任意集合。那么 \(\Phi\) 被称为:

  • 单射(Injective),如果 \(\forall \boldsymbol{x}, \boldsymbol{y} \in \mathcal{V}\),有 \(\Phi(\boldsymbol{x})=\Phi(\boldsymbol{y}) \Longrightarrow \boldsymbol{x}=\boldsymbol{y}\)。
  • 满射(Surjective),如果 \(\Phi(\mathcal{V})=\mathcal{W}\)。
  • 双射(Bijective),如果它既是单射又是满射。

如果 \(\Phi\) 是满射,那么 \(\mathcal{W}\) 中的每个元素都可以通过 \(\Phi\) 从 \(\mathcal{V}\) 中“到达”。双射 \(\Phi\) 可以“被逆”,即存在一个映射 \(\Psi\) : \(\mathcal{W} \rightarrow \mathcal{V}\) 使得 \(\Psi \circ \Phi(\boldsymbol{x})=\boldsymbol{x}\)。这个映射 \(\Psi\) 被称为 \(\Phi\) 的逆映射,通常记作 \(\Phi^{-1}\)。

有了这些定义,我们介绍以下向量空间 \(V\) 和 \(W\) 之间的线性映射的特例:

  • 同构(Isomorphism):\(\Phi: V \rightarrow W\) 线性且双射
  • 自同态(Endomorphism):\(\Phi: V \rightarrow V\) 线性
  • 自同构(Automorphism):\(\Phi: V \rightarrow V\) 线性且双射
  • 我们定义 \(\operatorname{id}_V: V \rightarrow V, \boldsymbol{x} \mapsto \boldsymbol{x}\) 为 \(V\) 中的恒等映射或恒等自同构。

**例 2.19(同态(Homomorphism))**

映射 \(\Phi: \mathbb{R}^2 \rightarrow \mathbb{C}, \Phi(\boldsymbol{x})=x_1+i x_2\) 是一个同态:

\[\begin{aligned}
\Phi\left(\left[\begin{array}{l}
x_1 \\
x_2
\end{array}\right]+\left[\begin{array}{l}
y_1 \\
y_2
\end{array}\right]\right) & =\left(x_1+y_1\right)+i\left(x_2+y_2\right)=x_1+i x_2+y_1+i y_2 \\
& =\Phi\left(\left[\begin{array}{l}
x_1 \\
x_2
\end{array}\right]\right)+\Phi\left(\left[\begin{array}{l}
y_1 \\
y_2
\end{array}\right]\right) \\
\Phi\left(\lambda\left[\begin{array}{l}
x_1 \\
x_2
\end{array}\right]\right) & =\lambda x_1+\lambda i x_2=\lambda\left(x_1+i x_2\right)=\lambda \Phi\left(\left[\begin{array}{l}
x_1 \\
x_2
\end{array}\right]\right) .
\end{aligned}
\tag{2.88}
\]

这也说明了为什么复数可以表示为 \(\mathbb{R}^2\) 中的元组:存在一个双射线性映射,可以将 \(\mathbb{R}^2\) 中元组的逐元素加法转换为对应加法的复数集合。请注意,我们这里只展示了线性性,而不是双射性。


定理 2.17(Axler (2015) 的定理 3.59)。有限维向量空间 \(V\) 和 \(W\) 是同构的,当且仅当 \(\operatorname{dim}(V)=\operatorname{dim}(W)\)。

定理 2.17 表明,存在一个线性、双射的映射在两个相同维度的向量空间之间。直观上,这意味着相同维度的向量空间在某种程度上是相同的,因为它们可以互相转换而不会遭受任何损失。

定理 2.17 还为我们提供了将 \(\mathbb{R}^{m \times n}\)(\(m \times n\) 矩阵的向量空间)和 \(\mathbb{R}^{mn}\)(长度为 \(mn\) 的向量的向量空间)视为相同的理由,因为它们的维度都是 \(mn\),并且存在一个线性、双射的映射将一个转换为另一个。

备注。考虑向量空间 \(V, W, X\)。那么:

  • 对于线性映射 \(\Phi: V \rightarrow W\) 和 \(\Psi: W \rightarrow X\),映射 \(\Psi \circ \Phi: V \rightarrow X\) 也是线性的。
  • 如果 \(\Phi: V \rightarrow W\) 是同构(isomorphism),那么 \(\Phi^{-1}: W \rightarrow V\) 也是同构。
  • 如果 \(\Phi: V \rightarrow W, \Psi: V \rightarrow W\) 是线性的,那么 \(\Phi+\Psi\) 和 \(\lambda \Phi, \lambda \in \mathbb{R}\),也是线性的。

2.7.1 线性映射的矩阵表示

任何 \(n\) 维向量空间都与 \(\mathbb{R}^n\) 同构(定理 2.17)。我们考虑一个 \(n\) 维向量空间 \(V\) 的基 \(\left\{\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n\right\}\)。在接下来的内容中,基向量的顺序很重要。因此,我们写作

\[B=\left(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n\right)
\tag{2.89}
\]

并称这个 \(n\) 元组为 \(V\) 的有序基。

备注(符号)。我们现在使用的符号有点复杂,因此我们在这里总结一些部分。\(B=\left(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n\right)\) 是一个有序基,\(\mathcal{B}=\left\{\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n\right\}\) 是一个(无序)基,\(\boldsymbol{B}=\left[\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n\right]\) 是一个矩阵,其列是向量 \(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n\)。

定义 2.18(坐标)。考虑一个向量空间 \(V\) 和其有序基 \(B=\left(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n\right)\)。对于任何 \(\boldsymbol{x} \in V\),我们可以得到一个唯一的表示(线性组合)

\[\boldsymbol{x}=\alpha_1 \boldsymbol{b}_1+\ldots+\alpha_n \boldsymbol{b}_n
\]

其中 \(\alpha_1, \ldots, \alpha_n\) 是 \(\boldsymbol{x}\) 相对于 \(B\) 的坐标,并且向量

\[\boldsymbol{\alpha}=\left[\begin{array}{c}
\alpha_1 \\
\vdots \\
\alpha_n
\end{array}\right] \in \mathbb{R}^n
\]

是 \(\boldsymbol{x}\) 相对于有序基 \(B\) 的坐标向量/坐标表示

一个基实际上定义了一个坐标系。我们熟悉的二维笛卡尔坐标系是由标准基向量 \(\boldsymbol{e}_1, \boldsymbol{e}_2\) 张成的。在这个坐标系中,向量 \(\boldsymbol{x} \in \mathbb{R}^2\) 有一个表示,它告诉我们如何线性组合 \(\boldsymbol{e}_1\) 和 \(\boldsymbol{e}_2\) 来得到 \(\boldsymbol{x}\)。然而,\(\mathbb{R}^2\) 的任何基都定义了一个有效的坐标系,并且相同的向量 \(\boldsymbol{x}\) 在基 \(\left(\boldsymbol{b}_1, \boldsymbol{b}_2\right)\) 中可能有不同的坐标表示。在图 2.8 中,向量 \(\boldsymbol{x}\) 相对于标准基 \(\left(\boldsymbol{e}_1, \boldsymbol{e}_2\right)\) 的坐标是 \([2,2]^{\top}\)。然而,相对于基 \(\left(\boldsymbol{b}_1, \boldsymbol{b}_2\right)\),相同的向量 \(\boldsymbol{x}\) 表示为 \([1.09,0.72]^{\top}\),即 \(\boldsymbol{x}=1.09 \boldsymbol{b}_1+0.72 \boldsymbol{b}_2\)。在接下来的部分中,我们将探讨如何获得这种表示。




**例 2.20**

我们来看一个几何向量 \(\boldsymbol{x} \in \mathbb{R}^2\),其相对于 \(\mathbb{R}^2\) 的标准基 \(\left(\boldsymbol{e}_1, \boldsymbol{e}_2\right)\) 的坐标为 \([2,3]^{\top}\)。这意味着,我们可以写作 \(\boldsymbol{x}=2 \boldsymbol{e}_1+3 \boldsymbol{e}_2\)。然而,我们不必选择标准基来表示这个向量。如果我们使用基向量 \(\boldsymbol{b}_1=[1,-1]^{\top}\) 和 \(\boldsymbol{b}_2=[1,1]^{\top}\),我们将得到坐标 \(\frac{1}{2}[-1,5]^{\top}\) 来表示相对于 \(\left(\boldsymbol{b}_1, \boldsymbol{b}_2\right)\) 的相同向量(见图 2.9)。


备注。对于一个 \(n\) 维向量空间 \(V\) 和 \(V\) 的一个有序基 \(B\),映射 \(\Phi: \mathbb{R}^n \rightarrow V, \Phi\left(\boldsymbol{e}_i\right)=\boldsymbol{b}_i, i=1, \ldots, n\) 是线性的(根据定理 2.17,是一个同构),其中 \(\left(\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n\right)\) 是 \(\mathbb{R}^n\) 的标准基。

现在我们已经准备好明确地建立矩阵与有限维向量空间之间的线性映射之间的联系。

定义 2.19(变换矩阵)。考虑向量空间 \(V\) 和 \(W\),它们分别有对应的(有序)基 \(B=\left(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n\right)\) 和 \(C=\left(\boldsymbol{c}_1, \ldots, \boldsymbol{c}_m\right)\)。此外,我们考虑一个线性映射 \(\Phi: V \rightarrow W\)。对于 \(j \in\{1, \ldots, n\}\),

\[\Phi\left(\boldsymbol{b}_j\right)=\alpha_{1 j} \boldsymbol{c}_1+\cdots+\alpha_{m j} \boldsymbol{c}_m=\sum_{i=1}^m \alpha_{i j} \boldsymbol{c}_i
\tag{2.92}
\]

是 \(\Phi\left(\boldsymbol{b}_j\right)\) 相对于 \(C\) 的唯一表示。然后,我们称 \(m \times n\) 矩阵 \(\boldsymbol{A}_{\Phi}\),其元素由下式给出

\[A_{\Phi}(i, j)=\alpha_{i j},
\tag{2.93}
\]

为 \(\Phi\) 的变换矩阵(相对于 \(V\) 的有序基 \(B\) 和 \(W\) 的有序基 \(C\))。

\(\Phi\left(\boldsymbol{b}_j\right)\) 相对于 \(W\) 的有序基 \(C\) 的坐标是 \(\boldsymbol{A}_{\Phi}\) 的第 \(j\) 列。考虑(有限维)向量空间 \(V, W\) 具有有序基 \(B, C\) 和线性映射 \(\Phi: V \rightarrow W\) 及其变换矩阵 \(\boldsymbol{A}_{\Phi}\)。如果 \(\hat{\boldsymbol{x}}\) 是 \(\boldsymbol{x} \in V\) 相对于 \(B\) 的坐标向量,\(\hat{\boldsymbol{y}}\) 是 \(\boldsymbol{y}=\Phi(\boldsymbol{x}) \in W\) 相对于 \(C\) 的坐标向量,那么

\[\hat{\boldsymbol{y}}=\boldsymbol{A}_{\Phi} \hat{\boldsymbol{x}} .
\tag{2.94}
\]

这意味着变换矩阵可以用来将相对于 \(V\) 中有序基的坐标映射为相对于 \(W\) 中有序基的坐标。


**例 2.21(变换矩阵)**

考虑一个同态 \(\Phi: V \rightarrow W\) 以及 \(V\) 的有序基 \(B=\left(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_3\right)\) 和 \(W\) 的有序基 \(C=\left(\boldsymbol{c}_1, \ldots, \boldsymbol{c}_4\right)\)。给定

\[\begin{aligned}
& \Phi\left(b_1\right)=c_1-c_2+3 c_3-c_4, \\
& \Phi\left(b_2\right)=2 c_1+c_2+7 c_3+2 c_4, \\
& \Phi\left(b_3\right)=3 c_2+c_3+4 c_4,
\end{aligned}
\tag{2.95}
\]

相对于 \(B\) 和 \(C\) 的变换矩阵 \(\boldsymbol{A}_{\Phi}\) 满足 \(\Phi\left(\boldsymbol{b}_k\right)=\sum_{i=1}^4 \alpha_{i k} \boldsymbol{c}_i, k=1, \ldots, 3\),其表示为

\[\boldsymbol{A}_{\Phi}=\left[\boldsymbol{\alpha}_1, \boldsymbol{\alpha}_2, \boldsymbol{\alpha}_3\right]=\left[\begin{array}{ccc}
1 & 2 & 0 \\
-1 & 1 & 3 \\
3 & 7 & 1 \\
-1 & 2 & 4
\end{array}\right],
\tag{2.96}
\]

其中 \(\boldsymbol{\alpha}_j, j=1,2,3\),是 \(\Phi\left(\boldsymbol{b}_j\right)\) 相对于 \(C\) 的坐标向量。


图 2.10 给出了一组向量的三个线性变换示例。图 2.10(a) 展示了 \(\mathbb{R}^2\) 中的 400 个向量,每个向量由相应的 \((x_1, x_2)\) 坐标处的一个点表示。这些向量被排列在一个正方形中。当我们使用矩阵 \(\boldsymbol{A}_1\)(在公式 2.97 中)对这些向量的每一个进行线性变换时,我们得到了图 2.10(b) 中的旋转正方形。如果我们应用由 \(\boldsymbol{A}_2\) 表示的线性映射,我们将得到图 2.10(c) 中的矩形,其中每个 \(x_1\) 坐标被拉伸了 2 倍。图 2.10(d) 展示了使用 \(\boldsymbol{A}_3\) 进行线性变换后的原始正方形,它结合了反射、旋转和拉伸的效果。

2.7.2 基变换

在接下来的内容中,我们将更仔细地研究线性映射 \(\Phi: V \rightarrow W\) 的变换矩阵在我们改变 \(V\) 和 \(W\) 中的基时是如何变化的。考虑 \(V\) 的两个有序基

\[B=\left(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n\right), \quad \tilde{B}=\left(\tilde{\boldsymbol{b}}_1, \ldots, \tilde{\boldsymbol{b}}_n\right)
\tag{2.98}
\]

和 \(W\) 的两个有序基

\[C=\left(\boldsymbol{c}_1, \ldots, \boldsymbol{c}_m\right), \quad \tilde{C}=\left(\tilde{\boldsymbol{c}}_1, \ldots, \tilde{\boldsymbol{c}}_m\right)
\tag{2.99}
\]

此外,\(A_{\Phi} \in \mathbb{R}^{m \times n}\) 是相对于基 \(B\) 和 \(C\) 的线性映射 \(\Phi: V \rightarrow W\) 的变换矩阵,而 \(\tilde{\boldsymbol{A}}_{\Phi} \in \mathbb{R}^{m \times n}\) 是相对于 \(\tilde{B}\) 和 \(\tilde{C}\) 的相应变换矩阵。接下来,我们将研究 \(\boldsymbol{A}\) 和 \(\tilde{\boldsymbol{A}}\) 是如何关联的,即如果我们选择从 \(B, C\) 改变基到 \(\tilde{B}, \tilde{C}\),我们是否可以/如何将 \(\boldsymbol{A}_{\Phi}\) 转换为 \(\tilde{A}_{\Phi}\)。

备注。我们实际上得到了恒等映射 \(\mathrm{id}_V\) 的不同坐标表示。在图 2.9 的上下文中,这意味着在不改变向量 \(\boldsymbol{x}\) 的情况下,将相对于 \(\left(\boldsymbol{e}_1, \boldsymbol{e}_2\right)\) 的坐标映射到相对于 \(\left(b_1, b_2\right)\) 的坐标。通过改变基和相应地改变向量的表示,相对于这个新基的变换矩阵可以有一个特别简单的形式,这允许进行直接的计算。


**例 2.23(基变换)**

考虑一个相对于 \(\mathbb{R}^2\) 中的标准基的变换矩阵

\[\boldsymbol{A}=\left[\begin{array}{ll}
2 & 1 \\
1 & 2
\end{array}\right]
\tag{2.100}
\]

如果我们定义一个新的基

\[B=\left(\left[\begin{array}{l}
1 \\
1
\end{array}\right],\left[\begin{array}{c}
1 \\
-1
\end{array}\right]\right)
\tag{2.101}
\]

我们将获得一个对角变换矩阵

\[\tilde{\boldsymbol{A}}=\left[\begin{array}{ll}
3 & 0 \\
0 & 1
\end{array}\right]
\tag{2.102}
\]

相对于基 \(B\),其比 \(\boldsymbol{A}\) 更容易处理。


接下来,我们将研究将一个基下的坐标向量变换为另一个基下的坐标向量的映射。我们将首先陈述主要结果,然后提供解释。

定理 2.20(基变换)。对于线性映射 \(\Phi: V \rightarrow W\),\(V\) 的有序基

\[B=\left(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n\right), \quad \tilde{B}=\left(\tilde{\boldsymbol{b}}_1, \ldots, \tilde{\boldsymbol{b}}_n\right)
\tag{2.103}
\]

和 \(W\) 的有序基

\[C=\left(\boldsymbol{c}_1, \ldots, \boldsymbol{c}_m\right), \quad \tilde{C}=\left(\tilde{\boldsymbol{c}}_1, \ldots, \tilde{\boldsymbol{c}}_m\right)
\tag{2.104}
\]

以及相对于基 \(B\) 和 \(C\) 的 \(\Phi\) 的变换矩阵 \(\boldsymbol{A}_{\Phi}\),相对于基 \(\tilde{B}\) 和 \(\tilde{C}\) 的相应变换矩阵 \(\tilde{A}_{\Phi}\) 由下式给出:

\[\tilde{A}_{\Phi}=\boldsymbol{T}^{-1} \boldsymbol{A}_{\Phi} S
\tag{2.105}
\]

这里,\(S \in \mathbb{R}^{n \times n}\) 是将相对于 \(\tilde{B}\) 的坐标映射到相对于 \(B\) 的坐标的 \(\mathrm{id}_V\) 的变换矩阵,而 \(\boldsymbol{T} \in \mathbb{R}^{m \times m}\) 是将相对于 \(\tilde{C}\) 的坐标映射到相对于 \(C\) 的坐标的 \(\mathrm{id}_W\) 的变换矩阵。

证明 遵循 Drumm 和 Weil (2001) 的方法,我们可以将 \(V\) 的新基 \(\tilde{B}\) 的向量表示为基 \(B\) 的基向量的线性组合,使得

\[\tilde{\boldsymbol{b}}_j=s_{1 j} \boldsymbol{b}_1+\cdots+s_{n j} \boldsymbol{b}_n=\sum_{i=1}^n s_{i j} \boldsymbol{b}_i, \quad j=1, \ldots, n .
\tag{2.106}
\]

同样,我们将 \(W\) 的新基向量 \(\tilde{C}\) 表示为基 \(C\) 的基向量的线性组合,得到

\[\tilde{\boldsymbol{c}}_k=t_{1 k} \boldsymbol{c}_1+\cdots+t_{m k} \boldsymbol{c}_m=\sum_{l=1}^m t_{l k} \boldsymbol{c}_l, \quad k=1, \ldots, m .
\tag{2.107}
\]

我们定义 \(\boldsymbol{S} = (s_{ij}) \in \mathbb{R}^{n \times n}\) 为变换矩阵,它将相对于 \(\tilde{B}\) 的坐标映射到相对于 \(B\) 的坐标,定义 \(\boldsymbol{T} = (t_{lk}) \in \mathbb{R}^{m \times m}\) 为变换矩阵,它将相对于 \(\tilde{C}\) 的坐标映射到相对于 \(C\) 的坐标。特别地,\(\boldsymbol{S}\) 的第 \(j\) 列是 \(\tilde{\boldsymbol{b}}_j\) 相对于 \(B\) 的坐标表示,\(\boldsymbol{T}\) 的第 \(k\) 列是 \(\tilde{\boldsymbol{c}}_k\) 相对于 \(C\) 的坐标表示。注意,\(\boldsymbol{S}\) 和 \(\boldsymbol{T}\) 都是正则矩阵。

我们将从两个角度来观察 \(\Phi(\tilde{\boldsymbol{b}}_j)\)。首先,应用映射 \(\Phi\),我们得到对于所有的 \(j=1, \ldots, n\):

其中我们首先将新的基向量 \(\tilde{\boldsymbol{c}}_k \in W\) 表示为基向量 \(\boldsymbol{c}_l \in W\) 的线性组合,然后交换求和的顺序。

或者,当我们将 \(\tilde{\boldsymbol{b}}_j \in V\) 表示为 \(\boldsymbol{b}_j \in V\) 的线性组合时,我们得到

在这里,我们利用了 \(\Phi\) 的线性特性。比较公式 (2.108) 和 (2.109b),可以得出对于所有的 \(j=1, \ldots, n\) 和 \(l=1, \ldots, m\) 有

\[\sum_{k=1}^m t_{l k} \tilde{a}_{k j}=\sum_{i=1}^n a_{l i} s_{i j}
\tag{2.110}
\]

因此,

\[\boldsymbol{T} \tilde{\boldsymbol{A}}_{\Phi}=\boldsymbol{A}_{\Phi} \boldsymbol{S} \in \mathbb{R}^{m \times n},
\tag{2.111}
\]

这样就有

\[\tilde{A}_{\Phi}=T^{-1} A_{\Phi} S,
\tag{2.112}
\]

这证明了定理 2.20。

定理 2.20 告诉我们,当 \(V\) 中的基(\(B\) 被 \(\tilde{B}\) 取代)和 \(W\) 中的基(\(C\) 被 \(\tilde{C}\) 取代)发生变化时,线性映射 \(\Phi: V \rightarrow W\) 的变换矩阵 \(\boldsymbol{A}_{\Phi}\) 被替换为等效矩阵 \(\tilde{\boldsymbol{A}}_{\Phi}\),其关系为:

\[\tilde{A}_{\Phi}=T^{-1} A_{\Phi} S .
\tag{2.113}
\]

图 2.11 说明了这种关系:考虑一个同态映射 \(\Phi: V \rightarrow W\) 及 \(V\) 的有序基 \(B, \tilde{B}\) 和 \(W\) 的有序基 \(C, \tilde{C}\)。映射 \(\Phi_{C B}\) 是 \(\Phi\) 的一个实例,将 \(B\) 的基向量映射到 \(C\) 的基向量的线性组合。假设我们知道 \(\Phi_{C B}\) 的变换矩阵 \(\boldsymbol{A}_{\Phi}\),对应于有序基 \(B, C\)。当我们在 \(V\) 中从 \(B\) 到 \(\tilde{B}\) 和在 \(W\) 中从 \(C\) 到 \(\tilde{C}\) 进行基变换时,我们可以确定相应的变换矩阵 \(\tilde{\boldsymbol{A}}_{\Phi}\) 如下

  • 首先,我们找到线性映射 \(\Psi_{B \tilde{B}}: V \rightarrow V\) 的矩阵表示,该映射将相对于新基 \(\tilde{B}\) 的坐标映射到(唯一的)相对于“旧”基 \(B\) 的坐标(在 \(V\) 中)。
  • 然后,我们使用 \(\Phi_{C B}: V \rightarrow W\) 的变换矩阵 \(\boldsymbol{A}_{\Phi}\) 将这些坐标映射到 \(W\) 中相对于 \(C\) 的坐标。
  • 最后,我们使用线性映射 \(\Xi_{\tilde{C} C}: W \rightarrow W\) 将相对于 \(C\) 的坐标映射到相对于 \(\tilde{C}\) 的坐标。因此,我们可以将线性映射 \(\Phi_{\tilde{C} \tilde{B}}\) 表示为涉及“旧”基的线性映射的组合:
\[\Phi_{\tilde{C} \tilde{B}}=\Xi_{\tilde{C} C} \circ \Phi_{C B} \circ \Psi_{B \tilde{B}}=\Xi_{C \tilde{C}}^{-1} \circ \Phi_{C B} \circ \Psi_{B \tilde{B}} .
\tag{2.114}
\]

具体来说,我们使用 \(\Psi_{B \tilde{B}}=\operatorname{id}_V\) 和 \(\Xi_{C \tilde{C}}=\mathrm{id}_W\),即将向量映射到其自身的恒等映射,但相对于不同的基。

图 2.11 对于同态映射 \(\Phi: V \rightarrow W\) 以及 \(V\) 的有序基 \(B, \tilde{B}\) 和 \(W\) 的有序基 \(C, \tilde{C}\)(用蓝色标记),我们可以将相对于基 \(\tilde{B}, \tilde{C}\) 的映射 \(\Phi_{\tilde{C} \tilde{B}}\) 等效地表示为同态映射 \(\Phi_{\tilde{C} \tilde{B}}=\) \(\Xi_{\tilde{C} C} \circ \Phi_{C B} \circ \Psi_{B \tilde{B}}\) 的组合,其下标表示了相应的基。相应的变换矩阵用红色标出。

定义 2.21(等价)。如果存在正则矩阵 \(S \in \mathbb{R}^{n \times n}\) 和 \(\boldsymbol{T} \in \mathbb{R}^{m \times m}\),使得 \(\tilde{A} = T^{-1} A S\),那么两个矩阵 \(\boldsymbol{A}, \tilde{A} \in \mathbb{R}^{m \times n}\) 是等价的

定义 2.22(相似)。如果存在正则矩阵 \(S \in \mathbb{R}^{n \times n}\) 使得 \(\tilde{A} = \boldsymbol{S}^{-1} \boldsymbol{A} \boldsymbol{S}\),那么两个矩阵 \(\boldsymbol{A}, \tilde{A} \in \mathbb{R}^{n \times n}\) 是相似的

备注。相似矩阵总是等价的。然而,等价矩阵不一定是相似的。

备注。考虑向量空间 \(V, W, X\)。从定理 2.17 后的备注中我们已经知道,对于线性映射 \(\Phi: V \rightarrow W\) 和 \(\Psi: W \rightarrow X\),映射 \(\Psi \circ \Phi: V \rightarrow X\) 也是线性的。对于相应映射的变换矩阵 \(\boldsymbol{A}_{\Phi}\) 和 \(\boldsymbol{A}_{\Psi}\),整体变换矩阵为 \(\boldsymbol{A}_{\Psi \circ \Phi} = \boldsymbol{A}_{\Psi} \boldsymbol{A}_{\Phi}\)。

根据这一说明,我们可以从组合线性映射的角度来看待基变换:

  • \(\boldsymbol{A}_{\Phi}\) 是相对于基 \(B, C\) 的线性映射 \(\Phi_{C B}: V \rightarrow W\) 的变换矩阵。
  • \(\tilde{A}_{\Phi}\) 是相对于基 \(\tilde{B}, \tilde{C}\) 的线性映射 \(\Phi_{\tilde{C} \tilde{B}}: V \rightarrow W\) 的变换矩阵。
  • \(S\) 是相对于基 \(B, \tilde{B}\) 的线性映射 \(\Psi_{B \tilde{B}}: V \rightarrow V\)(自同构)的变换矩阵,它用 \(B\) 来表示 \(\tilde{B}\)。通常,\(\Psi=\mathrm{id}_V\) 是 \(V\) 中的恒等映射。
  • \(\boldsymbol{T}\) 是相对于基 \(C, \tilde{C}\) 的线性映射 \(\Xi_{C \tilde{C}}: W \rightarrow W\)(自同构)的变换矩阵,它用 \(C\) 来表示 \(\tilde{C}\)。通常,\(\Xi=\mathrm{id}_W\) 是 \(W\) 中的恒等映射。

如果我们(非正式地)只根据基来写下这些变换,那么 \(\boldsymbol{A}_{\Phi}: B \rightarrow C, \tilde{\boldsymbol{A}}_{\Phi}: \tilde{B} \rightarrow \tilde{C}, \boldsymbol{S}: \tilde{B} \rightarrow B, \boldsymbol{T}: \tilde{C} \rightarrow C\) 和 \(\boldsymbol{T}^{-1}: C \rightarrow \tilde{C}\),并且

\[\begin{align*}
\tilde{B} \rightarrow \tilde{C} & =\tilde{B} \rightarrow B \rightarrow C \rightarrow \tilde{C} \tag{2.115} \\
\tilde{\boldsymbol{A}}_{\Phi} & =\boldsymbol{T}^{-1} \boldsymbol{A}_{\Phi} \boldsymbol{S} .\tag{2.116}
\end{align*}
\]

注意,公式 (2.116) 中的执行顺序是从右到左的,因为向量是在右侧进行相乘的,所以 \(\boldsymbol{x} \mapsto \boldsymbol{S} \boldsymbol{x} \mapsto \boldsymbol{A}_{\Phi}(\boldsymbol{S} \boldsymbol{x}) \mapsto T^{-1}\left(A_{\Phi}(S x)\right)=\tilde{\boldsymbol{A}}_{\Phi} x\)。


**示例 2.24(基变换)**

考虑一个线性映射 \(\Phi: \mathbb{R}^3 \rightarrow \mathbb{R}^4\),其变换矩阵为

\[\boldsymbol{A}_{\Phi}=\left[\begin{array}{ccc}
1 & 2 & 0 \\
-1 & 1 & 3 \\
3 & 7 & 1 \\
-1 & 2 & 4
\end{array}\right]
\tag{2.117}
\]

相对于标准基

\[B=\left(\left[\begin{array}{l}
1 \\
0 \\
0
\end{array}\right],\left[\begin{array}{l}
0 \\
1 \\
0
\end{array}\right],\left[\begin{array}{l}
0 \\
0 \\
1
\end{array}\right]\right), \quad C=\left(\left[\begin{array}{l}
1 \\
0 \\
0 \\
0
\end{array}\right],\left[\begin{array}{l}
0 \\
1 \\
0 \\
0
\end{array}\right],\left[\begin{array}{l}
0 \\
0 \\
1 \\
0
\end{array}\right],\left[\begin{array}{l}
0 \\
0 \\
0 \\
1
\end{array}\right]\right) .
\tag{2.118}
\]

我们要找出相对于新基

\[\tilde{B}=\left(\left[\begin{array}{l}
1 \\
1 \\
0
\end{array}\right],\left[\begin{array}{l}
0 \\
1 \\
1
\end{array}\right],\left[\begin{array}{l}
1 \\
0 \\
1
\end{array}\right]\right) \in \mathbb{R}^3, \quad \tilde{C}=\left(\left[\begin{array}{l}
1 \\
1 \\
0 \\
0
\end{array}\right],\left[\begin{array}{l}
1 \\
0 \\
1 \\
0
\end{array}\right],\left[\begin{array}{l}
0 \\
1 \\
1 \\
0
\end{array}\right],\left[\begin{array}{l}
1 \\
0 \\
0 \\
1
\end{array}\right]\right) .
\tag{2.119}
\]

下的变换矩阵 \(\tilde{\boldsymbol{A}}_{\Phi}\)。

\[\boldsymbol{S}=\left[\begin{array}{lll}
1 & 0 & 1 \\
1 & 1 & 0 \\
0 & 1 & 1
\end{array}\right], \quad \boldsymbol{T}=\left[\begin{array}{llll}
1 & 1 & 0 & 1 \\
1 & 0 & 1 & 0 \\
0 & 1 & 1 & 0 \\
0 & 0 & 0 & 1
\end{array}\right]
\tag{2.120}
\]

其中 \(S\) 的第 \(i\) 列是 \(\tilde{\boldsymbol{b}}_i\) 相对于基 \(B\) 的坐标表示。由于 \(B\) 是标准基,坐标表示很容易找到。对于一般基 \(B\),我们需要解线性方程组以找到 \(\lambda_i\) 使得 \(\sum_{i=1}^3 \lambda_i \boldsymbol{b}_i=\tilde{\boldsymbol{b}}_j, j=1, \ldots, 3\)。类似地,\(T\) 的第 \(j\) 列是 \(\tilde{c}_j\) 相对于基 \(C\) 的坐标表示。

因此,我们得到

\[\begin{align*}
\tilde{\boldsymbol{A}}_{\Phi} & =\boldsymbol{T}^{-1} \boldsymbol{A}_{\Phi} \boldsymbol{S}=\frac{1}{2}\left[\begin{array}{cccc}
1 & 1 & -1 & -1 \\
1 & -1 & 1 & -1 \\
-1 & 1 & 1 & 1 \\
0 & 0 & 0 & 2
\end{array}\right]\left[\begin{array}{ccc}
3 & 2 & 1 \\
0 & 4 & 2 \\
10 & 8 & 4 \\
1 & 6 & 3
\end{array}\right] \tag{2.121a} \\
& =\left[\begin{array}{ccc}
-4 & -4 & -2 \\
6 & 0 & 0 \\
4 & 8 & 4 \\
1 & 6 & 3
\end{array}\right] . \tag{2.121b}
\end{align*}
\]

在第4章中,我们将能够利用基变换的概念找到一个基,使得自同态的变换矩阵具有特别简单的(对角)形式。在第10章中,我们将研究一个数据压缩问题,并找到一个方便的基,我们可以将数据投影到这个基上,同时最小化压缩损失。

3.7.3 像和核

线性映射的像和核是具有某些重要性质的向量子空间。接下来,我们将更仔细地描述它们。

定义 2.23(像和核)。

对于 \(\Phi: V \rightarrow W\),我们定义 核/零空间

\[\operatorname{ker}(\Phi):=\Phi^{-1}\left(\mathbf{0}_W\right)=\left\{\boldsymbol{v} \in V: \Phi(\boldsymbol{v})=\mathbf{0}_W\right\}
\]

像/值域

\[\operatorname{Im}(\Phi):=\Phi(V)=\{\boldsymbol{w} \in W \mid \exists \boldsymbol{v} \in V: \Phi(\boldsymbol{v})=\boldsymbol{w}\}
\]

我们也分别称 \(V\) 和 \(W\) 为 \(\Phi\) 的定义域和值域。

直观上,核是 \(\Phi\) 映射到 \(W\) 中的中性元素 \(\mathbf{0}_W \in W\) 的向量集 \(\boldsymbol{v} \in V\)。像是可以通过 \(\Phi\) 从 \(V\) 中任何向量“到达”的向量 \(\boldsymbol{w} \in W\) 的集合。图 2.12 中给出了一个示意图。

备注。考虑一个线性映射 \(\Phi: V \rightarrow W\),其中 \(V, W\) 是向量空间。

  • \(\Phi\left(\mathbf{0}_V\right)=\mathbf{0}_W\) 总是成立,因此 \(\mathbf{0}_V \in \operatorname{ker}(\Phi)\)。特别是,零空间永远不会为空。
  • \(\operatorname{Im}(\Phi) \subseteq W\) 是 \(W\) 的一个子空间,而 \(\operatorname{ker}(\Phi) \subseteq V\) 是 \(V\) 的一个子空间。
  • 当且仅当 \(\operatorname{ker}(\Phi)=\{\mathbf{0}\}\) 时,\(\Phi\) 是单射(injective)(一一对应)。

注释(零空间和列空间)。我们考虑 \(\boldsymbol{A} \in \mathbb{R}^{m \times n}\) 和一个线性映射 \(\Phi: \mathbb{R}^n \rightarrow \mathbb{R}^m, \boldsymbol{x} \mapsto \boldsymbol{A x}\)。

  • 对于 \(\boldsymbol{A}=\left[\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n\right]\),其中 \(\boldsymbol{a}_i\) 是 \(\boldsymbol{A}\) 的列,我们得到
\[\begin{align*}
\operatorname{Im}(\Phi) & =\left\{\boldsymbol{A} \boldsymbol{x}: \boldsymbol{x} \in \mathbb{R}^n\right\}=\left\{\sum_{i=1}^n x_i \boldsymbol{a}_i: x_1, \ldots, x_n \in \mathbb{R}\right\} \tag{2.124a} \\
& =\operatorname{span}\left[\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n\right] \subseteq \mathbb{R}^m \tag{2.124b}
\end{align*}
\]

即,像是 \(\boldsymbol{A}\) 列的张成空间,也称为 列空间。因此,列空间(像)是 \(\mathbb{R}^m\) 的一个子空间,其中 \(m\) 是矩阵的“高度”。

  • \(\operatorname{rk}(\boldsymbol{A})=\operatorname{dim}(\operatorname{Im}(\Phi))\)。
  • 核/零空间 \(\operatorname{ker}(\Phi)\) 是齐次线性方程组(homogeneous system of linear equations) \(\boldsymbol{A x}=\mathbf{0}\) 的通解,并且包含了所有可能的 \(\mathbb{R}^n\) 中的元素的线性组合,它们产生 \(\mathbf{0} \in \mathbb{R}^m\)。
  • 核是 \(\mathbb{R}^n\) 的一个子空间,其中 \(n\) 是矩阵的“宽度”。
  • 核关注列之间的关系,我们可以用它来确定是否/如何将一列表示为其他列的线性组合。

**示例 2.25(线性映射的像和核)**

映射

\[\begin{align*}
\Phi: \mathbb{R}^4 \rightarrow \mathbb{R}^2, \quad\left[\begin{array}{l}
x_1 \\
x_2 \\
x_3 \\
x_4
\end{array}\right] & \mapsto\left[\begin{array}{cccc}
1 & 2 & -1 & 0 \\
1 & 0 & 0 & 1
\end{array}\right]\left[\begin{array}{l}
x_1 \\
x_2 \\
x_3 \\
x_4
\end{array}\right]=\left[\begin{array}{c}
x_1+2 x_2-x_3 \\
x_1+x_4
\end{array}\right] \tag{2.125a} \\
& =x_1\left[\begin{array}{l}
1 \\
1
\end{array}\right]+x_2\left[\begin{array}{l}
2 \\
0
\end{array}\right]+x_3\left[\begin{array}{c}
-1 \\
0
\end{array}\right]+x_4\left[\begin{array}{l}
0 \\
1
\end{array}\right] \tag{2.125b}
\end{align*}
\]

是线性的。为了确定 \(\operatorname{Im}(\Phi)\),我们可以取变换矩阵列的张成空间,得到

\[\operatorname{Im}(\Phi)=\operatorname{span}\left[\left[\begin{array}{l}
1 \\
1
\end{array}\right],\left[\begin{array}{l}
2 \\
0
\end{array}\right],\left[\begin{array}{c}
-1 \\
0
\end{array}\right],\left[\begin{array}{l}
0 \\
1
\end{array}\right]\right]
\tag{2.126}
\]

为了计算 \(\Phi\) 的核(零空间),我们需要解 \(\boldsymbol{A} \boldsymbol{x}=\mathbf{0}\),即需要解一个齐次方程组。为此,我们使用高斯消元法将 \(\boldsymbol{A}\) 转换为简化行最简形式:

\[\left[\begin{array}{cccc}
1 & 2 & -1 & 0 \\
1 & 0 & 0 & 1
\end{array}\right] \rightsquigarrow \cdots \rightsquigarrow\left[\begin{array}{cccc}
1 & 0 & 0 & 1 \\
0 & 1 & -\frac{1}{2} & -\frac{1}{2}
\end{array}\right] .
\tag{2.127}
\]

这个矩阵是简化行最简形式,我们可以使用 Minus 1 Trick 计算核的一个基(参见第 2.3.3 节)。或者,我们可以将非主元列(第 3 列和第 4 列)表示为主元列(第 1 列和第 2 列)的线性组合。第三列 \(\boldsymbol{a}_3\) 等于 \(-\frac{1}{2}\) 倍的第二列 \(\boldsymbol{a}_2\)。因此,\(\mathbf{0}=\boldsymbol{a}_3+\frac{1}{2} \boldsymbol{a}_2\)。同样地,我们看到 \(\boldsymbol{a}_4=\boldsymbol{a}_1-\frac{1}{2} \boldsymbol{a}_2\),因此 \(\mathbf{0}=\boldsymbol{a}_1-\frac{1}{2} \boldsymbol{a}_2-\boldsymbol{a}_4\)。总的来说,这给出了核(零空间)为

\[\operatorname{ker}(\Phi)=\operatorname{span}[\left[\begin{array}{l}
0 \\
\frac{1}{2} \\
1 \\
0
\end{array}\right],\left[\begin{array}{c}
-1 \\
\frac{1}{2} \\
0 \\
1
\end{array}\right]]
\tag{2.128}
\]

定理 2.24(秩-零化度定理)。对于 向量空间 \(V\) 和 \(W\) 以及 线性映射 \(\Phi: V \rightarrow W\),有

\[\operatorname{dim}(\operatorname{ker}(\Phi))+\operatorname{dim}(\operatorname{Im}(\Phi))=\operatorname{dim}(V) .
\tag{2.129}
\]

秩-零化度定理也被称为线性映射的基本定理(Axler, 2015, 定理 3.22)。以下是定理 2.24 的直接推论:

  • 如果 \(\operatorname{dim}(\operatorname{Im}(\Phi)) < \operatorname{dim}(V)\),则 \(\operatorname{ker}(\Phi)\) 是非平凡的,即核包含除了 \(\mathbf{0}_V\) 之外的元素,且 \(\operatorname{dim}(\operatorname{ker}(\Phi)) \geqslant 1\)。
  • 如果 \(\boldsymbol{A}_{\Phi}\) 是相对于某个有序基的 \(\Phi\) 的变换矩阵,并且 \(\operatorname{dim}(\operatorname{Im}(\Phi)) < \operatorname{dim}(V)\),则线性方程组 \(\boldsymbol{A}_{\Phi} \boldsymbol{x} = \mathbf{0}\) 有无穷多解。
  • 如果 \(\operatorname{dim}(V) = \operatorname{dim}(W)\),则以下三者等价:
\[\Phi \text{ 是单射 } \Longleftrightarrow \Phi \text{ 是满射 } \Longleftrightarrow \Phi \text{ 是双射 }
\]

因为 \(\operatorname{Im}(\Phi) \subseteq W\)。

阅读翻译Mathematics for Machine Learning之2.7 Linear Mappings的更多相关文章

  1. How do I learn mathematics for machine learning?

    https://www.quora.com/How-do-I-learn-mathematics-for-machine-learning   How do I learn mathematics f ...

  2. machine learning(14) --Regularization:Regularized linear regression

    machine learning(13) --Regularization:Regularized linear regression Gradient descent without regular ...

  3. Note for video Machine Learning and Data Mining——Linear Model

    Here is the note for lecture three. the linear model Linear model is a basic and important model in ...

  4. Machine Learning - week 2 - Multivariate Linear Regression

    Multiple Features 上一章中,hθ(x) = θ0 + θ1x,表示只有一个 feature.现在,有多个 features,所以 hθ(x) = θ0 + θ1x1 + θ2x2 + ...

  5. Andrew Ng 的 Machine Learning 课程学习 (week2) Linear Regression

    这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解 ...

  6. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(1):二阶与三阶行列式、全排列及其逆序数

    @ 目录 前言 二阶与三阶行列式 二阶行列式 三阶行列式 全排列及其逆序数 全排列 逆序数 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ...

  7. Machine Learning 学习笔记2 - linear regression with one variable(单变量线性回归)

    一.Model representation(模型表示) 1.1 训练集 由训练样例(training example)组成的集合就是训练集(training set), 如下图所示, 其中(x,y) ...

  8. [Machine Learning] 单变量线性回归(Linear Regression with One Variable) - 线性回归-代价函数-梯度下降法-学习率

    单变量线性回归(Linear Regression with One Variable) 什么是线性回归?线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方 ...

  9. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

  10. 机器学习(Machine Learning)&深度学习(Deep Learning)资料

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

随机推荐

  1. 到今天了你还不会集合的Stream操作吗?你要out了

    Java8的两个重大改变,一个是Lambda表达式,另一个就是本节要讲的Stream API表达式.Stream 是Java8中处理集合的关键抽象概念,它可以对集合进行非常复杂的查找.过滤.筛选等操作 ...

  2. windows下载安装ipopt求解器 可用于pyomo调用

    方案一:采用官方编译的应用程序 官方对windows下有已经编译好的应用程序,只需要下载下来,并将ipopt的应用程序所在文件夹路径添加到系统全局环境变量就可以了.这样在利用pyomo或者其他建模工具 ...

  3. AutoLayout与UIbutton

    1.UIButton贴近右边,高度固定,宽度跟随标题变化 class TestButton: UIButton { } class ViewController: UIViewController { ...

  4. 面试题一《swift和oc的区别》

    一.来源 这道题来自网上一篇文章<100家公司iOS面试题管理>,这份题目虽然题目质量不高,但是覆盖面比较全,有学习的价值 二.解析 1.swift 比 OC更年轻,这意味着 swift ...

  5. 规则引擎easyRules中组合规则的使用

    这两天想要做支付路由,要根据支付信息将支付请求转发到不同的支付渠道,可能要用到规则引擎,于是研究了一下开源的规则引擎产品.规则引擎核心知识与开源产品对比选型 ,这篇文章对规格引擎和开源产品有详细的介绍 ...

  6. Mesh快连

    Mesh快连 一.名词解释 Mesh快连是一种由多个节点组成的网络系统,这些节点可以相互连接,形成一个"网状"的结构. 二.如何使用 有线Mesh: 网络拓扑: 设备版本:3.7. ...

  7. LeetCode 451. Sort Characters By Frequency 根据字符出现频率排序 (C++/Java)

    题目: Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Inp ...

  8. windows 通过cmd命令(netsh wlan命令)连接wifi

    引用:https://www.cnblogs.com/moonbaby/p/11188135.html 1)显示本机保存的profiles,配置文件是以wifi的ssid命名的. netsh wlan ...

  9. winform遍历控件的Controls.OfType<>方法

    页面TextBox控件较多时,可以使用类似的名字,方便遍历时整体的修改,可以使用Controls.OfType<TextBox>()获取所有文本框: 需要引用命名空间System.Linq ...

  10. 增补博客 第八篇 python 中国大学排名数据分析与可视化

    [题目描述]以软科中国最好大学排名为分析对象,基于requests库和bs4库编写爬虫程序,对2015年至2019年间的中国大学排名数据进行爬取:(1)按照排名先后顺序输出不同年份的前10位大学信息, ...