资讯

范数是什么?衡量向量或矩阵“大小”的尺子

2026-11-053 分钟阅读百科
TL;DR范数(Norm)是衡量向量或矩阵大小的函数,满足非负性、齐次性和三角不等式;常用的有 L1 范数(各分量绝对值之和)、L2 范数(欧氏长度)和无穷范数(最大绝对值),矩阵范数有 Frobenius 范数、谱范数和核范数;在机器学习中用于正则化、距离计算、归一化和梯度裁剪。

范数(Norm)是数学中用来衡量向量或矩阵“大小”或“长度”的一种函数。就像我们用尺子量一根线段的长度一样,范数给向量或矩阵赋予一个非负的数值,表示它有多“大”。范数在机器学习中无处不在:正则化、距离计算、归一化、梯度裁剪等都离不开它。

范数需要满足的条件

一个函数要成为范数,需要满足三个条件:非负性,任何向量的范数都不是负数,只有零向量的范数才等于零;齐次性,把向量放大几倍,它的范数也放大同样的倍数;三角不等式,两个向量之和的范数,不超过它们各自范数之和,也就是“两边之和大于第三边”。

常用的向量范数

L2 范数,也叫欧几里得范数:把向量每个分量的平方加起来,再开平方,这就是我们最熟悉的“长度”。比如二维向量 3 和 4,它的 L2 范数是 5。两个点之间的欧氏距离,就是它们之差的 L2 范数。

L1 范数,也叫曼哈顿范数:把向量每个分量的绝对值加起来。“曼哈顿”这个名字来自纽约曼哈顿的街道:那里的街道纵横交错呈棋盘状,从一个路口到另一个路口不能斜着穿过楼房,只能沿着街道横着走再竖着走,走过的总路程就是两点坐标之差的绝对值之和。对于向量 3 和 4,它的 L1 范数是 7。

无穷范数,也叫最大范数:取向量所有分量中绝对值最大的那一个。对于向量 3 和 4,它的无穷范数是 4。

更一般地,有 Lp 范数:把每个分量绝对值的 p 次方加起来,再开 p 次方。L1、L2 范数分别是 p 等于 1 和 2 的情况,当 p 趋于无穷大时就得到无穷范数。此外,人们常说的“L0 范数”指的是向量中非零元素的个数,但它并不满足齐次性,严格来说并不是范数。

常用的矩阵范数

Frobenius 范数:把矩阵所有元素的平方加起来再开平方,相当于把矩阵展开成一个长向量后计算 L2 范数。谱范数:等于矩阵最大的奇异值,它衡量的是矩阵作为一个线性变换,最多能把向量放大多少倍。核范数:等于矩阵所有奇异值之和,常用于寻找低秩矩阵的问题。

在机器学习中的应用

正则化:这是范数最重要的应用之一。为了防止模型过拟合,常常在损失函数中加上模型参数的范数作为惩罚项。L2 正则化惩罚参数的 L2 范数的平方,让所有的参数都变得比较小但不为零,模型更加平滑,在线性回归中叫岭回归,在神经网络中常称为权重衰减。L1 正则化惩罚参数的 L1 范数,会让很多参数恰好变成零,得到稀疏的模型,相当于自动地进行了特征选择,在线性回归中叫 Lasso 回归。之所以会有这样的区别,可以从几何上理解:L1 范数的等值线是一个菱形,带有尖角,优化的解更容易落在坐标轴上的尖角处,使某些参数为零;而 L2 范数的等值线是一个圆,没有尖角。

距离和相似度:K 近邻、K 均值聚类等算法使用基于范数的距离来衡量样本之间的远近。归一化:把向量除以它的 L2 范数,得到长度为 1 的单位向量,常用于计算余弦相似度。梯度裁剪:在训练神经网络时,如果梯度的范数超过某个阈值,就把它按比例缩小,防止梯度爆炸。谱归一化:通过限制权重矩阵的谱范数,来稳定生成对抗网络的训练。