刚刚结束,若有错误请多多指教。转载自http://www.zhihu.com/question/20473040/answer/102907063
可以从函数、几何与矩阵的角度去理解范数。
我们都知道,函数与几何图形往往是有对应关系的,这个很好想象,特别是在三维以下的空间内,函数是几何图像的数学概括,而几何图像是函数的高度形象化,比如一个函数对应几何空间上若干点组成的图形。
但当函数与几何超出三维空间时,就难以获得较好的想象,于是就有了映射的概念,映射表达的就是一个集合通过某种关系转为另外一个集合。通常数学书是先说映射,然后再讨论函数,这是因为函数是映射的一个特例。
为了更好的在数学上表达这种映射关系,(这里特指线性关系)于是就引进了矩阵。这里的矩阵就是表征上述空间映射的线性关系。而通过向量来表示上述映射中所说的这个集合,而我们通常所说的基,就是这个集合的最一般关系。于是,我们可以这样理解,一个集合(向量),通过一种映射关系(矩阵),得到另外一个集合(另外一个向量)。 **范数的本质是距离,存在的意义是实现比较。因为向量与矩阵无法像标量直接比较大小,因而通过范数(称为函数或者映射也可以)把不能比较的量转换为可以比较的实数。**
但当函数与几何超出三维空间时,就难以获得较好的想象,于是就有了映射的概念,映射表达的就是一个集合通过某种关系转为另外一个集合。通常数学书是先说映射,然后再讨论函数,这是因为函数是映射的一个特例。
为了更好的在数学上表达这种映射关系,(这里特指线性关系)于是就引进了矩阵。这里的矩阵就是表征上述空间映射的线性关系。而通过向量来表示上述映射中所说的这个集合,而我们通常所说的基,就是这个集合的最一般关系。于是,我们可以这样理解,一个集合(向量),通过一种映射关系(矩阵),得到另外一个集合(另外一个向量)。 **范数的本质是距离,存在的意义是实现比较。因为向量与矩阵无法像标量直接比较大小,因而通过范数(称为函数或者映射也可以)把不能比较的量转换为可以比较的实数。**
那么向量的范数表示这个原有集合的大小。
矩阵的范数表示这个变化过程的大小的一个度量。
简单说:0范数表示向量中非零元素的个数(即为其稀疏度)。1范数表示为,绝对值之和。而2范数则指模。
- 向量范数
1-范数:
,即向量元素绝对值之和,matlab调用函数norm(x, 1) 。
2-范数:
,Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方,matlab调用函数norm(x, 2)。
-范数:
,即所有向量元素绝对值中的最大值,matlab调用函数norm(x, inf)。
-范数:
,即所有向量元素绝对值中的最小值,matlab调用函数norm(x, -inf)。
p-范数:
,即向量元素绝对值的p次方和的1/p次幂,matlab调用函数norm(x, p)。
- 矩阵范数
1-范数:
, 列和范数,即所有矩阵列向量绝对值之和的最大值,matlab调用函数norm(A, 1)。
2-范数:,
为的
最大特征值。
-范数:
,行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数norm(A, inf)。
F-范数:
,Frobenius范数,即矩阵元素绝对值的平方和再开平方,matlab调用函数norm(A, ’fro‘)。
核范数:是A的奇异值。
即奇异值之和。
Lp范数是常用的正则化项,其中L2范数|w|2倾向于w的分量取值尽量均衡,即非零分量个数尽量稠密,而L0范数与L1范数则是倾向于w的分量尽量稀疏,即非零分量个数尽量少。