前言
本文的主体是机器学习中所用到的线性代数知识,因此奉行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
又称迹,是矩阵主对角线元素的和。
迹和矩阵乘法可以代替一些需要求和符号的操作:
矩阵的迹具有循环不变性:
更通用来说,