直观理解
在实数域中,数的大小和两个数之间的距离是通过绝对值来度量的。在解析几何中,向量的大小和两个向量之差的大小是“长度”和“距离”的概念来度量的。为了对矩阵运算进行数值分析,我们需要对向量和矩阵的“大小”引进某种度量。即范数是具有“长度”概念的函数。范数是绝对值概念的自然推广。
向量范数Vector Norm
定义
如果向量 $x\in R^n$ 的某个实值函数$f(x) = ||x||$满足:
- 正定性: $||x||\ge 0$,且$||x||=0$当且仅当$x=0$;
- 齐次性:对任意实数 $\alpha$ ,都有$||\alpha x||=|\alpha|\ ||x||$
- 三角不等式:对任意$x,y\in R^n$,都有$||x+y|| \le ||x|| + ||y||$
则称$||x||$ 为 $R^n$上的一个向量范数
常用向量范数
$L1$ 范数
$L1$ 范数有很多名字,比如“稀疏规则算子”(Lasso regularization),还有曼哈顿范数(Manhattan norm)
$L2$范数
$L2$范数也被称为Euclidean Norm。即如果用于计算两个向量之间的不同,即是Euclidean Distance
$Lp$范数
$L\infty$ 范数
很明显$L1$和$L2$是$Lp$范数的特例,而且经证明,$L\infty$ 也是$Lp$的特例,即
$L0$范数
另外还有$L0$,工程界一般将$L0$范数定义为
即向量中非零元素的数量
注意此时$L0$范数不满足齐次性,因此严格意义上讲$L0$范数并不是范数
例子
求向量$x=(1,4, 3,-1)^T$的各种常用范数
矩阵范数Matrix Norm
定义
如果矩阵$A\in R^{n\times n}$ 的某个实值函数$f(X) = ||A||$ 满足
- 正定性: $||A||\ge 0$且||A|| = 0当且仅当$A = 0$
- 齐次性:对任意实数$\alpha$ ,都有$||α A|| = |α|\ ||A||$
- 三角不等式:对任意$A, B \in R^{n\times n}$都有 $||A+B|| \le ||A|| + ||B||$
- 相容性:对任意$A,B\in R^{n\times n}$ ,都有$||AB|| \le ||A||\ ||B||$
则称||A||为 $R^{n\times n}$ 上的一个矩阵范数
常用矩阵范数
列范数
$A$的每列绝对值之和的最大值, 称$A$的列范数
行范数
$A$的每行绝对值之和的最大值, 称$A$的行范数
L2范数
称 A 的 2 − 范数
其中$\lambda_{max}$为$A^TA$的特征值的绝对值的最大值
F-范数
结语
谈了那么多的范数,那么L0, L1, L2中的L到底代表什么呢?其实L代表了法国数学家Henri Léon Lebesgue(昂利·莱昂·勒貝格),另一个著名的勒贝格积分也是以他命名的。
另外想必大家见到范数最多的地方就是规则项那里了,至于每种范数对算法的作用和影响可查看Reference 3和8 ,讲得非常棒。