《动手学深度学习》——线性代数,另外一些从大模型得到的资料
范数简介
英文是 norm 。
范数是线性代数中一个重要的概念,它衡量向量或矩阵的大小或长度。
在向量空间中,每个向量都有一个非负的实数值范数,通常用符号 ||x||
表示,其中 x
是向量。范数具有以下三个基本性质:
非负性:
对于任何向量 x
,都有 ||x|| ≥ 0
。并且,只有零向量 0
的范数等于零,即 ||0|| = 0
。在大多数情况下,任何东西的最小的大小是0。最后一个性质要求范数最小为0,当且仅当向量全由0组成。
齐次性:
对于任何非零标量 k
和向量 x
,都有 ||kx|| = |k| ||x||
。
三角不等式:
对于任何向量 x
和 y
,都有 ||x + y|| ≤ ||x|| + ||y||
。
范数可以形象地理解为向量的长度或大小。例如,在二维欧几里得空间中,欧氏范数就等于向量的长度。
向量范数
Lp范数
L2范数和L1范数都是更一般的Lp范数的特例
欧氏范数(L2范数):
欧氏范数是定义在欧几里得空间中的范数,它等于向量的长度。
对于二维向量 x = (x1, x2)
,其欧氏范数为:
注意:在L2范数中常常省略下标2
x = torch.arange(4, dtype=torch.float32)
x, x.norm()
输出
(tensor([0., 1., 2., 3.]), tensor(3.7417))
曼哈顿范数(L1范数):
曼哈顿范数又称为绝对值范数,它等于向量中各个元素绝对值的和。
对于二维向量 x = (x1, x2)
,其曼哈顿范数为:
切比雪夫范数(L∞范数):
切比雪夫范数又称为最大值范数,它等于向量中所有元素的绝对值的最大值。
对于二维向量 x = (x1, x2)
,其切比雪夫范数为:
矩阵范数
Element-wise矩阵范数
Frobenius范数(Frobenius norm)
类似于向量的L2范数,矩阵 的Frobenius范数(Frobenius norm)是矩阵元素平方和的平方根:
x = torch.ones((5, 4))
x, torch.norm(x), x.norm()
输出
(tensor([[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]]), tensor(4.4721), tensor(4.4721))
范数的应用
范数在数学和工程的许多领域都有广泛应用,例如:
- 深度学习:在深度学习中,我们经常试图解决优化问题:最大化分配给观测数据的概率; 最小化预测和真实观测之间的距离。用向量表示物品(如单词、产品或新闻文章),以便最小化相似项目之间的距离,最大化不同项目之间的距离。目标,或许是深度学习算法最重要的组成部分(除了数据),通常被表达为范数。
- 误差分析: 在误差分析中,范数用于度量误差的大小。例如,在数值计算中,可以使用范数来估计舍入误差的大小。
- 优化问题: 在优化问题中,范数可以用于定义目标函数。例如,在机器学习中,可以使用 L1 或 L2 范数来进行正则化,防止过拟合。
- 特征分解: 在特征分解中,可以利用范数来衡量特征值和特征向量的重要性。
- 信号处理: 在信号处理中,范数可以用于度量信号的强度或能量。
总而言之,范数是线性代数中一个重要的概念,它具有广泛的应用。理解范数的概念和性质对于学习和研究数学和工程的许多领域都至关重要。