范数计算公式看不懂?用简单例子带你理解L1和L2范数


当我们谈到范数(Norm)时,我们实际上是在讨论一个向量或矩阵的大小或“长度”。范数是一种可以量化这种“长度”或“大小”的数学工具。在机器学习和优化问题中,范数经常用于定义约束条件或目标函数。

L1范数和L2范数是最常用的两种范数。下面,我将通过简单的例子来解释这两种范数的计算方法和含义。

L1范数

L1范数,也被称为“曼哈顿距离”或“Taxicab范数”,它计算的是向量中所有元素绝对值的总和。对于一个向量x = [x1, x2, ..., xn],其L1范数计算公式为:

||x||_1 = Σ_i |x_i|

其中,||x||_1表示x的L1范数,Σ表示求和,i是向量的索引,|x_i|表示x_i的绝对值。

例子:

假设我们有一个向量x = [1, -2, 3, -4],那么它的L1范数为:

||x||_1 = |1| + |-2| + |3| + |-4| = 1 + 2 + 3 + 4 = 10

L2范数

L2范数,也被称为“欧几里得范数”或“2-范数”,它计算的是向量中所有元素平方和的平方根。对于一个向量x = [x1, x2, ..., xn],其L2范数计算公式为:

||x||_2 = √(Σ_i x_i^2)

其中,||x||_2表示x的L2范数,x_i^2表示x_i的平方,Σ表示求和,i是向量的索引,√表示平方根。

例子:

同样使用上面的向量x = [1, -2, 3, -4],它的L2范数为:

||x||_2 = √(1^2 + (-2)^2 + 3^2 + (-4)^2) = √(1 + 4 + 9 + 16) = √30

为什么L1和L2范数重要?

1. 优化问题:在机器学习和优化问题中,L1和L2范数经常作为目标函数或约束条件出现。例如,在线性回归中,我们可能会使用L2范数来惩罚模型复杂度,以防止过拟合。在Lasso回归中,我们可能会使用L1范数来实现稀疏解。

2. 正则化:L1和L2范数都是正则化技术的一部分,用于防止模型过拟合。L1范数倾向于产生稀疏解,因为它会倾向于将某些特征的系数压缩到零。而L2范数则会使所有特征的系数都接近于零,但不一定为零。

3. 距离度量:L2范数经常用作两个向量之间的欧几里得距离度量。这种距离度量在许多机器学习任务中都很重要,如聚类、分类和相似性搜索。

L1和L2范数是机器学习和优化中非常重要的概念。通过理解这两种范数的计算方法和含义,我们可以更好地应用它们来解决实际问题。在优化问题中,选择合适的范数可以显著提高模型的性能和鲁棒性。