首先随机选择两个初始质心,可以选择'(0,0)'和'(1,0)'。

第一轮迭代:

对于第一个样本'(0,2)',计算它到两个质心的距离:

d('(0,2)', '(0,0)') = |0-0| + |2-0| = 2

d('(0,2)', '(1,0)') = |0-1| + |2-0| = 3

显然,它更接近第一个质心'(0,0)',所以将它分到第一类。

对于第二个样本'(0,0)',计算它到两个质心的距离:

d('(0,0)', '(0,0)') = |0-0| + |0-0| = 0

d('(0,0)', '(1,0)') = |0-1| + |0-0| = 1

显然,它更接近第一个质心'(0,0)',所以将它分到第一类。

对于第三个样本'(1,0)',计算它到两个质心的距离:

d('(1,0)', '(0,0)') = |1-0| + |0-0| = 1

d('(1,0)', '(1,0)') = |1-1| + |0-0| = 0

显然,它更接近第二个质心'(1,0)',所以将它分到第二类。

对于第四个样本'(5,0)',计算它到两个质心的距离:

d('(5,0)', '(0,0)') = |5-0| + |0-0| = 5

d('(5,0)', '(1,0)') = |5-1| + |0-0| = 4

显然,它更接近第二个质心'(1,0)',所以将它分到第二类。

对于第五个样本'(-1,-1)',计算它到两个质心的距离:

d('(-1,-1)', '(0,0)') = |-1-0| + |-1-0| = 2

d('(-1,-1)', '(1,0)') = |-1-1| + |-1-0| = 3

显然,它更接近第一个质心'(0,0)',所以将它分到第一类。

第一轮迭代结束后,第一类包括了'(0,2)','(0,0)'和'(-1,-1)',第二类包括了'(1,0)'和'(5,0)'。

第二轮迭代:

对于第一个类的质心,计算它们的平均值得到新的质心'(0,-1/3)';对于第二个类的质心,计算它们的平均值得到新的质心'(3,0)'。

新的质心之间的距离为:

d('(0,-1/3)', '(3,0)') = |0-3| + |-1/3-0| = 3 1/3

第二轮迭代结束后,聚类结果不再改变,第一类包括了'(0,2)','(0,0)'和'(-1,-1)',第二类包括了'(1,0)'和'(5,0)'。

K-Means 聚类算法实战:将 5 个样本聚类为两类

原文地址: https://www.cveoy.top/t/topic/ogGo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录