k均值聚类

倾然丶 夕夏残阳落幕 提交于 2020-01-01 04:48:48

聚类

聚类是一种无监督的学习,它将相似的对象归到同一个簇中。其与分类的区别是分类的目标已知,而聚类所分的类别没有预先定义。

k均值聚类

K-均值是发现给定数据集的k个簇的算法。簇个数k是用户给定的,每一个簇通过其质心(centroid),即簇中所有点的中心来描述。
实现过程伪代码如下
创建k个点作为起始质心(经常是随机选择)
当任意一个点的簇分配结果发生改变时
----对数据集中的每个数据点
--------对每个质心
------------计算质心与数据点之间的距离
--------将数据点分配到距其最近的簇
----对每一个簇,计算簇中所有点的均值并将均值作为质心

为了降低误差值,有人提出了二分k均值算法,实现伪代码如下
将所有点看成一个簇
当簇数目小于k时
----对于每一个簇
--------计算总误差
--------在给定的簇上面进行K-均值聚类(k=2)
--------计算将该簇一分为二之后的总误差
----选择使得误差最小的那个簇进行划分操作

这个算法所含的数学原理很简单,很容易看懂

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!