从Kmeans中寻找每个集群的传播

时间:2010-02-23 18:12:00

标签: c++ opencv cluster-analysis k-means variance

我正在尝试检测输入向量与给定群集中心的匹配程度。我可以很容易地找到最佳匹配(与输入向量的最小欧几里德距离的中心是最好的),但是,我现在需要处理有多好的匹配。

要做到这一点,我需要找到构建质心的向量的扩展(标准偏差?),然后查看从输入向量到中心的距离是否小于扩展。如果它超过了传播而不是我应该说我没有适合它的簇(假设最好的不适合输入向量)。

我不确定如何找到每个群集的传播。我有所有的中心向量,并且所有的训练向量都标有他们最接近的星团,我只是不能完全理解我需要做什么来获得传播。

我希望这清楚吗?如果没有,我会试着改写它! TIA 伊恩

2 个答案:

答案 0 :(得分:4)

使用距离函数计算从中心点到每个标记点的距离,然后计算出这些距离的平均值。这应该给你标准偏差。

答案 1 :(得分:1)

如果切换到使用其他算法,例如高斯混合,则会得到 spread (例如,std。偏差)作为模型的一部分(聚类结果)。

http://home.deib.polimi.it/matteucc/Clustering/tutorial_html/mixture.html

http://en.wikipedia.org/wiki/Mixture_model