概念、应用与重要性
在机器学习和深度学习领域,范数(Norm) 是衡量向量或矩阵“长度”或“大小”的数学函数,它在模型优化、正则化以及距离度量中扮演着至关重要的角色,理解不同范数的特性,对于构建高效、鲁棒的机器学习模型至关重要。
常见的向量范数
在机器学习中,我们通常处理的是特征向量,以下是几种最常用的范数:
L0 范数
- 定义:向量中非零元素的个数。
- 特点:虽然被称为范数,但它并不满足范数的齐次性,因此在数学上不是严格的范数。
- 应用:在机器学习中,L0 范数常用于特征选择,希望模型尽可能稀疏,即只保留最重要的特征,但由于其不可导且优化困难,通常使用 L1 范数作为其近似。
L1 范数 (曼哈顿距离)
- 定义:向量中各个元素绝对值之和。
- 特点:具有稀疏性,即倾向于将不重要的权重压缩为 0。
- 应用:
-
Lasso 回归:通过 L1 正则化实现特征选择。
- 鲁棒性:作为损失函数(MAE,平均绝对误差)时,对异常值不敏感。
-
L2 范数 (欧几里得范数)
- 定义:向量元素平方和的平方根。
- 特点:具有平滑性,倾向于使权重分布均匀且较小,能够防止模型过拟合。
- 应用:
- Ridge 回归:通过 L2 正则化(权重衰减)防止模型参数过大。
- 损失函数:作为 MSE(均方误差)的基础,对异常值较敏感。
L-无穷范数 (L-infinity Norm)
- 定义:向量中各个元素绝对值的最大值。
- 特点:只关注向量中数值最大的那个分量。
- 应用:在某些特定的优化问题或对抗攻击(Adversarial Attacks)中,用于限制扰动的最大幅度。
范数在机器学习中的核心应用
模型正则化 (Regularization)
正则化是范数最常见的应用场景,旨在通过在损失函数中添加范数惩罚项来控制模型复杂度,从而
防止过拟合。
- L1 正则化:通过添加 $lambda ||w||_1$ 项,强制模型学习稀疏权重,实现特征自动筛选。
- L2 正则化:通过添加 $lambda ||w||_2^2$ 项,限制权重的大小,使模型更加平滑,提高泛化能力。
损失函数 (Loss Functions)
损失函数衡量的是模型预测值与真实值之间的差异,本质上也是一种距离度量。
- L1 Loss (MAE):计算预测值与真实值之差的绝对值之和,它对离群点(Outliers)具有更强的鲁棒性。
- L2 Loss (MSE):计算预测值与真实值之差的平方和,它对误差较大的样本惩罚更重,在优化过程中梯度更平滑。
距离度量 (Distance Metrics)
在许多算法(如 K-近邻算法 KNN、K-Means 聚类)中,需要计算样本点之间的距离。
- 范数直接定义了这些算法中的距离计算方式,使用 L2 范数计算欧氏距离,使用 L1 范数计算曼哈顿距离。
L1 与 L2 范数的对比总结
| 特性 | L1 范数 | L2 范数 |
|---|---|---|
| 数学性质 | 在零点处不可导 | 处处可导 |
| 模型影响 | 产生稀疏解(部分权重为0) | 产生平滑解(权重趋向于小值) |
| 计算复杂度 | 较复杂(通常需要次梯度下降) | 较简单(闭式解或梯度下降) |
| 异常值敏感度 | 较低(鲁棒性强) | 较高(受异常值影响大) |
在机器学习实践中,选择合适的范数取决于具体的业务需求:
- 如果你需要特征选择或模型压缩,优先考虑 L1 范数。
- 如果你需要模型稳定、防止过拟合,优先考虑 L2 范数。
- 如果数据中存在大量噪声或异常值,使用基于 L1 范数的损失函数通常效果更好。
掌握范数的数学原理与工程应用,是迈向高级机器学习工程师的必经之路。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/489701.html



