【发布时间】:2020-01-31 20:58:18
【问题描述】:
我正在尝试使用 numpy 计算矩阵 X(形状 N,D)和矩阵 mu(形状 K,D)的每个点之间的距离:
np.array([[np.linalg.norm(x - m) for m in mu] for x in X])
这很慢。有没有更快的方法来获得相同的结果?
【问题讨论】:
我正在尝试使用 numpy 计算矩阵 X(形状 N,D)和矩阵 mu(形状 K,D)的每个点之间的距离:
np.array([[np.linalg.norm(x - m) for m in mu] for x in X])
这很慢。有没有更快的方法来获得相同的结果?
【问题讨论】:
我们可以将一个矩阵的维度扩展到第三个维度,然后计算距离:
np.linalg.norm(X - mu[:,None], axis=-1, ord=2).T
【讨论】: