对于数据集,我们有黄金标准质心说。现在,如果我们用输入上运行 k-means 算法,我们得到 k-means 质心。
我只是想知道,是否有任何算法/启发式来匹配和之间的质心,其中和之间的一对一映射)
我试图计算和,并将与匹配,其中它们之间的距离最小。但在这种情况下 和被分配给,我们不需要。
对于数据集,我们有黄金标准质心说。现在,如果我们用输入上运行 k-means 算法,我们得到 k-means 质心。
我只是想知道,是否有任何算法/启发式来匹配和之间的质心,其中和之间的一对一映射)
我试图计算和,并将与匹配,其中它们之间的距离最小。但在这种情况下 和被分配给,我们不需要。
因为 K-means 最小化方差,所以一个好的标准是最小化点对之间的距离平方和。
这是一个积分 (0/1) 线性规划。具体来说,配对可以由矩阵指定,其中如果与配对,。我们力求最小化
受约束(强制一对一配对)
只要质心不超过几百个,这个问题很快就解决了。(设置问题所涉及的矩阵将很快耗尽具有数百个质心的 RAM,因为它们按比例缩放,然后你可能不得不对编程有点大惊小怪。)例如,Mathematica 8 的 `LinearProgramming' 函数不需要可测量的时间,少于质心,以 400 个质心升级到大约 5 秒。
通过线段来显示配对,该图描绘了一个最优解双变量正态质心和独立的双变量正态 K 均值解.
听起来您可能需要考虑使用/编写能量函数。更多信息:http ://en.wikipedia.org/wiki/Optimization_%28mathematics%29#Multi-objective_optimization
我想如果您的 k 质心数量“小”,您可以为所有 ck 配对运行距离函数,并选择最小化总距离的集合作为“最佳”解决方案。
希望有帮助 -
佩里