找到具有最小距离的唯一样本对

Posted

技术标签:

【中文标题】找到具有最小距离的唯一样本对【英文标题】:Finding unique pairs of samples with minimum distance 【发布时间】:2012-04-27 21:38:27 【问题描述】:

我需要匹配两个数据集中的样本。我所拥有的是数据集中所有样本之间的距离,并将它们排列在矩阵中,如下所示。可以有不同数量的样本,因此它不是方阵。例如,

    3 4 
    6 2 
    1 9 

它是一个 3 x 2 矩阵,用于定义两个数据集中样本之间的距离。我需要选择具有最小距离的样本对,这样一个样本不会被选择两次。在这里,我的答案是 3 和 1; 2 和 2。第一项中的第一项被省略,因为它与其他样本没有最小值。但是,我还需要知道哪些样本没有被选中。在matlab中有没有捷径可以做到这一点。

【问题讨论】:

【参考方案1】:

我相信这个问题被称为minimum weight bipartite matching。我不确定 Matlab 是否提供了一个开箱即用的算法,但我在这里找到了(虽然没有测试)一个实现:http://www.mathworks.com/matlabcentral/fileexchange/11609

【讨论】:

以上是关于找到具有最小距离的唯一样本对的主要内容,如果未能解决你的问题,请参考以下文章

机器学习实战- KNN

基于最大最小距离的分类数目上限K确定的聚类方法

KNN算法基本原理与sklearn实现

最大最小距离算法

查找大矩阵的行之间的最小距离:分配限制错误

快速计算具有最小汉明距离的对