1 前言
今天在学习K-means++算法~
2 K-means++算法
K-means算法是一种很重要的聚类方法,而K-means++算法是对K-means算法的改进;
不过他们之间的区别仅仅在于初始质心的选择不同而已(在有些博文里面,这里的质心被称作“聚类中心”);
K-means++算法中质心初始化的步骤如下:
- 从数据集中随机选取一个样本作为初始质心 c 1 c_1 c1;
- 首先计算每个样本与当前已有的质心中距离的最小值,用 D ( x ) D(x) D(x)表示;接着,计算每个样本被选为下一个质心的概率 D ( x ) 2 ∑ x ∈ X D ( x ) 2 \frac{D(x)^2}{\sum_{x\in X D(x)^2}} ∑x∈XD(x)2D(x)2;然后,将概率值累加,并使用轮盘法选出下一个质心;
- 重复第2步直到选择出K个质心。