向量范数在机器学习和深度学习中的应用

向量范数,也称为向量的模,是描述向量在空间中长度的一个非负数。在机器学习和深度学习领域,向量范数的概念非常重要,通常用于评估模型的误差。例如,它可以计算神经网络输出与预期值(实际值或标签)之间的误差,或者用于定义包含权重大小的正则化项,以鼓励权重较小。向量范数是一个将向量映射到正值的函数,不同的函数可以用于计算向量范数,将看到一些例子。向量范数具有以下性质:

向量范数是非负值。如果将范数视为长度,很容易理解它们不能是负数。向量范数只有在向量本身是零向量时才为0。范数遵循三角形不等式(一些向量的和的范数小于或等于这些向量的范数之和)。当向量被拉伸时,范数会乘以拉伸因子。

机器学习中,经常使用L1范数、L2范数和最大范数来计算向量的模。这些范数的计算方法如下:

1. L1范数

L1范数,也称为曼哈顿范数,用于计算向量的模。L1范数的符号是||v||1,计算方法是将向量在不同方向上的分量的绝对值相加。在机器学习中,当向量的稀疏性很重要时,即当矩阵的非零元素是关键因素时,通常使用L1范数,因为它通过将非零元素相加来简单地针对非零元素。

import numpy as np from numpy.linalg import norm arr = np.array([1,3,5]) l1 = norm(arr, 1) print(l1)

2. L2范数

L2范数,也称为欧几里得范数,用于计算向量的模。L2范数的符号是||v||2,计算方法是对向量的分量进行平方,然后求和,最后取平方根。这种范数可以找到向量坐标与向量空间原点的距离。L2范数在机器学习中非常常用,因为它是一个可微函数,这对于优化目的至关重要。

import numpy as np from numpy.linalg import norm arr = np.array([1,3,5]) l2 = norm(arr, 2) print(l2)

3. 最大范数

最大范数,也称为L∞范数,用于计算向量的模。最大范数的符号是||v||∞,计算方法是返回向量中的最大值。

import numpy as np from numpy.linalg import norm arr = np.array([1,3,5]) maxnorm = norm(arr, np.inf) print(maxnorm)
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485