K-Means++算法是一种初始化K-Means聚类算法聚类中心点的启发式方法。它的流程如下:
K-Means++算法流程
1. 随机选择一个样本作为第一个聚类中心点
2. 计算每个样本到已选聚类中心点的距离
3. 选择距离已选聚类中心点最远的样本作为第二个聚类中心点
4. 计算每个样本到两个聚类中心点的最小距离
5. 根据最小距离,计算每个样本属于每个聚类中心点的概率
6. 随机选择一个样本作为第三个聚类中心点,概率为落在其聚类中心点的概率
7. 重复4-6步,直到选择出K个聚类中心点
8. 使用K个聚类中心点对所有样本进行K-Means聚类
K-Means++算法的优点
可以减少聚类结果对初始中心点选择的敏感性 比随机选择中心点更有效率 可以找到分布更均匀的聚类中心点
示例
考虑一个由以下样本点组成的数据集:
``` A = [0, 0] B = [1, 0] C = [2, 0] D = [1, 1] E = [2, 1] F = [1, 2] ```
假设要将该数据集聚类为K=2。
1. 随机选择A作为第一个聚类中心点。 2. 计算每个样本到A的距离:d(A, B) = 1, d(A, C) = 2, d(A, D) = 1, d(A, E) = 2, d(A, F) = 3。 3. 选择距离A最远的样本F,作为第二个聚类中心点。 4. 计算最小距离:d(A, B) = 1, d(F, B) = 1, d(A, C) = 2, d(F, C) = 2, d(A, D) = 1, d(F, D) = 1, d(A, E) = 2, d(F, E) = 1, d(A, F) = 3, d(F, F) = 0。 5. 计算概率:P(B|A) = 1/2, P(B|F) = 1/2, P(C|A) = 1/2, P(C|F) = 1/2, P(D|A) = 1/2, P(D|F) = 1/2, P(E|A) = 1/2, P(E|F) = 1/2, P(F|A) = 0, P(F|F) = 1。 6. 随机选择B作为第三个聚类中心点,概率为1/2。
版权声明:本文内容由互联。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发 836084111@qq.com 邮箱删除。