人工智能学习笔记 - 数学基础 - 向量和矩阵

187 阅读1分钟

人工智能学习笔记 - 数学基础 - 向量和矩阵

在线性代数中,向量和矩阵是最核心的基础概念,在数据建模和运算中有非常重要的作用。

向量

向量的概念定义和基本知识。

定义

向量本质上是 既有大小又有方向的量。在数学里通常表示为列向量v=[v1v2vn]Rn\mathbf{v} = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix} \in \mathbb{R}^n(这个表达式可以理解为向量v\mathbf{v}被写成所在空间Rn\mathbb{R}^n的列向量形式,viv_i表示向量中的每一个分量。例如在几何中,向量v=[123]R3\mathbf{v} = \begin{bmatrix} 1 \\ 2 \\3 \end{bmatrix} \in \mathbb{R}^3表示在三位空间中的点(1,2,3)(1,2,3)或者从原点出发到点(1,2,3)(1,2,3)的一个带方向的线段)。

基本概念:

  • **零向量:**所有分量都是00的向量
  • **单位向量(基向量):**能够生成整个空间的最小向量组
    • 例如三维空间的单位向量(标准基向量)i\mathbf{i}j\mathbf{j}k\mathbf{k}i=[100]\mathbf{i} = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}j=[010]\mathbf{j} = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix}k=[001]\mathbf{k} = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}
  • **维度:**单位向量(基向量)的个数

向量运算

  • 加法:u+v\mathbf{u} + \mathbf{v}表示按照坐标逐项分量相加得到一个新的向量
    • 性质:遵循交换律、结合律
  • 减法:uv\mathbf{u} - \mathbf{v}表示按照坐标逐项分量相减得到一个新的向量
    • 性质:遵循交换律、结合律
  • 数乘(标量乘法):αv\alpha \mathbf{v} 表示向量中的每一个分量都乘以数α\alpha得到一个新的向量
  • 内积(点乘/点积):uv=v1u1+v2u2+vnun\mathbf{u} \cdot \mathbf{v} = v_1 u_1 + v_2 u_2 + \cdots v_n u_n得到一个实数
  • 范数(长度):v=v12+v22++vn2\|\mathbf{v}\| = \sqrt{v_1^2 + v_2^2 + \cdots + v_n^2}计算得到一个实数
  • 二维向量叉乘(伪叉乘): u×v=u1v2u2v1\mathbf{u} \times \mathbf{v} = u_1 v_2 - u_2 v_1,结果是一个实数
    • 在二维空间中,这个值可以理解为向量u\mathbf{u}v\mathbf{v}组成的平行四边形的有向面积(方向由右手定则确定)
    • 在二维中通常只用这个结果来表示面积的大小与方向,而不是严格意义上的三维叉乘
  • 三维叉乘:u×v=ijku1u2u3v1v2v3=iu2u3v2v3ju1u3v1v3+ku1u2v1v2=i(u2v3u3v2)j(u1v3u3v1)+k(u1v2u2v1)=[u2v3u3v2(u1v3u3v1)u1v2u2v1]\mathbf{u} \times \mathbf{v} = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ u_1 & u_2 & u_3 \\ v_1 & v_2 & v_3 \end{vmatrix} = \mathbf{i}\begin{vmatrix} u_2 & u_3 \\ v_2 & v_3 \end{vmatrix} - \mathbf{j}\begin{vmatrix} u_1 & u_3 \\ v_1 & v_3 \end{vmatrix} + \mathbf{k}\begin{vmatrix} u_1 & u_2 \\ v_1 & v_2 \end{vmatrix} = \mathbf{i}(u_2 v_3 - u_3 v_2) - \mathbf{j}(u_1 v_3 - u_3 v_1) + \mathbf{k}(u_1 v_2 - u_2 v_1) = \begin{bmatrix} u_2 v_3 - u_3 v_2 \\ -(u_1 v_3 - u_3 v_1) \\ u_1 v_2 - u_2 v_1 \end{bmatrix}
    • 叉乘的结果是一个向量,在三维空间中可以理解为方向垂直于u\mathbf{u}v\mathbf{v},长度等于u\mathbf{u}v\mathbf{v}组成的平行四边形面积。
    • 对于表达式中的第二段表述叫做符号化的行列展开式,第一行是单位向量,第二、三行是分量

矩阵

矩阵是线性代数中的核心工具,用于表示多维数据和进行线性变换。

定义

矩阵是按照矩形排列的一组数或元素,通常记作 ARm×nA \in \mathbb{R}^{m \times n}

A=[a11a12a1na21a22a2nam1am2amn]A = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{bmatrix}
  • mm 表示行数,nn 表示列数
  • 方阵: 行数等于列数
  • 零矩阵: 所有元素为 00
  • 单位矩阵 InI_n 方阵,对角线(左上到右下)为 11,其他元素为 00
  • 列向量与行向量: 矩阵的每一列可以看作列向量,每一行可以看作行向量
  • 线性变换: 矩阵可以表示从 Rn\mathbb{R}^nRm\mathbb{R}^m 的线性映射
    • 线性变换(Linear Transformation) 本质上是一个函数:f:RnRmf: \mathbb{R}^n \to \mathbb{R}^m,把一个 nn 维向量映射到一个 mm 维向量,矩阵就是线性变换的具体表示
    • ARm×nA \in \mathbb{R}^{m \times n},对任意向量 xRn\mathbf{x} \in \mathbb{R}^n,有f(x)=AxRmf(\mathbf{x}) = A\mathbf{x} \in \mathbb{R}^m 输入 nn 维向量,输出为 mm 维向量。
    • 在几何中矩阵通常用来表示旋转、拉伸和缩放等。
  • 秩(Rank): 矩阵中线性无关的行(或列)向量的最大数量
    • 线性无关:向量组 {v1,v2,,vn}\{\mathbf{v}_1, \mathbf{v}_2, \cdots, \mathbf{v}_n\} 如果满足:c1v1+c2v2++cnvn=0c1=c2==cn=0c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2 + \cdots + c_n \mathbf{v}_n = \mathbf{0} \quad \Rightarrow \quad c_1 = c_2 = \cdots = c_n = 0 那么这组向量是线性无关的。
  • 迹(Trace): 方阵对角线元素之和,记作 tr(A)\mathrm{tr}(A)

矩阵运算

  • 加法:A+B=[aij+bij]A + B = [a_{ij} + b_{ij}](对应元素相加,必须同型矩阵)
  • 减法:AB=[aijbij]A - B = [a_{ij} - b_{ij}]
  • 数乘(标量乘法):αA=[αaij]\alpha A = [\alpha a_{ij}]
  • 矩阵乘法:ARm×n,BRn×pA \in \mathbb{R}^{m \times n}, B \in \mathbb{R}^{n \times p},则
C=ABRm×p,cij=k=1naikbkjC = AB \in \mathbb{R}^{m \times p}, \quad c_{ij} = \sum_{k=1}^{n} a_{ik} b_{kj}
  • 转置:ATRn×mA^T \in \mathbb{R}^{n \times m},交换行和列:
(AT)ij=aji(A^T)_{ij} = a_{ji}
  • 逆矩阵:AA 是方阵且存在 BB 使 AB=BA=IAB = BA = I,则 B=A1B = A^{-1},满足:
AA1=A1A=IA A^{-1} = A^{-1} A = I
  • 行列式(仅方阵): 对于nn维方阵AAdet(A)=j=1n(1)1+ja1jdet(M1j)\det(A) = \sum_{j=1}^{n} (-1)^{1+j} a_{1j} \det(M_{1j}),用于判断矩阵是否可逆(det(A)0\det(A) \neq 0 表示可逆)

特征值和特征向量

特征值和特征向量是线性代数的核心概念,在人工智能中有广泛的应用,比如数据降维、线性代数优化等。

定义

对于方阵ARn×nA \in \mathbb{R}^{n \times n},如果存在非零向量v0\mathbf{v} \neq 0和标量λ\lambda使得

Av=λvA\mathbf{v} = \lambda\mathbf{v}

那么:

  • λ\lambda称为矩阵AA的特征值
  • v\mathbf{v}称为对应于λ\lambda的特征向量

奇异值

奇异值是线性代数的核心概念,在人工智能中有广泛的应用。

定义

对于任意一个实矩阵 ARm×nA \in \mathbb{R}^{m \times n},通过奇异值分解(SVD)可以写成:

A=UΣVTA = U \Sigma V^T

其中:

  • URm×mU \in \mathbb{R}^{m \times m}:正交矩阵(列向量两两正交,称为左奇异向量
  • VRn×nV \in \mathbb{R}^{n \times n}:正交矩阵(列向量两两正交,称为右奇异向量
  • ΣRm×n\Sigma \in \mathbb{R}^{m \times n}:对角块矩阵,对角线上非负实数 σ1σ2σr>0\sigma_1 \ge \sigma_2 \ge \cdots \ge \sigma_r > 0,这些就是 奇异值

和特征值的关系:

  • 特征值定义只适用于 方阵,而奇异值对 任意矩阵 都可以分解。
  • 奇异值 σi\sigma_i 来自于矩阵 ATAA^TAAATAA^T 的特征值:
σi=λi(ATA)\sigma_i = \sqrt{\lambda_i(A^TA)}

其中λi\lambda_i是特征值。

  • 特征值/特征向量 描述方阵作用下“不变方向”和缩放倍数。奇异值/奇异向量 适用于任意矩阵,描述矩阵在不同方向上的“拉伸程度和方向”。