K-Means 聚类算法实战:将 5 个样本聚类为两类
首先随机选择两个初始质心,可以选择'(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)'。
原文地址: https://www.cveoy.top/t/topic/ogGo 著作权归作者所有。请勿转载和采集!