向量是一个有序数字列表,表示大小和方向,或者简单地表示空间中的一个点。为了处理这些基础的数学对象,我们需要一种统一的方法来书写它们。如同我们在代数中使用 $x$ 或 $y$ 等符号表示未知数,线性代数也使用特定的表示法来表示向量。这种表示法有助于将向量与单个数字(标量)区分开,并使数学表达式清晰准确。向量的符号表示向量通常有两种主要的表示方法:**小写粗体字母:**这在印刷文本和教科书中非常常见。例如,$\mathbf{v}$ 或 $\mathbf{x}$ 代表向量。**带箭头的小写字母:**这经常用于白板书写或笔记中。例如,$\vec{v}$ 或 $\vec{x}$。这两种表示法都表明我们正在讨论的是一个向量,而不仅仅是 $a$ 或 $b$ 这样的简单标量值。在本课程中,我们将主要使用小写粗体字母约定,如 $\mathbf{v}$。向量的分量和索引向量由其分量定义,分量是有序列表中的各个数字。我们通常用方括号或圆括号将这些分量括起来。例如,一个具有 $n$ 个分量的向量 $\mathbf{v}$ 可以写成:$$ \mathbf{v} = [v_1, v_2, \dots, v_n] $$或者有时使用圆括号:$$ \mathbf{v} = (v_1, v_2, \dots, v_n) $$这里,$v_1$ 是第一个分量,$v_2$ 是第二个分量,$v_n$ 是第 $n$ 个分量。下标数字(1、2、...、n)表示分量在向量中的位置。**索引的重要说明:**在数学中,向量分量通常是1-索引的,这意味着第一个元素是 $v_1$,第二个是 $v_2$,以此类推。但在编程中,特别是在 Python 和 NumPy 等库中,索引通常是0-索引的。这表示第一个元素位于索引0,第二个位于索引1,等等。当我们在代码中实现向量时,我们将使用基于0的索引。了解这两种约定很有用。列向量与行向量分量的视觉排列方式很重要,尤其是在我们之后开始使用矩阵时。有两种主要形式:**列向量:**分量垂直排列成一列。这在许多线性代数环境中通常是默认表示。 $$ \mathbf{v} = \begin{bmatrix} v_1 \ v_2 \ \vdots \ v_n \end{bmatrix} $$**行向量:**分量水平排列成一行。 $$ \mathbf{v} = \begin{bmatrix} v_1 & v_2 & \dots & v_n \end{bmatrix} $$ 或者简单地写成行内形式:$\mathbf{v} = [v_1, v_2, \dots, v_n]$。它们虽然包含相同信息,但列向量和行向量之间的区别对于矩阵乘法等运算而言变得很重要。除非另有说明,当我们提及“向量”时,通常隐含地指列向量。然而,行向量也经常使用,尤其是在表格或数据集中表示数据点时,其中每行可能是一个数据样本(向量)。示例一个二维列向量 $\mathbf{a}$: $$ \mathbf{a} = \begin{bmatrix} 3 \ -1 \end{bmatrix} $$ 这里,$a_1 = 3$ 和 $a_2 = -1$。一个三维行向量 $\mathbf{b}$: $$ \mathbf{b} = \begin{bmatrix} 5 & 0 & 2.5 \end{bmatrix} $$ 这里,$b_1 = 5$,$b_2 = 0$,和 $b_3 = 2.5$。一个通用 $n$ 维列向量 $\mathbf{x}$: $$ \mathbf{x} = \begin{bmatrix} x_1 \ x_2 \ \vdots \ x_n \end{bmatrix} $$向量空间你可能还会遇到像 $\mathbf{v} \in \mathbb{R}^n$ 这样的表示法。这是数学上的简写,表明 $\mathbf{v}$ 是一个向量,属于所有可能的 $n$ 维向量集合,其中每个分量都是实数。$\mathbb{R}$ 代表实数集,上标 $n$ 表示维度(分量数量)。$\mathbb{R}^2$ 是所有二维向量的空间(例如标准 x-y 平面上的点)。$\mathbb{R}^3$ 是所有三维向量的空间。$\mathbb{R}^n$ 是所有具有 $n$ 个实值分量向量的空间。理解这种表示法有助于阅读与机器学习算法相关的数学定义。记住这种标准表示法,我们就能清晰地沟通和处理向量。接下来,我们将看到如何使用 Python 的 NumPy 库来表示这些数学对象。