聚类之均值聚类(k-means)算法的python实现
最近在学习机器学习算法,主要参考了周志华老师的《机器学习》这本教材。最近读了聚类这一章节,为了加深对机器学习算法的了解,用python实现了该算法。
(1)k-means算法
k-means是一种非常常见的聚类算法,在处理聚类任务中经常使用。k-means算法是一种原型聚类算法。何为原型聚类呢?算法首先对原型进行初始化,然后对原型进行迭代更新求解,采用不同的原型表示、不同的求解方式,将产生不同的求解方式。
k-means聚类算法又叫k均值聚类算法。对于样本集。"k均值"(k-means)算法就是针对聚类划分最小化平方误差:
其中是簇C
i
的均值向量。从上述公式中可以看出,该公式刻画了簇内样本围绕簇均值向量的紧密程度,E值越小簇内样本的相似度越高。
k-means聚类算法的描述如下:
输入:样本集
过程:
从样本集中随机选择k个样本作为初始向量,即k个初始质心点