Python中的l2_normalize()函数用法与示例
发布时间:2024-01-18 13:48:34
l2_normalize()函数是Python中用于对向量进行L2范数归一化的函数。L2范数归一化,也称为欧几里德归一化,是将一个向量除以其L2范数,使其变成单位向量。具体说来,对于一个维度为n的向量x,其L2范数归一化结果y为:
y = x / ||x||2
其中x表示原向量,||x||2表示x的L2范数。
以下是l2_normalize()函数的用法和示例:
import numpy as np
def l2_normalize(x):
norm = np.linalg.norm(x, ord=2)
if norm == 0:
return x
return x / norm
示例1:对向量进行L2范数归一化
x = np.array([3, 4]) y = l2_normalize(x) print(y)
输出结果:
[0.6 0.8]
示例2:对矩阵的每个向量进行L2范数归一化
matrix = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]]) normalized_matrix = np.apply_along_axis(l2_normalize, 1, matrix) print(normalized_matrix)
输出结果:
[[0.57735027 0.57735027 0.57735027] [0.57735027 0.57735027 0.57735027] [0.57735027 0.57735027 0.57735027]]
在示例1中,将向量[3, 4]进行L2范数归一化后得到[0.6, 0.8]。在示例2中,对矩阵的每个向量进行L2范数归一化,得到了每个向量都具有单位长度的矩阵。
