人工智能的数学基础:线性代数(1)
1. 范数(norm)是什么
概念:
• 范数是对向量(或者矩阵)的度量,是一个标量(scalar)
• 范数是具有“长度”概念的函数
• 在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内所有向量赋予非零的正长度或大小
• 半范数反而可以为非零的向量赋予零长度
简单来说:
• 范数就是算距离的,不同场景下的距离
• 范数提供了比较向量/矩阵是否“优秀”的一种标准
从字面意思理解,就是一种比较构成规范的数。有了统一的规范,就可以比较了。
例如:1比2小我们一目了然,可是(3,5,3)和(6,1,2)哪个大?不太好比吧?
这两个向量如果用L2范数比:根号(43)比根号(41)大,因此2范数对比中(3,5,3)比(6,1,2)大。
2. 向量和矩阵的范数归纳
向量的范数
向量范数的通用公式:L-P范数
Lp=∥x∥p=pi=1∑N∣xi∣p
记住该公式,其他公式都是该公式的引申
向量L0范数:用来统计向量中非零元素的个数
向量L1范数:向量中所有元素绝对值之和
向量L2范数:向量中所有元素平方和的平方根
向量L∞范数:向量中所有元素绝对值的最大值或最小值
定义一个向量为:a=[−5,6,8,−10]。任意一组向量设为x=(x1,x2,...,xN)。其不同范数求解如下:
- 向量的1范数:向量的各个元素的绝对值之和,上述向量a的1范数结果就是:29。
∥x∥1=i=1∑N∣xi∣
- 向量的2范数:向量的每个元素的平方和再开平方根,上述a的2范数结果就是:15。
∥x∥2=i=1∑N∣xi∣2
- 向量的负无穷范数:向量的所有元素的绝对值中最小的:上述向量a的负无穷范数结果就是:5。
∥x∥−∞=min∣xi∣
- 向量的正无穷范数:向量的所有元素的绝对值中最大的:上述向量a的正无穷范数结果就是:10。
∥x∥+∞=max∣xi∣
矩阵的范数
定义一个矩阵A=[−1,2,−3;4,−6,6]。 任意矩阵定义为:Am×n,其元素为 aij。
矩阵的范数定义为
∥A∥p:=x=0sup∥x∥p∥Ax∥p
当向量取不同范数时, 相应得到了不同的矩阵范数。
-
矩阵的1范数(列范数):矩阵的每一列上的元
素绝对值先求和,再从中取个最大的,(列和最大),上述矩阵A的1范数先得到[5,8,9],再取最大的最终结果就是:9。
∥A∥1=1≤j≤nmaxi=1∑m∣aij∣
- 矩阵的2范数:矩阵ATA的最大特征值开平方根,上述矩阵A的2范数得到的最终结果是:10.0623。
∥A∥2=λmax(ATA)
其中, λmax(ATA) 为 ATA 的特征值绝对值的最大值。
- 矩阵的无穷范数(行范数):矩阵的每一行上的元素绝对值先求和,再从中取个最大的,(行和最大),上述矩阵A的行范数先得到[6;16],再取最大的最终结果就是:16。
∥A∥∞=1≤i≤mmaxj=1∑n∣aij∣
-
矩阵的核范数:矩阵的奇异值(将矩阵svd分解)之和,这个范数可以用来低秩表示(因为最小化核范数,相当于最小化矩阵的秩——低秩),上述矩阵A最终结果就是:10.9287。
-
矩阵的L0范数:矩阵的非0元素的个数,通常用它来表示稀疏,L0范数越小0元素越多,也就越稀疏,上述矩阵A最终结果就是:6。
-
矩阵的L1范数:矩阵中的每个元素绝对值之和,它是L0范数的最优凸近似,因此它也可以表示稀疏,上述矩阵A最终结果就是:22。
-
矩阵的F范数:矩阵的各个元素平方之和再开平方根,它通常也叫做矩阵的L2范数,它的优点在于它是一个凸函数,可以求导求解,易于计算,上述矩阵A最终结果就是:10.0995。
∥A∥F=(i=1∑mj=1∑n∣aij∣2)
- 矩阵的L21范数:矩阵先以每一列为单位,求每一列的F范数(也可认为是向量的2范数),然后再将得到的结果求L1范数(也可认为是向量的1范数),很容易看出它是介于L1和L2之间的一种范数,上述矩阵A最终结果就是:17.1559。
- 矩阵的 p范数
∥A∥p=p(i=1∑mj=1∑n∣aij∣p)
参考资料
- 范数是什么含义?有什么实际用途?对范数的理解?
- 范数(简单的理解)、范数的用途、什么是范数
- 《深度学习500问》第一章_数学基础