带你秒懂向量与矩阵的范数(Norm)

为什么要引入范数?

我们都知道,函数与几何图形往往是有对应的关系,这个很好想象,特别是在三维以下的空间内,函数是几何图像的数学概括,而几何图像是函数的高度形象化。
但当函数与几何超出三维空间时,就难以获得较好的想象,于是就有了映射的概念,进而引入范数的概念。
当我们有了范数的概念的后,我们就可以引出两个向量的距离的定义,这个向量可以是任意维数的。通过距离的定义,进而我们可以讨论逼近程度,从而讨论收敛性、求极限
计算机领域用的比较多的就是迭代过程中收敛性质的判断,一般迭代前后步骤的差值的范数表示其大小,常用的是二范数,差值越小表示越逼近实际值,可以认为达到要求的精度,收敛。
总的来说,范数存在的意义是为了实现比较距离。比如,在一维实数集合中,我们随便取两个点4和9,我们知道9比4大,但是到了二维实数空间中,取两个点(1,0)和(3,4),这个时候我们就没办法比较它们之间的大小,因为它们不是可以比较的实数,于是我们引入范数这个概念,把我们的(1,0)和(3,4)通过范数分别映射到实数1 和 5 ,这样我们就比较这两个点了。所以你可以看到,范数它其实是一个函数,它把不能比较的向量转换成可以比较的实数。

向量的范数

在数学上,对于向量范数的定义,就是只要满足以下三条性质的函数,我们就可以称为它为范数。
带你秒懂向量与矩阵的范数(Norm)_第1张图片
(条件1的 ↔ \leftrightarrow 的意思就是当且仅当的意思)
所以,范数的是一个宽泛的概念,有很多种,但是我们一般只会用到常用的范数,接下来我们介绍常用的向量范数。

向量的0-范数

∥ x ∥ 0 = ∑ i = 1 k ∣ x i ∣ 0 \|x\|_0=\sum_{i=1}^k|x_i|^0 x0=i=1kxi0
意义:非0元素个数
评价:L0范数表示向量中非零元素的个数。L0范数的这个属性,使其非常适用于机器学习中的稀疏编码。在特征选择中,通过最小化L0范数来寻找最少最优的稀疏特征项。但是,L0范数的最小化问题是NP难问题。而L1范数是L0范数的最优凸近似,它比L0范数要更容易求解。因此,优化过程将会被转换为更高维的范数(例如L1范数)问题。

向量的1-范数

∥ X ∥ 1 = ∑ i = 1 n ∣ x i ∣ \|X\|_1=\sum_{i=1}^n{|x_i|} X1=i=1nxi
意义:各个元素的绝对值之和

向量的2-范数 ( l 2 − n o r m l_2-norm l2norm)

∥ X ∥ 2 = ( ∑ i = 1 n x i 2 ) 1 2 \|X\|_2=(\sum_{i=1}^{n}{x_i^2})^{\frac{1}{2}} X2=(i=1nxi2)21
意义:每个元素平方和再平方根
评价:L2范数是最常用的范数了,我们用的最多的度量距离欧氏距离就是一种L2范数。在回归里面,有人把加了L2范数项的回归c称为“岭回归”(Ridge Regression),有人也叫它“权值衰减(weight decay)”。它被广泛的应用在解决机器学习里面的过拟问题合。

为什么L2范数可以防止过拟合?回答这个问题之前,我们得先看看L2范数实际上是什么。
L2范数是指向量各元素的平方和然后求平方根。我们让L2范数的规则项最小,可以使得的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0,这是有很大的区别的。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。为什么越小的参数说明模型越简单?因为当限制了参数很小,实际上就限制了多项式某些分量的影响很小,这样就相当于减少参数个数。

向量的p-范数

∥ X ∥ p = ( ∑ i = 1 n ∣ x i ∣ p ) 1 p W h e r e p ≥ 1 \|X\|_p=(\sum_{i=1}^n{|x_i|^p})^\frac{1}{p}\\ Where \quad p\ge1 Xp=(i=1nxip)p1Wherep1
意义:每个元素p次方和再p次方根

向量的无穷范数

∥ X ∥ ∞ = max ⁡ 1 ≤ i ≤ n ∣ x i ∣ \|X\|_\infty=\max_{1\le i\le n}|x_i| X=1inmaxxi
意义:向量的p-范数的p取无限大即为向量的无穷范数

矩阵的范数

跟向量的范数定义类似,只不过矩阵的范数的性质比向量的范数性质多了一条相容性。
我们直接引出矩阵的范数定义:
带你秒懂向量与矩阵的范数(Norm)_第2张图片

矩阵的1-范数(列模)

∥ A ∥ 1 = max ⁡ j ∑ i = 1 m ∣ a i , j ∣ \|A\|_1=\max_j\sum_{i=1}^m|a_{i,j}| A1=jmaxi=1mai,j
意义:矩阵的列向量的和的最大值

矩阵的2-范数(谱模)

∥ A ∥ 2 = λ max ⁡ ( A T A ) = λ 1 W h e r e λ 1    i s    t h e    m a x i m u m    e i g e n v a l u e    o f A T A \|A\|_2=\sqrt{\lambda_{\max}(A^TA)}=\sqrt \lambda_1 \\ Where \quad \lambda_1 \; is\; the\; maximum\; eigenvalue\; of A^TA A2=λmax(ATA) =λ 1Whereλ1isthemaximumeigenvalueofATA
意义: A T A A^TA ATA矩阵的最大特征值的开平方

特征值相当于是两个维度的压缩,相当于是从矩阵的维度里面找到最大的, A T A A^TA ATA很重要我们线代老师提了一嘴,我给忘记了。

——梁子

矩阵的 ∞ \infty 范数(行模)

∥ A ∥ ∞ = max ⁡ i ∑ j = 1 i ∣ a i , j ∣ \|A\|_{\infty}=\max_i\sum_{j=1}^i|a_{i,j}| A=imaxj=1iai,j
意义:矩阵的行向量的和的最大值

矩阵的F-范数

∥ A ∥ F = ( ∑ i = 1 m ∑ j = 1 n ∣ a i , j ∣ 2 ) 1 2 \|A\|_F=(\sum_{i=1}^m\sum_{j=1}^n|a_{i,j}|^2)^{\frac{1}{2}} AF=(i=1mj=1nai,j2)21

也可以描述为:

∣ ∣ A ∣ ∣ F = T r ( A A T ) ||A||_F=\sqrt{Tr(AA^T)} AF=Tr(AAT)

矩阵的迹不懂看这里

意义:Frobenius范数,即矩阵元素绝对值的平方和再开平方。感觉和向量的2范数类似

参考文献1
参考文献2

你可能感兴趣的:(矩阵向量,线性代数)