k表示聚类算法

coo*_*490 2 algorithm cluster-analysis data-mining pearson k-means

我想对一组10个数据点执行ak均值聚类分析,每个数据点都具有与之关联的4个数值数组。我正在使用Pearson相关系数作为距离度量。我完成了k均值聚类算法的前两个步骤:

1)选择一组k个聚类的初始中心。[我随机选择了两个初始中心]

2)将每个对象分配给具有最近中心的聚类。[我使用Pearson相关系数作为距离度量标准-见下文]

现在,我需要帮助来了解算法的第三步:

3)计算集群的新中心:

新中心的公式 条件

其中,在这种情况下,X是4维向量,n是群集中数据点的数量。

对于以下数据,我将如何计算C(S)?

# Cluster 1
A   10  15  20  25  # randomly chosen centre
B   21  33  21  23
C   43  14  23  23
D   37  45  43  49
E   40  43  32  32

# Cluster 2
F  100  102 143 212 #random chosen centre
G  303  213 212 302
H  102  329 203 212
I  32   201 430 48
J  60   99  87  34
Run Code Online (Sandbox Code Playgroud)

k均值算法的最后一步是重复步骤2和3,直到没有任何对象改变簇为止,这非常简单。

我需要有关步骤3的帮助。计算群集的新中心。如果有人可以讲解并解释如何计算仅一个集群的新中心,那将对我有极大的帮助。

Ano*_*sse 5

不要将其他距离函数引入k均值。

K-means旨在最小化“平方和”,而不是距离!通过最小化平方和,它将巧合地最小化平方的欧几里得距离,从而最小化了欧几里得距离,但这可能不适用于其他距离,因此当与任意距离函数一起使用时,K均值可能会停止收敛

同样,k-means不会使任意距离最小化。它最小化了恰好与平方的欧几里得距离一致的“平方和”。

如果您想要为任意距离函数定义良好的算法,请考虑使用k-medoids(Wikipedia),这是一种k-means变体。PAM可以与任意距离函数收敛。