如何矢量化两个矩阵之间的距离?

时间:2013-01-08 00:43:56

标签: matlab bsxfun

我正在构建一个K-最近邻分类器,我想让我的距离计算一次完成(这也有帮助,因为非负载版本需要花费很长时间才能运行)。

我有一个大小为28000个示例x 784个特征的测试数据集,我有一个大小为42000个示例x 784个特征的训练数据集。回答我的问题的代码应该产生一个大小为28000 x 42000的矩阵,其中每一行都包含从该测试示例到42000个训练样例中的每一个的距离。

我提出的最好的方法是使用sum和bsxfun为每个测试示例一次计算所有距离,但我仍然需要遍历所有28000个示例,正如我之前所说,它需要一段时间。

1 个答案:

答案 0 :(得分:2)

pdist2(A, B)将完全按照您的需要进行操作,其中AB分别是您的训练和测试数据集。这是参考: http://www.mathworks.com/help/stats/pdist2.html