我有一组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在一起?
答案 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中的平方根。