花书第二章笔记

第二章 线性代数

简要介绍深度学习算法中涉及到的线性代数知识。

掌握深度学习中所需要的线性代数和矩阵求导有关的数学知识

线性代数基础 花书书本[p27-p46]部分

矩阵求导 https://github.com/soloice/Matrix_Derivatives

2.1 标量、向量、矩阵和张量

  • 标量(scalar):一个单独的数,用小写字母表示,常被设为变量,如 n n ,使用时需指定数据类型。
  • 向量(vector):一列有序排列的数,用粗体的小写变量表示,如 x \textbf{x} ,可以通过脚标对元素索引。
  • 矩阵(matrix):一个二维数组,用粗体的大写变量表示,如 x \textbf{x} ,可以通过行列位置对元素索引。
  • 张量(tensor):数组中的元素分布在若干维坐标的规则网格中,用字体 A \textbf{A} 表示。举例解释,把二维数组放在三维坐标系中,维度加1。
  • 简单运算:
    • 转置(transpose):以主对角线(左上到右下)- 为轴做镜像操作。
    • 矩阵相加:矩阵形状相同
    • 标量和矩阵相乘或相加:标量与矩阵每个元素相乘或相加
    • 广播(broadcasting):向量和矩阵相加

2.2 矩阵和向量相乘

  • 矩阵乘积(matrix product):两个矩阵 A \textbf{A} A \textbf{A} 相乘, A \textbf{A} 的列数必须和 B \textbf{B} 的行数相等。
    $ A:m \times n;B:n \times p;C=AB:m \times p $
    C i , j = k A i , k B k , j C_{i,j}=\sum _{k} A_{i,k}B_{k,j}

  • 元素对应乘积(element-wise product)或Hadamard 乘积(Hadamard product):两个矩阵中对应元素的乘积,记为 A B A \bigodot B

  • 点积(dot product):两个相同维数的向量 x \textbf{x} y \textbf{y} 相乘

  • 性质:

    • 分配率
      A ( B + C ) = A B + A C A(B + C) = AB + AC
    • 结合律
      A ( B C ) = ( A B ) C A(BC) = (AB)C
    • 一般不满足交换律
      A B B A AB \neq BA
    • 转置
      ( A B ) T = B T A T (AB)^{T}=B^{T}A^{T}
  • 线性方程组:
    A x = b Ax=b

2.3 单位矩阵和逆矩阵

  • 单位矩阵(identity matrix):任意向量或矩阵和单位矩阵相乘,都不会改变,记为 y \textbf{y} 。所有沿主对角线的元素都是1,而所有其他位置的元素都是 0。

  • 矩阵逆(matrix inversion):矩阵满足如下条件
    A 1 A = I n A^{-1}A=I_{n}

2.4 线性相关和生成子空间

  • 线性组合(linear combination):把 A \textbf{A} 的列向量看做一个元素,则 A \textbf{A} 看做一个行向量,可用下式表示:
    A x = i x i A : , i Ax=\sum _{i} x_{i}A_{:,i}
  • 生成子空间(span):一组向量的线
    性组合,是指每个向量乘以对应标量系数之后的和,即:
    i c i v ( i ) \sum _{i} c_{i}v^{(i)}
  • 线性相关(linear dependence):某个向量是一组向量中某些向量的线性组合
  • 线性无关(linear independent):一组向量中
    的任意一个向量都不能表示成其他向量的线性组合
  • 方阵(square):矩阵行和列相等
  • 奇异矩阵(singular):列向量线性相关的方阵,不可逆

2.5 范数

  • 范数(norm):衡量向量大小
    x p = ( i x i p ) 1 p \left \| x \right \|_{p}=\left ( \sum _{i}\left | x_{i} \right | ^{p} \right ) ^{\frac{1}{p}}
  • 欧几里得范数(Euclidean norm): p = 2 p = 2 ,它表示从原点
    出发到向量 x \textbf{x} 确定的点的欧几里得距离。在机器学习中频繁使用,不指明 p p 值时,默认为欧几里得距离。
  • L 1 L1 范数:在各个位置斜率相同
    x 1 = i x i \left \| x \right \|_{1}= \sum _{i}\left | x_{i} \right |
  • 最大范数(max norm):向量中具有最大幅值的元素的绝对值
    x = max i x i \left \| x \right \|_{\infty }= \max \limits_{i}\left | x_i \right |
  • Frobenius 范数(Frobenius norm):衡量矩阵的大小
    A F = i , j A i , j 2 \left \| A \right \|_{F}= \sqrt{\sum _{i,j}A_{i,j}^{2}}

2.6 特殊类型的矩阵和向量

  • 对角矩阵(diagonal matrix):只在主对角线上含有非零元素,其他位置都是零。例如,单位矩阵,用 d i a g ( v ) diag(v) 表示
  • 对称矩阵(diagonal matrix):转置和自己相等的矩阵
  • 单位向量(unit vector)是具有单位范数(unit norm)的向量:

x 2 = 1 \left \| x \right \|_{2}= 1

  • 正交(orthogonal):两个向量之间的夹角是90 度
    x y = 0 x^{\top }y=0
  • 标准正交(orthonormal):向量不仅互相正交,并且范数都为1
  • 正交矩阵(orthogonal matrix)是指行向量和列向量是分别标准正交的方阵:
    A A = A A = I , A 1 = A A^{\top }A=AA^{\top }=I,A^{-1}=A^{\top }

2.7 特征分解

  • 特征分解(eigendecomposition):将矩阵分
    解成一组特征向量和特征值。

  • 方阵 A \textbf{A} 特征向量(eigenvector)是指与 A \textbf{A} 相乘后相当于对该向量进行缩放
    的非零向量v,标量λ被称为这个特征向量对应的特征值(eigenvalue)

A v = λ v Av = \lambda v

  • 特征分解(eigendecomposition):假设矩阵 A \textbf{A} n n 个线性无关的特征向量,将特征向量连接成一个矩阵 V \textbf{V} ,使得每一列是一个特征向量;将特征值连接成一个向量 λ \mathit{\mathit{\lambda}} A \textbf{A} 的特征分解为:
    A = V d i a g ( λ ) V 1 A = V diag(\lambda) V_{-1}

  • 正定(positive definite)所有特征值都是正数的矩阵;
    x T A x = 0 x = 0 x^{T}Ax= 0\Rightarrow x=0

  • 半正定(positive semidefinite):所有特征值都是非负数的矩阵;
    x , x T A x 0 \forall x,x^{T}Ax\geqslant 0

  • 负定(negative definite):所有特征值都是负数的矩阵;

  • 半负定
    (negative semidefinite):所有特征值都是非正数的矩阵。

2.8 奇异值分解

  • 奇异值分解(singular value decomposition, SVD),将矩阵分
    解为奇异向量(singular vector)和奇异值(singular value)。每
    个实数矩阵都有一个奇异值分解,但不一定都有特征分解。

假设 A \textbf{A} 是一个 m × n m \times n 的矩阵,那么 U \textbf{U} 是一个 m × m m \times m 的矩阵, D \textbf{D} 是一个 m × n m \times n 的矩阵,V 是一个 n × n n \times n 矩阵。矩阵 U \textbf{U} V \textbf{V} 都定义为正交矩阵,而矩阵 D \textbf{D} 定义为对角矩阵。注意,矩阵 D \textbf{D} 不一定是方阵。
A = U D V T A=UDV^{T}

  • 奇异值(singular value):对角矩阵 D \textbf{D} 对角线上的元素;
  • 左奇异向量(left singular vector):矩阵 U \textbf{U} 的列向量;
  • 右奇异向量(right singular vector):矩阵 V \textbf{V} 的列向量。

知乎参考资料(https://zhuanlan.zhihu.com/p/31386807)

2.9 Moore-Penrose伪逆

  • Moore-Penrose 伪逆(Moore-Penrose pseudoinverse):。矩阵 A \textbf{A} 的伪逆定义为:
    A + = lim α 0 ( A T A + α I ) 1 A T = V D + U T A ^{+}=\lim_{\alpha \rightarrow 0}(A^{T}A+\alpha I)^{-1}A^{T}=VD^{+} U^{T}
    其中,矩阵 U \textbf{U} D \textbf{D} V \textbf{V} 是矩阵 A \textbf{A} 奇异值分解后得到的矩阵。对角矩阵 D \textbf{D} 的伪逆 D + D^{+} 是其非零元素取倒数之后再转置得到的.

2.10 迹运算

  • 迹运算返回的是矩阵对角元素的和:
    T r ( A ) = i A i , i A F = T r ( A A T ) Tr(A)=\sum_{i}A_{i,i}\left \| A \right \|_{F}=\sqrt{Tr(AA^{T})}
  • 性质:
    • 转置不变,
      T r ( A ) = T r ( A T ) Tr(A)=Tr(A^{T})
    • 交换律,
      T r ( A B C ) = T r ( C A B ) = T r ( B C A ) Tr(ABC) = Tr(CAB) = Tr(BCA)
    • 标量在迹运算后仍然是它自己。
      a = T r ( a ) a = Tr(a)

2.11 行列式

  • 行列式,记作 d e t ( A ) det(A) ,是一个将方阵 A \textbf{A} 映射到实数的函数。行列式等于矩阵特征值的乘积。

2.12 实例:主成分分析

  • 主成分分析(principal components analysis, PCA)是一个简单的机器学习算法,可以通过基础的线性代数知识推导,可用来降维操作。自行学会推导。

猜你喜欢

转载自blog.csdn.net/qq_22979337/article/details/87992167