K-均值聚类(K-Means)算法
在数据挖掘中,聚类是一个很重要的概念。传统的聚类分析计算方法主要有如下几种:划分方法、层次方法、基于密度的方法、基于网格的方法、基于模型的方法等。其中K-Means算法是划分方法中的一个,比较简单且经典的算法。
1. 什么是聚类:
“类”指的是具有相似性的集合,聚类是指将数据集划分为若干类,使得各个类之内的数据最为相似,而各个类之间的数据相似度差别尽可能的大。聚类分析就是以相似性为基础,在一个聚类中的模式之间比不在同一个聚类中的模式之间具有更多的相似性。对数据集进行聚类划分,属于无监督学习。
2. K-均值聚类(K-Means)
应用场景:
行为细分:
按购买历史记录细分
按应用程序,网站或平台上的活动进行细分
根据兴趣定义角色
根据活动监控创建配置文件
库存分类:
按销售活动分组库存
按制造指标对库存进行分组
分类传感器测量:
检测运动传感器中的活动类型
分组图像
单独的音频
确定健康监测中的群体
检测机器人或异常:
从机器人中分离出有效的活动组
将有效活动分组以清除异常值检测
实现原理:
-随机选取K个样本作为聚类中心;
-计算各样本与各个聚类中心的距离;
-将各样本回归于与之距离最近的聚类中心;
-求各个类的样本的均值,作为新的聚类中心;
-判定:若类中心不再发生变动或者达到迭代次数,算法结束,否则回到第二步。
3. 选择合适的K
该算法找到特定的K个簇和数据集标签。为了找到数据中的簇数,需要针对一系列K值运行K均值聚类算法并比较结果。通常,没有用于确定K的精确值的方法,但是可以使用以下技术获得准确的估计:
通常用于比较不同K值的结果的度量是我方法是数据点与其聚类质心之间的平均距离。由于增加簇的数量将总是减少到数据点的距离,因此当K与数据点的数量相同时,增加K将总是减小该度量,达到零。因此,该指标不能用作唯一目标。相反,绘制作为K的函数的到质心的平均距离,并且可以使用减小率急剧变化的“肘点”来粗略地确定K.
存在许多用于验证K的其他技术,包括交叉验证,信息标准,信息理论跳跃方法,轮廓方法和G均值算法。此外,监视跨组的数据点分布可以深入了解算法如何分割每个K的数据。