K-means聚类算法
K-means聚类算法简介 K-means算法是典型的基于距离的聚类算法,即对各个样本集采用距离作为相似性的评价指标,若两个样本集K个簇。让簇内的点尽量紧密的连在一起,且让簇间的距离尽量的大。最后把得到紧凑且独立的簇作为最终的目标。 二、相关知识点 1、距离度量:不同的距离量度会对距离的结果产生影响,常见的距离量度公式有很多。在该算法中一般采用欧几里得公式: 但是欧几里得距离度量会受指标不同单位刻度的影响,所以一般需要先进行标准化。距离越大,个体间差异越大; 2、聚类分析:聚类分析是在数据中发现数据对象之间的关系,将数据进行分组,组内的相似性越大,组间的差别越大,则聚类效果越好。 3、簇类型:用不同的簇类型划分数据的结果是不同的,簇的类型有很多种。如: K-means算法过程 1)随机选取K个初始质心 2)分别计算所有样本到这K个质心的距离 3)如果样本离某质心Ki最近,那么这个样本属于Ki点群;如果到多个质心的距离相等,则可划分到任意组中 4)按距离对所有样本分完组之后,计算每个组的均值(最简单的方法就是求样本每个维度的平均值),作为新的质心 5)重复(2)(3)(4)直到新的质心和原质心相等,算法结束 如上图所示,图a表达了初始的样本集,假设质心k=2。(×和绿色×表示两个不同的质心b中随机选择两个k类所对应的类别质心,即图中的红色质心和绿c所示