花书第二章线性代数笔记

文章目录

  • 第二章 线性代数
    • 2.1 标量、向量、矩阵和张量
    • 2.2 矩阵和向量相乘
    • 2.3 单位矩阵和逆矩阵
    • 2.4 线性相关和生成子空间
    • 2.5 范数
    • 2.6 特殊类型的矩阵和向量
    • 2.7 特征分解
    • 2.8 奇异值分解
    • 2.9 Moore-Penrose伪逆
    • 2.10 迹运算
    • 2.11 行列式
    • 2.12 实例:主成分分析

第二章 线性代数

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

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

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

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

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

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

2.2 矩阵和向量相乘

  • 矩阵乘积(matrix product):两个矩阵 A \textbf{A} A A \textbf{A} A相乘, A \textbf{A} A的列数必须和 B \textbf{B} 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} Ci,j=kAi,kBk,j

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

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

  • 性质:

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

2.3 单位矩阵和逆矩阵

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

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

2.4 线性相关和生成子空间

  • 线性组合(linear combination):把 A \textbf{A} A的列向量看做一个元素,则 A \textbf{A} A看做一个行向量,可用下式表示:
    A x = ∑ i x i A : , i Ax=\sum _{i} x_{i}A_{:,i} Ax=ixiA:,i
  • 生成子空间(span):一组向量的线
    性组合,是指每个向量乘以对应标量系数之后的和,即:
    ∑ i c i v ( i ) \sum _{i} c_{i}v^{(i)} iciv(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}} xp=(ixip)p1
  • 欧几里得范数(Euclidean norm): p = 2 p = 2 p=2,它表示从原点
    出发到向量 x \textbf{x} x 确定的点的欧几里得距离。在机器学习中频繁使用,不指明 p p p值时,默认为欧几里得距离。
  • L 1 L1 L1范数:在各个位置斜率相同
    ∥ x ∥ 1 = ∑ i ∣ x i ∣ \left \| x \right \|_{1}= \sum _{i}\left | x_{i} \right | x1=ixi
  • 最大范数(max norm):向量中具有最大幅值的元素的绝对值
    ∥ x ∥ ∞ = max ⁡ i ∣ x i ∣ \left \| x \right \|_{\infty }= \max \limits_{i}\left | x_i \right | x=imaxxi
  • Frobenius 范数(Frobenius norm):衡量矩阵的大小
    ∥ A ∥ F = ∑ i , j A i , j 2 \left \| A \right \|_{F}= \sqrt{\sum _{i,j}A_{i,j}^{2}} AF=i,jAi,j2

2.6 特殊类型的矩阵和向量

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

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

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

2.7 特征分解

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

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

A v = λ v Av = \lambda v Av=λv

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

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

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

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

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

2.8 奇异值分解

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

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

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

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

2.9 Moore-Penrose伪逆

  • Moore-Penrose 伪逆(Moore-Penrose pseudoinverse):。矩阵 A \textbf{A} 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} A+=α0lim(ATA+αI)1AT=VD+UT
    其中,矩阵 U \textbf{U} U D \textbf{D} D V \textbf{V} V是矩阵 A \textbf{A} A奇异值分解后得到的矩阵。对角矩阵 D \textbf{D} D 的伪逆 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})} Tr(A)=iAi,iAF=Tr(AAT)
  • 性质:
    • 转置不变,
      T r ( A ) = T r ( A T ) Tr(A)=Tr(A^{T}) Tr(A)=Tr(AT)
    • 交换律,
      T r ( A B C ) = T r ( C A B ) = T r ( B C A ) Tr(ABC) = Tr(CAB) = Tr(BCA) Tr(ABC)=Tr(CAB)=Tr(BCA)
    • 标量在迹运算后仍然是它自己。
      a = T r ( a ) a = Tr(a) a=Tr(a)

2.11 行列式

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

2.12 实例:主成分分析

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

你可能感兴趣的:(深度学习)