python - 在张量的上下文中理解广播
问题描述
考虑存储在矩阵中的两个元素的向量。假设矩阵 X 的形状为 (300,2)。我想计算每个向量之间的欧几里得范数。使用广播它应该如下所示:
# (300, 1, 2) - (1, 300, 2) -> (300, 300, 2)
np.sum( (X[:, None] - X[None])**2, axis=2)**0.5
结果大小为 (300,300)。我不太明白沿axis = 2求和的工作原理。我有 300 个 (300,2) 矩阵。谁能给我一些直觉,我想要的结果是如何得出的?