找出K均值聚类中的最小方差

时间:2015-07-01 07:06:08

标签: algorithm k-means

我有一组2D点,我想使用K-means算法来划分正确数量的聚类。

我读到,对于固定数量的聚类,我应该运行几次并找到给出最小方差的结果。

例如,说我知道"正确"簇的数量为4.因此,此示例的伪代码:

List<kmeansResult> result;

for(int i = 0 ; i < numIteration; ++i)
{
    result.Add(kmeans.Compute(4));
}

我将在result中获得10种不同的方式来获取4个群集,每个群集都有各自的群集差异。

我在这种情况下的问题是如何量化&#34;最小值&#34;方差。由于方差是2维,即var(X)var(Y),因此可能存在var(X)最小化而非var(Y)的情况。什么是一个很好的衡量标准&#34; lump&#34; 2在一起?

1 个答案:

答案 0 :(得分:0)

通常的做法是尽量减少sum { (C_i - x_i) \cdot (C_i - x_i) i=1,...,n},其中:

  • C_i - 点i的集群的核心
  • x_i - 我的观点
  • \cdot - 点积
  • n - 样本数量

这个想法是最小化与群集的L2距离,从而使每个群集更加紧密。

简单来说,它基本上将每个点的欧氏距离与其质心相加 - 但没有euclidean distance metric中的平方根。