1. 分类和聚类
分类的目标事先已知,聚类产生的结果和分类一样,但是其类别没有预先定义。聚类是无监督的,无监督学习没有训练过程。
聚类分析就是将相似对象归入同一簇,不相似对象分到不同簇。相似取决于所选择的相似度计算方法,算法性能将会受到相似度计算方法的影响。
2. k-均值聚类算法
(1)定义
k-means是发现给定数据集的k个簇的算法。簇个数k用户指定,每一个簇通过其质心即簇中所有点的中心来描述。
(2)工作过程
创建k个点作为起始质心(一般是随机选择或者也可以从数据集中随机选择k个样本)
当任意一个点的簇分配结果发生改变时
对数据集中的每个点
对每个质心
计算质心与该数据点之间的距离
将该数据点的簇更新为距离最小的簇
对每个簇,通过计算簇中所有数据点的均值来更新簇的质心
(3)实现代码