机器学习基础——线性代数

  1. 1. 前言
  2. 2. Concepts
    1. 2.1. Tensor
    2. 2.2. Identify matrix
    3. 2.3. matrix inversion
    4. 2.4. Singular matrix
    5. 2.5. Norms
  3. 3. Operations
    1. 3.1. Decomposition
      1. 3.1.1. Eigendecomposition
      2. 3.1.2. Singular value decomposition(SVD)
    2. 3.2. The Moore-Penrose Pseudoinverse
    3. 3.3. Trace

前言

本文的主体是机器学习中所用到的线性代数知识,因此奉行Lazy evaluation,对这些知识更深层次的探究只在绝对必要时完成。

Concepts

Tensor

矩阵是向量的延申,而Tensor(张量)则是矩阵的延申。
向量可用一维数组表示,矩阵可用二维数组表示,而张量可用三维数组表示。
表示张量A的一个分量

Identify matrix

Identity matrix为单位矩阵的另一名称。一般用I表示,而单位矩阵用E表示。

matrix inversion

花书定义:

未限定A为方阵,并且是左逆

花书也定义了右逆

同样未限定A为方阵

而后说明,方阵的左逆和右逆是相同的

For square matrices, the left inverse and right inverse are equal

而课本认为非方阵没有逆矩阵。对左逆和右逆也不做显式区分。

在花书接下来提到逆矩阵时,这可能是一个坑点

Singular matrix

满秩方阵称为奇异矩阵。

Norms

又称范式。范式是一个将向量映射为非负数量的函数,用以描述向量的“大小”。

正式定义:

  • f(x) = 0 ⇒ x = 0
  • f(x+y) ≤ f(x) + f(y)(三角不等式)
  • ∀α∈R,f(αx) = |α|f(x)

常用的范式:

  • L2 norm
    向量与原点的距离
  • Squared L2 norm
    L2 norm的平方形式,某些情况下易于分析和计算

  • L1 norm

  • max norm

  • Frobenius norm
    计算矩阵的“大小”

Operations

Decomposition

将矩阵分解为某些更基础的成分可以更好的帮助我们分析其中的一般规律。

Eigendecomposition

基于特征值和特征向量分解。与课本相同,不再赘述。

Singular value decomposition(SVD)

又称奇异值分解。对矩阵的形状没有要求,且任意实矩阵都可以做奇异值分解,因而比特征值分解更具通用性。

对于一个m*n的矩阵A,奇异值分解希望将其分解为三个矩阵的乘积:

  • U是大小m*m的正交矩阵
  • D是大小m*n的对角矩阵
  • V是大小n*n的正交矩阵

D中对角线的元素称为A的奇异值。U的列向量称为A的奇异向量,V的列向量称为A的奇异向量

A的奇异值分解可以理解为「A的函数」的特征值分解:

  • A的左奇异值向量是AA^T的特征向量。
  • A的右奇异值向量是A^TA的特征向量
  • A的非零奇异值是A^TA的特征值,也是AA^T的特征值

SVD的一个应用:部分场景下将矩阵求逆推广到非方阵,如下

The Moore-Penrose Pseudoinverse

又称摩尔-彭若斯广义逆(好长的名字…)

实际上,一般用

来计算广义逆

U,D,V是A的奇异值分解。D的广义逆D+由非零元素取倒数,然后转置得到。

当A是Ax=y的系数矩阵时,若x有解,则x=A+y是所有解中具有最小L2范式的那一个。

若x无解,Ax给出了L2范式中y-Ax的最小值

Trace

又称迹,是矩阵主对角线元素的和。

迹和矩阵乘法可以代替一些需要求和符号的操作:

矩阵的迹具有循环不变性:

更通用来说,