5.2.2 K-Mean聚类算法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.2.2 K-Mean聚类算法相关的知识,希望对你有一定的参考价值。
参考技术A K-Means算法是典型的基于距离的非层次聚类算法,在最小化误差函数的基础上将数据换分为预定的类数K,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。
算法过程
连续属性
要先对各个属性值进行 零 - 均值规范,再进行距离计算。在K-Means中聚类算法中,一般需要度量样本之间的距离、样本与簇之间的距离、簇与簇之间的距离
零-均值规范化
也称为标准差标准化,经过处理的数据的均值为0,标准差为1。
转化公式: 当前使用最多的数据标准化方法
实践中,为得到较好的结果,通常选择不同初始聚类中心,多次运行K-Means算法。
在所有对象分配完成后,重新计算K个聚类的中心时,对于连续数据,聚类中心取该簇的均值,但当样本的某些属性是分类变量时,均值可能无定义,可以使用K-众数方法。
使用误差平法和SSE(sum of squared errors)作为度量聚类质量的目标函数,对于两种不同的聚类结果,选择误差平方和较小的分类结果
总结
分群1特点:R间隔相对较大,主要集中在30 80天;消费次数集中在0 15次;消费金额在:0~2000;
分群2特点:R间隔相对较小,主要集中在0 30天;消费次数集中在0 10次;消费金额在:0~1800;
分群3特点:R间隔相对较小,主要集中在0 30天;消费次数集中在10 25次;消费金额在:500~2000;
对比分析
分群3时间间隔短,消费次数多,消费金额大,是高消费、高价值人群。
分群2时间间隔、消费次数、消费金额中等水平,代表着一般价值客户。
分群1时间间隔长、消费次数较少、消费金额不是特别高,价值较低的客户群体。
机器学习聚类算法总结
聚类的目标是使同一类对象的相似度尽可能地小;不同类对象之间的相似度尽可能地大。目前聚类的方法很多,根据基本思想的不同,大致可以将聚类算法分为五大类:层次聚类算法、分割聚类算法、基于约束的聚类算法、机器学习中的聚类算法和用于高维度的聚类算法。以下内容摘自《数据挖掘中的聚类分析研究综述》。
1、层次聚类算法
1.1 聚合聚类
1.1.1相似度依据距离不同:Single-Link:最近距离、Complete-Link:最远距离、Average-Link:平均距离
1.1.2 最具代表性算法
1)CURE算法
特点:固定数目有代表性的点共同代表类
优点:识别形状复杂,大小不一的聚类,过滤孤立点
2)ROCK算法
特点:对CURE算法的改进
优点:同上,并适用于类别属性的数据
3)CHAMELEON算法
特点:利用了动态建模技术
1.2 优缺点
优点:适用于任意形状和任意属性的数据集;灵活控制不同层次的聚类粒度,强聚类能力
缺点:大大延长了算法的执行时间,不能回溯处理
2、分割聚类算法
2.1 基于密度的聚类
2.1.1特点
将密度足够大的相邻区域连接,能有效处理异常数据,主要用于对空间数据的聚类
2.1.2典型算法
1)DBSCAN:不断生长足够高密度的区域
2)DENCLUE:根据数据点在属性空间中的密度进行聚类,密度和网格与处理的结合
3)OPTICS、DBCLASD、CURD:均针对数据在空间中呈现的不同密度分不对DBSCAN作了改进
2.2 基于网格的聚类
2.2.1特点
利用属性空间的多维网格数据结构,将空间划分为有限数目的单元以构成网格结构;
1)优点:处理时间与数据对象的数目无关,与数据的输入顺序无关,可以处理任意类型的数据
2)缺点:处理时间与每维空间所划分的单元数相关,一定程度上降低了聚类的质量和准确性
2.2.2典型算法
1)STING:基于网格多分辨率,将空间划分为方形单元,对应不同分辨率
2)STING+:改进STING,用于处理动态进化的空间数据
3)CLIQUE:结合网格和密度聚类的思想,能处理大规模高维度数据
4)WaveCluster:以信号处理思想为基础
2.3 基于图论的聚类
2.3.1特点
转换为组合优化问题,并利用图论和相关启发式算法来解决,构造数据集的最小生成数,再逐步删除最长边
1)优点:不需要进行相似度的计算
2.3.2两个主要的应用形式
1)基于超图的划分
2)基于光谱的图划分
2.4基于平方误差的迭代重分配聚类
2.4.1思想
逐步对聚类结果进行优化、不断将目标数据集向各个聚类中心进行重新分配以获最优解
2.4.2具体算法
1)概率聚类算法
期望最大化、能够处理异构数据、能够处理具有复杂结构的记录、能够连续处理成批的数据、具有在线处理能力、产生的聚类结果易于解释
2)最近邻聚类算法——共享最近邻算法SNN
特点:结合基于密度方法和ROCK思想,保留K最近邻简化相似矩阵和个数
不足:时间复杂度提高到了O(N^2)
3)K-Medioids算法
特点:用类中的某个点来代表该聚类
优点:能处理任意类型的属性;对异常数据不敏感
4)K-Means算法
1》特点:聚类中心用各类别中所有数据的平均值表示
2》原始K-Means算法的缺陷:结果好坏依赖于对初始聚类中心的选择、容易陷入局部最优解、对K值的选择没有准则可依循、对异常数据较为敏感、只能处理数值属性的数据、聚类结构可能不平衡
3》K-Means的变体
Bradley和Fayyad等:降低对中心的依赖,能适用于大规模数据集
Dhillon等:调整迭代过程中重新计算中心方法,提高性能
Zhang等:权值软分配调整迭代优化过程
Sarafis:将遗传算法应用于目标函数构建中
Berkh in等:应用扩展到了分布式聚类
还有:采用图论的划分思想,平衡聚类结果,将原始算法中的目标函数对应于一个各向同性的高斯混合模型
5)优缺点
优点:应用最为广泛;收敛速度快;能扩展以用于大规模的数据集
缺点:倾向于识别凸形分布、大小相近、密度相近的聚类;中心选择和噪声聚类对结果影响大
3、基于约束的聚类算法
3.1约束
对个体对象的约束、对聚类参数的约束;均来自相关领域的经验知识
3.2重要应用
对存在障碍数据的二维空间按数据进行聚类,如COD(Clustering with Obstructed Distance):用两点之间的障碍距离取代了一般的欧式距离
3.3不足
通常只能处理特定应用领域中的特定需求
4、用于高维数据的聚类算法
4.1困难来源因素
1)无关属性的出现使数据失去了聚类的趋势
2)区分界限变得模糊
4.2解决方法
1)对原始数据降维
2)子空间聚类
CACTUS:对原始空间在二维平面上的投影
CLIQUE:结合基于密度和网格的聚类思想,借鉴Apriori算法
3)联合聚类技术
特点:对数据点和属性同时进行聚类
文本:基于双向划分图及其最小分割的代数学方法
4.3不足:不可避免地带来了原始数据信息的损失和聚类准确性的降低
5、机器学习中的聚类算法
5.1两个方法
1)人工神经网络方法
自组织映射:向量化方法,递增逐一处理;映射至二维平面,实现可视化
基于投影自适应谐振理论的人工神经网络聚类
2)基于进化理论的方法
缺陷:依赖于一些经验参数的选取,并具有较高的计算复杂度
模拟退火:微扰因子;遗传算法(选择、交叉、变异)
5.2优缺点
优点:利用相应的启发式算法获得较高质量的聚类结果
缺点:计算复杂度较高,结果依赖于对某些经验参数的选择
以上是关于5.2.2 K-Mean聚类算法的主要内容,如果未能解决你的问题,请参考以下文章