【问题标题】:How to vectorize the distances between two matrices?如何向量化两个矩阵之间的距离?
【发布时间】:2012-12-21 19:27:27
【问题描述】:

我正在构建一个 K-最近邻分类器,我希望一次完成所有距离计算(这也会有所帮助,因为未矢量化的版本需要很长时间才能运行)。

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

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

【问题讨论】:

    标签: matlab bsxfun


    【解决方案1】:

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

    【讨论】:

    • 这将如何处理两个单独的矩阵?示例显示 pdist(X)
    • 您可以使用开箱即用的pdist2,而不是pdist。我误读了你的问题,但后来更正了我的答案。抱歉,我将您发送到错误的文档。
    猜你喜欢
    • 2022-11-21
    • 2020-07-30
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    相关资源
    最近更新 更多