计算向量的长度或大小通常需要直接作为机器学习中的正则化方法,或者作为更广泛的向量或矩阵运算的一部分。
在本教程中,你将了解计算矢量长度或幅值(称为矢量范数)的不同方法。
作为向量绝对值之和计算的L1范数。
作为向量值平方和的平方根计算的L2范数。
通常需要直接或作为更广泛的向量或向量矩阵运算的一部分来计算向量的大小或长度。
矢量的长度称为矢量范数或矢量的大小。
向量的长度是描述向量在空间中的范围的非负数,有时被称为向量的大小或范数。
向量的长度始终为正数,但向量的值全为零时除外。它是使用某种度量来计算的,该度量总结了向量到向量空间原点的距离。例如,具有3个元素的向量空间的原点是(0,0,0)。
符号用于在更广泛的计算中表示向量范数,并且向量范数计算的类型几乎总是有其自己的唯一符号。
我们将看看机器学习中使用的几个常见的向量范数计算。
矢量的长度可以使用L1范数计算,其中1是L的上标,例如L^1。
向量的L1范数可以使用带有指定范数顺序的参数的Norm()函数以NumPy的形式计算,在本例中为1。
首先定义一个1×3的向量,然后计算该向量的L1范数。
运行该示例首先打印定义的向量,然后打印向量的L1范数。
当拟合机器学习算法时,通常使用L1范数作为正则化方法,例如,保持模型的系数小的方法,进而降低模型的复杂性。
L2范数计算矢量坐标到矢量空间原点的距离。因此,它也被称为欧几里德范数,因为它被计算为到原点的欧几里得距离。结果为正距离值。
L2范数计算为向量值平方和的平方根。
可以使用带有默认参数的Norm()函数以NumPy计算向量的L2范数。
与L1范数一样,当拟合机器学习算法时,L2范数通常用作正则化方法,例如保持模型系数小并且进而降低模型复杂性的方法。
到目前为止,在机器学习中,L2范数比其他向量范数更常用。
矢量的长度可以使用最大范数(也称为最大范数)来计算。
最大范数的计算方法是返回向量的最大值,因此得名。
可以使用order参数设置为inf的norm()函数在NumPy中计算向量的最大范数。
首先定义一个1×3的向量,然后计算该向量的最大范数。
运行该示例首先打印定义的向量,然后打印向量的最大范数。
在机器学习中,最大范数也被用作正则化,例如关于神经网络权重的正则化,称为最大范数正则化。
使用你自己的数据,使用每个操作创建5个示例。
手动实现定义为列表列表的矩阵的每个矩阵运算。
搜索机器学习论文,找到正在使用的每个操作的一个示例。
在本教程中,你了解了计算矢量长度或幅值的不同方法,称为矢量范数。