背景:计算一个M*D的二维矩阵与一个N*D的二维矩阵各个行向量之间的距离,不用循环来做。
- 如果计算两个一维向量P,C的维数相同,则它们的欧氏距离为
- 化简之后为
- 化简之后为
- 我们继而推广,一个一维向量与一个二维矩阵各个行向量的欧氏距离为:
- 再继续推广到一个二维矩阵M个行向量与另一个矩阵N个行向量的欧式距离形成的一个二维矩阵矩阵为M*N:
最终结果为三个M*N的二维矩阵求和:
1. 第一个矩阵为P的各行向量模长平方的矩阵,如下
⎛⎝⎜⎜⎜⎜⎜||p1||2||p2||2⋮||pM||2||p1||2|