2013-01-08 58 views
0

我正在构建一个K最近的邻居分类器,并且我想让我的距离计算一次完成(这也会有所帮助,因为未引导版本需要花费很长时间才能运行)。如何矢量化两个矩阵之间的距离?

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

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

回答

2

pdist2(A, B)将完全符合您的需求,其中AB分别是您的训练和测试数据集。这里是参考: http://www.mathworks.com/help/stats/pdist2.html

+0

这将如何与两个单独的矩阵?示例显示pdist(X) – user1956609

+0

您可以使用的是“pdist2”,开箱即用,而不是“pdist”。我误解了你的问题,但后来纠正了我的答案。对不起,我寄给你错误的文件。 –