1. 为什么要进行L2归一化:
L2归一化可以将向量的模长缩放到相同的大小,即转换为在单位球面上的向量,这样每个向量在距离度量中的作用是相等的,,使得不同向量更具有可比性!向量之间更容易比较和匹配。
例子:
假设有两张图片,一张是红色的苹果,另一张是绿色的苹果。如果不对描述符(向量)进行归一化,两张图片中对应苹果的描述符之间的欧几里得距离可能会很大,导致它们被错误地认为是不同的物体。通过进行归一化,可以将描述符投影到单位球上,使得它们的长度都相同,从而避免了这种问题。在这个例子中,对应红色苹果和绿色苹果的描述符会更加接 近,因为它们都表示苹果这一共同特征。
2. 如何进行L2归一化:
将每个向量除以其L2范数:
范数:在数学中是一个用来衡量向量大小的函数,通常表示为
,其中x是一个向量。
范数的定义方式有很多,但最常用的是欧几里得范数(L2范数)和曼哈顿范数(L1范数)。
L2范数:向量中每个元素的平方和的平方根,即∥x∥₂=√(x₁²+x₂²+...+xᵢ²),其中i表示向量的维数。
L1范数:向量中每个元素的绝对值之和,即∥x∥₁=|x₁|+|x₂|+...+|xᵢ|。
在机器学习和数据处理中,通常会使用范数对数据进行归一化,以便不同的特征或样本在量级上具有可比性,并且可以避免特征之间的权重差异过大对结果造成影响。