当前位置: 首页 > news >正文

关键词解释:范数(Norm)

在机器学习与深度学习中,范数(Norm) 是衡量向量或矩阵“大小”的一种重要工具。它不仅用于计算距离、正则化模型参数,还在损失函数、梯度下降等核心算法中扮演关键角色。本文将深入浅出地讲解范数的定义、常见类型及其在实际中的应用。


🔍 一、什么是范数?

范数是一种函数,用来衡量向量或矩阵的“长度”或“规模”。它满足以下三个基本性质:

  1. 非负性$|x| \geq 0$,且$|x| = 0$ 当且仅当 $x = 0$
  2. 齐次性$|\alpha x| = |\alpha| \cdot |x|$,其中$\alpha$ 是标量
  3. 三角不等式$|x + y| \leq |x| + |y|$

在机器学习中,我们最常用的是 Lp 范数,其通用公式为:

$ |\mathbf{x}|_p = \left( \sum_i |x_i|^p \right)^{1/p} $

其中:

  • $\mathbf{x}$ 是一个向量(或矩阵)
  • $p$ 是一个正实数,决定了范数的类型

🧮 二、常见的 Lp 范数详解

1. L₀ 范数(Zero Norm)

虽然名字叫“L₀”,但它并不是严格意义上的范数(不满足三角不等式),但常被借用。

✅ 用途:

  • 表示稀疏性,即有多少个元素是非零的;
  • 用于特征选择,比如希望模型只使用少数几个重要特征。

⚠️ 注意:由于 L₀ 不是凸函数,优化困难,通常用 L₁ 作为替代。


2. L₁ 范数(Manhattan Norm / Taxicab Norm)

$ |\mathbf{x}|_1 = \sum_i |x_i| $

表示向量中所有元素绝对值之和。

✅ 特点:

  • 对异常值鲁棒(比 L₂ 更稳定);
  • 可诱导稀疏解(很多系数变为 0);

✅ 应用:

  • Lasso 回归:正则项为$\lambda |\mathbf{w}|_1$,可实现特征选择;
  • 图像处理中的边缘检测;
  • 稀疏编码。

3. L₂ 范数(Euclidean Norm)

$ |\mathbf{x}|_2 = \sqrt{\sum_i x_i^2} $

也称为欧几里得范数,是最常用的范数之一。

✅ 特点:

  • 几何上表示向量的“长度”;
  • 导数连续,便于梯度计算;
  • 使优化问题更平滑;

✅ 应用:

  • Ridge 回归:正则项为$\lambda |\mathbf{w}|_2^2$,防止过拟合;
  • 计算两个向量之间的距离(如余弦相似度);
  • 梯度裁剪(Gradient Clipping)中控制梯度大小;
  • 深度学习中权重初始化时常用 L₂ 范数约束。

💡 小知识:L₂ 范数平方写作$|\mathbf{x}|_2^2 = \sum x_i^2$,避免开方运算,常用于损失函数。


4. L∞ 范数(Infinity Norm)

$ |\mathbf{x}|_\infty = \max_i |x_i| $

表示向量中最大绝对值的元素。

✅ 应用:

  • 控制模型的最大激活值;
  • 鲁棒性分析(对单个极端值敏感);
  • 某些对抗攻击防御策略中限制输入扰动范围。

📊 三、不同范数的几何意义对比

范数几何形状(单位球)特征
L₀离散点集稀疏性最强
L₁菱形(二维)边界尖锐,易产生稀疏解
L₂圆形(二维)平滑,适用于大多数场景
L∞正方形(二维)只关注最大值

🎯 举个例子:在二维空间中,若要求 $|\mathbf{x}|_p = 1$,那么:

  • L₁ 单位球是一个菱形;
  • L₂ 单位球是一个圆;
  • L∞ 单位球是一个正方形。

这说明不同范数对“距离”的定义方式不同,从而影响优化路径。


🔧 四、范数在机器学习中的典型应用

1. 正则化(Regularization)

为了防止模型过拟合,我们在损失函数中加入正则项:

  • L₁ 正则化(Lasso): $ \text{Loss} = \text{Original Loss} + \lambda |\mathbf{w}|_1 $ → 促使部分权重变为 0,实现自动特征选择。

  • L₂ 正则化(Ridge): $ \text{Loss} = \text{Original Loss} + \lambda |\mathbf{w}|_2^2 $ → 缩小所有权重,减少模型复杂度。

⚠️ 注意:L₁ 和 L₂ 的组合就是 Elastic Net


2. 梯度裁剪(Gradient Clipping)

在训练深度神经网络时,梯度可能爆炸(太大)。我们可以限制梯度的 L₂ 范数不超过某个阈值:

if ||grad||_2 > threshold:grad = grad * (threshold / ||grad||_2)

这样可以稳定训练过程。


3. 特征缩放与归一化

在训练前,常用 L₂ 归一化处理数据:

$ \mathbf{x}_{\text{norm}} = \frac{\mathbf{x}}{|\mathbf{x}|_2} $

使得每个样本的范数为 1,加快收敛速度。


4. 距离度量

在聚类、推荐系统中,常用 L₂ 范数计算两点间距离:

$ d(\mathbf{x}, \mathbf{y}) = |\mathbf{x} - \mathbf{y}|_2 $

也可以用 L₁ 或其他范数,视任务而定。


🧩 五、拓展:矩阵范数

除了向量范数,还有矩阵范数,例如:

  • Frobenius 范数(类似 L₂):$ |\mathbf{A}|F = \sqrt{\sum{i,j} a_{ij}^2} $

  • 谱范数(最大奇异值): $ |\mathbf{A}|2 = \sigma{\max}(\mathbf{A}) $

这些在矩阵分解、主成分分析(PCA)、神经网络权重分析中有广泛应用。


✅ 总结表:常见范数一览

范数公式名称特点应用
L₀

非零元素个数稀疏性特征选择
L₁$ |\mathbf{x}|_1 = \sum_i |x_i| $曼哈顿范数诱导稀疏解,对异常值鲁棒曼哈顿范数
L₂$ |\mathbf{x}|_2 = \sqrt{\sum_i x_i^2} $欧氏范数平滑、常用Ridge、距离计算
L∞$ |\mathbf{x}|_\infty = \max_i |x_i| $最大范数只关注最大值

📚 小贴士:如何记忆?

  • L₀ 像“计数”:只关心有没有非零元素。
  • L₁ 像“折线”:走横纵方向,总路程是绝对值和;
  • L₂ 像“直线”:两点之间最短距离是斜边;

🎯 结语

范数不仅是数学中的抽象概念,更是连接理论与实践的桥梁。掌握它,你就掌握了衡量“大小”、“距离”、“复杂度”的一把尺子。

🌱 无论你是刚入门的机器学习新手,还是正在调试模型的工程师,理解范数都能帮你更好地设计模型、调参、诊断问题。


📌 附录:代码实现(Python + NumPy)

import numpy as npx = np.array([1, -2, 3])# L0 范数
l0 = np.count_nonzero(x)# L1 范数
l1 = np.sum(np.abs(x))# L2 范数
l2 = np.linalg.norm(x, ord=2)  # 或 np.sqrt(np.sum(x**2))# L∞ 范数
linf = np.max(np.abs(x))print(f"L0: {l0}, L1: {l1}, L2: {l2:.3f}, L∞: {linf}")

输出:

L0: 3, L1: 6, L2: 3.742, L∞: 3

http://www.dtcms.com/a/593575.html

相关文章:

  • 用Python生成个性化的电子邮件签名
  • [PowerShell入门教程] 第2天:变量、管道、对象操作与执行策略详解
  • 做网站运营的职业生涯规划wordpress 水印插件
  • 护照阅读器在酒店行业的应用
  • 继承的概念及使用
  • 建网站的地址手工制作小船
  • 技术选型深度评估:“六行神算”平台在医疗AI项目中的架构适配性
  • VLAN 和 VXLAN
  • PC微信 device uuid 算法
  • 外国网站的浏览器下载网站程序是什么意思
  • 【Docker多节点部署】基于“配置即身份“理念的 Docker 多节点 StarRocks 高可用集群自动化部署方案
  • 如何选择适合企业的数据仓库建模工具?​
  • Ethernet ip转SPI嵌入式板卡-让机器人与单片机互相联动
  • 免费推广网站大全下载安装南山网站-建设深圳信科
  • 【ZeroRange WebRTC】OpenSSL 与 WebRTC:原理、集成与实践指南
  • AnyVP*:企业级远程办公SSL深度技术解析
  • 重庆营销型网站建设多少钱学校网站功能描述
  • Spring @Component 和 @Bean 的区别与最佳实践
  • 怎么给自己公司做网站小影wordpress
  • C# 特性详解
  • 《 Linux 修炼全景指南: 六 》软件包管理器
  • QNAP紧急修复Pwn2Own 2025比赛中遭利用的7个0Day漏洞
  • 大学学部网站建设工作深圳牌申请网站空间
  • LeetCode算法学习之乘积最大子数组
  • 网站建设的业务范围福建住房城乡建设部网站
  • android启动模式使用场景具体说明
  • STM32 - Embedded IDE - GCC - 编译器设置的最佳方案
  • 霸州网站制作建免费的网站吗
  • 网站开发基本步骤adspower浏览器
  • 当机器人学会了“知轻重”:六维力传感器和关节力传感器如何重塑餐饮体验