我读了论文k-means++: The Advantages of Careful Seeding,但不太理解提供的算法:
“设D(x)表示从数据点x到我们已经选择的最近中心的最短距离。
1a.从X中随机均匀地选择初始中心c1。
1b。选择下一个中心ci,选择ci = x‘∈X with probability (D(x')^2) / Sum_of(D(x)^2)
1c。重复步骤1b,直到我们选择了总共k个中心。
2-4。继续使用标准k-means算法。“
(最好看看上面链接中的算法)
尤其是第1b步。"selecting ci = x‘∈X with probability (D(x')^2) / Sumof(D(x)^2)“是什么意思?它们是否意味着选择具有最大比例的元素?如何进行这样的计算才能选择最优的质心?
发布于 2013-07-05 09:55:42
对所有点X∈X定义函数D(x)。
在步骤1b中,我们必须选择某个点作为新的中心。我们将在所有点(不是中心点)之间随机选择。但我们不会给每个点一个平等的机会;在我们选择之前,我们将为不同的点分配不同的概率。这些概率的总和必须为1。
考虑D(x)^2。我们可以在每个点对其求值,并将值相加: Sum_of(D(x)^2)。
然后我们可以给每个点x‘分配一个等于D(x')^2 / Sum_of(D(x)^2)的概率。这些概率加起来为1,并且给出了远离所有现有中心的更好的机会。
发布于 2013-07-05 09:53:46
http://en.wikipedia.org/wiki/K-means%2B%2B
   1. Choose one center uniformly at random from among the data points.
   2. For each data point x, compute D(x), the distance between x and the nearest center that has already been chosen.
   3. Choose one new data point at random as a new center, using a weighted probability distribution where a point x is chosen with probability proportional to D(x)2.
   4. Repeat Steps 2 and 3 until k centers have been chosen.
   5. Now that the initial centers have been chosen, proceed using standard k-means clustering.发布于 2018-12-25 19:28:59
K-Means和K-Means++之间最大的区别是初始中心的选择方式。K-means算法随机选择初始中心。在选择初始中心之前,K-Menas++计算点和第一个中心之间的所有距离,以使所有要选择的中心彼此远离。如果选择一个中心靠近其他中心,则分配给相应中心的点需要多次迭代以分离群集。然而,如果两个中心的距离足够远,它们属于一个集群的概率很小,并且很容易将集群分开。
https://stackoverflow.com/questions/17479973
复制相似问题