0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

聚类分析方法有哪些

倩倩 来源:网络整理 2018-02-23 10:36 次阅读

聚类就是按照某个特定标准(如距离准则,即数据点之间的距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。我们可以具体地理解为,聚类后同一类的数据尽可能聚集到一起,不同类数据尽量分离。

聚类技术正在蓬勃发展,对此有贡献的研究领域包括数据挖掘、统计学、机器学习、空间数据库技术、生物学以及市场营销等。各种聚类方法也被不断提出和改进,而不同的方法适合于不同类型的数据,因此对各种聚类方法、聚类效果的比较成为值得研究的课题。

聚类分析法是理想的多变量统计技术,主要有分层聚类法和迭代聚类法。 聚类分析也称群分析、点群分析,是研究分类的一种多元统计方法。

例如,我们可以根据各个银行网点的储蓄量、人力资源状况、营业面积、特色功能、网点级别、所处功能区域等因素情况,将网点分为几个等级,再比较各银行之间不同等级网点数量对比状况。

聚类算法的分类

目前,有大量的聚类算法。而对于具体应用,聚类算法的选择取决于数据的类型、聚类的目的。如果聚类分析被用作描述或探查的工具,可以对同样的数据尝试多种算法,以发现数据可能揭示的结果。

主要的聚类算法可以划分为如下几类:划分方法、层次方法、基于密度的方法、基于网格的方法以及基于模型的方法。

目前,聚类问题的研究不仅仅局限于上述的硬聚类,即每一个数据只能被归为一类,模糊聚类[10]也是聚类分析中研究较为广泛的一个分支。模糊聚类通过隶属函数来确定每个数据隶属于各个簇的程度,而不是将一个数据对象硬性地归类到某一簇中。目前已有很多关于模糊聚类的算法被提出,如著名的FCM算法等,此方法后面会提及。

常用的聚类方法

1.k-mean聚类分析 适用于样本聚类;

2.分层聚类 适用于对变量聚类;

3.两步聚类 适用于分类变量和连续变量聚类;

4.基于密度的聚类算法;

5.基于网络的聚类;

6.机器学习中的聚类算法;

前3种,可用spss简单操作实现;

四种常用聚类算法研究

k-means聚类算法

k-means是划分方法中较经典的聚类算法之一。由于该算法的效率高,所以在对大规模数据进行聚类时被广泛应用。目前,许多算法均围绕着该算法进行扩展和改进。

k-means算法目标是,以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低。

k-means算法的处理过程如下:首先,随机地 选择k个对象,每个对象初始地代表了一个簇的平均值或中心;对剩余的每个对象,根据其与各簇中心的距离,将它赋给最近的簇;然后重新计算每个簇的平均值。 这个过程不断重复,直到准则函数收敛。通常,采用平方误差准则,其定义如下:

这里E是数据库中所有对象的平方误差的总和,p是空间中的点,mi是簇Ci的平均值[9]。该目标函数使生成的簇尽可能紧凑独立,使用的距离度量是欧几里得距离,当然也可以用其他距离度量。k-means聚类算法的算法流程如下:

输入:包含n个对象的数据库和簇的数目k;

输出:k个簇,使平方误差准则最小。

步骤:

(1) 任意选择k个对象作为初始的簇中心;

(2) repeat;

(3) 根据簇中对象的平均值,将每个对象(重新)赋予最类似的簇;

(4) 更新簇的平均值,即计算每个簇中对象的平均值;

(5) until不再发生变化。

总结:

优点:简单直接(体现在逻辑思路以及实现难度上),易于理解,在低维数据集上有不错的效果(简单的算法不见得就不能得到优秀的效果)。

缺点:对于高维数据(如成百上千维,现实中还不止这么多),其计算速度十分慢,主要是慢在计算距离上(参考欧几里得距离,当然并行化处理是可以的,这是算法实现层面的问题),它的另外一个缺点就是它需要我们设定希望得到的聚类数k,若我们对于数据没有很好的理解,那么设置k值就成了一种估计性的工作。

层次聚类算法

根据层次分解的顺序是自底向上的还是自上向下的,层次聚类算法分为凝聚的层次聚类算法和分裂的层次聚类算法。

凝聚型层次聚类的策略是先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有对象都在一个簇中,或者某个终结条件被满足。绝大多数层次聚类属于凝聚型层次聚类,它们只是在簇间相似度的定义上有所不同。四种广泛采用的簇间距离度量方法如下:

这里给出采用最小距离的凝聚层次聚类算法流程:

(1) 将每个对象看作一类,计算两两之间的最小距离;

(2) 将距离最小的两个类合并成一个新类;

(3) 重新计算新类与所有类之间的距离;

(4) 重复(2)、(3),直到所有类最后合并成一类。

总结:

优点:

1,距离和规则的相似度容易定义,限制少;

2,不需要预先制定聚类数;

3,可以发现类的层次关系(在一些特定领域如生物有很大作用);

缺点:

1,计算复杂度太高(考虑并行化);

2,奇异值也能产生很大影响;

3,算法很可能聚类成链状(一层包含着一层);

4,算法不需要预定聚类数,但是我们选择哪个层次的聚类作为我们需要的聚类效果,这需要我们按照实际客观情况以及经验来完成,毕竟就凝聚聚类来说,从最底层的每个个体作为一个个体,到最顶层所有个体合并为一个个体,其中的聚类结果可能有许许多多种。

当然针对这个问题也有许多解决方案,其中一个常用的就是凝聚到某个程度其聚类之间的距离都大于某个阈值k,就停止凝聚。

SOM聚类算法

SOM神经网络[11]是由芬兰神经网络专家Kohonen教授提出的,该算法假设在输入对象中存在一些拓扑结构或顺序,可以实现从输入空间(n维)到输出平面(2维)的降维映射,其映射具有拓扑特征保持性质,与实际的大脑处理有很强的理论联系。

SOM网络包含输入层和输出层。输入层对应一个高维的输入向量,输出层由一系列组织在2维网格上的有序节点构成,输入节点与输出节点通过权重向量连接。 学习过程中,找到与之距离最短的输出层单元,即获胜单元,对其更新。同时,将邻近区域的权值更新,使输出节点保持输入向量的拓扑特征。

算法流程:

(1) 网络初始化,对输出层每个节点权重赋初值;

(2) 将输入样本中随机选取输入向量,找到与输入向量距离最小的权重向量;

(3) 定义获胜单元,在获胜单元的邻近区域调整权重使其向输入向量靠拢;

(4) 提供新样本、进行训练;

(5) 收缩邻域半径、减小学习率、重复,直到小于允许值,输出聚类结果。

FCM聚类算法

1965年美国加州大学柏克莱分校的扎德教授第一次提出了‘集合’的概念。经过十多年的发展,模糊集合理论渐渐被应用到各个实际应用方面。为克服非此即彼的分类缺点,出现了以模糊集合论为数学基础的聚类分析。用模糊数学的方法进行聚类分析,就是模糊聚类分析[12]。

FCM算法是一种以隶属度来确定每个数据点属于某个聚类程度的算法。该聚类算法是传统硬聚类算法的一种改进。

算法流程:

(1) 标准化数据矩阵;

(2) 建立模糊相似矩阵,初始化隶属矩阵;

(3) 算法开始迭代,直到目标函数收敛到极小值;

(4) 根据迭代结果,由最后的隶属矩阵确定数据所属的类,显示最后的聚类结果。

总结:

优点:相比起前面的”硬聚类“,FCM方法会计算每个样本对所有类的隶属度,这给了我们一个参考该样本分类结果可靠性的计算方法,我们可以这样想,若某样本对某类的隶属度在所有类的隶属度中具有绝对优势,则该样本分到这个类是一个十分保险的做法,反之若该样本在所有类的隶属度相对平均,则我们需要其他辅助手段来进行分类。

缺点:KNN的缺点基本它都有。

四种聚类算法试验

试验数据

实验中,选取专门用于测试分类、聚类算法的国际通用的UCI数据库中的IRIS[13]数据集,IRIS数据集包含150个样本数据,分别取自三种不同 的莺尾属植物setosa、versicolor和virginica的花朵样本,每个数据含有4个属性,即萼片长度、萼片宽度、花瓣长度,单位为cm。 在数据集上执行不同的聚类算法,可以得到不同精度的聚类结果。

试验结果说明

文中基于前面所述各算法原理及算法流程,用matlab进行编程运算,得到表1所示聚类结果。

如表1所示,对于四种聚类算法,按三方面进行比较:

(1)聚错样本数:总的聚错的样本数,即各类中聚错的样本数的和;

(2)运行时间:即聚类整个 过程所耗费的时间,单位为s;

(3)平均准确度:设原数据集有k个类,用ci表示第i类,ni为ci中样本的个数,mi为聚类正确的个数,则mi/ni为 第i类中的精度,则平均精度为:

试验结果分析

四种聚类算法中,在运行时间及准确度方面综合考虑,k-means和FCM相对优于其他。但是,各个算法还是存在固定缺点:k-means聚类算法的初始点选择不稳定,是随机选取的,这就引起聚类结果的不稳定,本实验中虽是经过多次实验取的平均值,但是具体初始点的选择方法还需进一步研究;层次聚类虽然 不需要确定分类数,但是一旦一个分裂或者合并被执行,就不能修正,聚类质量受限制;FCM对初始聚类中心敏感,需要人为确定聚类数,容易陷入局部最优 解;SOM与实际大脑处理有很强的理论联系。但是处理时间较长,需要进一步研究使其适应大型数据库。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 聚类分析
    +关注

    关注

    0

    文章

    16

    浏览量

    7376
收藏 人收藏

    评论

    相关推荐

    Matlab提供的两种聚类分析

    Matlab提供的两种聚类分析提供源程序代码
    发表于 04-29 11:21

    SDM技术在交通信息服务系统中的应用

    交通信息服务系统是智能交通系统的重要组成部分,本文针对交通信息服务系统中存在的模糊地名匹配问题,研究了空间数据挖掘方法聚类分析方法,并提出了基于CURE 聚类方法
    发表于 08-15 08:09 5次下载

    一种改进的基于密度聚类的入侵检测算法

    密度聚类算法DBSCAN是一种有效的聚类分析方法。本文构建了网络入侵检测系统模型,并将一种改进的基于密度聚类的入侵检测算法IDBC应用于检测引擎设计。IDBC算法改进了网络连接记
    发表于 08-24 08:41 4次下载

    改进的k-means聚类算法在供电企业CRM中的应用

    针对k-means算法存在的不足,提出了一种改进算法。 针对目前供电企业CRM系统的特点提出了用聚类分析方法进行客户群细分模型设计,通过实验验证了本文提出的k-means改进算法的高效性
    发表于 03-01 15:28 15次下载

    基于主动学习的微博聚类分析

    基于主动学习的微博聚类分析_朱丽
    发表于 01-07 16:24 0次下载

    基于RDF电子商务竞争者数据挖掘设计

    的市场份额。电子商务的数据有4个主题:商品、销售商(卖家)、消费者(买家)、交易记录。在电子商务领域,传统的数据挖掘方法通常采用逻辑上的方法找出潜在和有用的模式,例如采用ILP模式,聚类分析
    发表于 11-01 16:24 0次下载
    基于RDF电子商务竞争者数据挖掘设计

    基于模糊聚类的无线传感网MAC协议

    了普通周期数据的传递,又增强了突发数据的实时性。在CSMA/CA阶段,提出模糊聚类分析方法,根据因素向量聚类簇内节点,使节点突发数据具有不同的优先级,优先级高的突发数据更早接入信道完成传输;同时,根据该协议的时隙分配策略,提出一种基于分层
    发表于 12-11 16:14 0次下载
    基于模糊聚类的无线传感网MAC协议

    Radviz可视化聚类分析方法

    ,提出将原始维度划分为多个新维度来拓展Radviz圆周上的维度排序空间。从而获得比原始维度条件下更好的可视化聚类效果,该维度划分方法首先计算数据在每个原始维度的概率分布直方图,然后使用均值漂移算法对直方图进行划分,最后根据划分结
    发表于 01-14 14:04 0次下载

    储能系统工况测试方法

    出力、输出功率平滑、跟踪与平滑组合工况片段的特征参数进行压缩,选出能代表原始片段大部分特征信息的公因子来进行K-means聚类分析,采用每一类的代表性测试工况片段构建工况测试曲线。分析结果表明:采用因子分析
    发表于 01-22 16:27 16次下载

    基于双层聚类分析的负荷形态组合识别

    区别于传统用户用电行为分析方法,提出一种以聚类算法为基础的双层聚类分析方法。该方法结合给出的内、外层变随机设置为有目的选取初始聚类中心的选取
    发表于 02-11 10:32 9次下载

    spss聚类分析树状图

    借助主成分得分对河南省各市进行聚类分析。在进行聚类分析时,指标越多就会使样品间的共性显示得越少,太多的指标会使计算出的样品间的距离偏大,从而不利于样品间相似性的综合和聚类分析的进行,往往达不到所想
    的头像 发表于 02-12 15:59 4.7w次阅读

    聚类分析方法有什么好处

    近些年来,数值分类学逐渐形成了一个新的分支,称为聚类分析聚类分析适用于很多不同类型的数据集合,很多研究领域,如工程、生物、医药、语言、人类学、心理学和市场学等,都对聚类技术的发展和应用起到了推动作用。
    的头像 发表于 02-23 11:16 3.3w次阅读

    应用模糊聚类的电力系统网络重构分析

    故障点,但此时可能有多种候选方案。应用模糊聚类方法将众多候选支路予以分类,在最大限度提高电压稳定裕度的基础上选取最为合适的候选支路,以完成网络重构。应用IEEE-30节点系统验证所提模糊聚类分析方法的正确性和有效性
    发表于 03-27 15:09 0次下载

    基于聚类分析的复杂环境中人脸目标识别技术

    脸目标识别技术已无法满足日益增长的需求。对此,文中通过聚类分析方法对传统SIFI( Scale invariant feature transform)算法进行优化改进,利用聚类分析的原理将对象特征点进行归类,使得聚类结果更加符
    发表于 05-18 14:48 10次下载

    基于Python的聚类分析及其应用简介

    基于Python的聚类分析及其应用简介。
    发表于 05-28 10:54 8次下载