ImageVerifierCode 换一换
格式:DOCX , 页数:51 ,大小:737.66KB ,
资源ID:11765640      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11765640.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于层次的聚类算法.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于层次的聚类算法.docx

1、基于层次的聚类算法独创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研 究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文 中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。论文题目:日期: 年 月 日作者签名:论文版权使用授权书本人完全了解吉首大学有关保留、使用学位论文的规定,即:学校有权保留送 交论文的复印件和磁盘,允许论文被查阅和借阅,可以采用影印、缩印或扫描等复 制手段保存、汇编学位论文。同意吉首大学可以用不同方式在不同媒体上发表、传 播学位论文的全部或部

2、分内容。(保密的学位论文在解密后应遵守此协议)论文题目: 学生签名:日期:年月日导师签名:日期:年月日基于层次的聚类算法的研究与实现摘要聚类分析是数据挖掘中的一个重要领域,是数据划分或分组处理的重 要手段和方法,聚类分析已经应该于广泛的领域。聚类算法可以分为基于 层次的方法、基于划分的方法、基于网格的方法、基于密度的方法和基于 模型的方法。层次聚类算法因为算法思想简单,适合于大量数据的聚类,所以是实 际应用中聚类分析的支柱。本文重点对层次聚类算法进行了分析和研究, 阐述了基于层次聚类的CURE和BIRCH算法,并实现了这两种算法以及给出 了它们的聚类结果。CURE算法是利用代表点聚类,它解决了

3、偏好球形和相似大小的问题, 可以发现具有任意大小和形状的聚类, 而且在处理孤立点上也更加健壮。 BIRCH 是用聚类中心和半径来代表聚类, 具有一定的处理噪音的能力, 而 且它是一种增量聚类方法, 它不要求所有数据一次性读入内存, 所以空间 复杂度低,但是BIRCH算法无法发现任意形状和大小的聚类。关键词:聚类分析;层次聚类;CURE BRICHResearch and Implementation of the algorithm based on hierarchical clusteringSun Xili(College of Information Science and Engin

4、eering, Jishou University, Jishou,Hunan416000)Abstract:Clustering analysis is an essential field in data mining and also important means and method of data classification or grouping processing. Cluster analysis has played an important role in a wide range of data partitioning areas. Clustering algo

5、rithms can be divided into the method based on hierarchy, the methods based on the partition ,the gr id-based methods, the density-based method and the model-based method.Hierarchical clustering algorithm is a mainstay of the clustering analysis in practical application for its simple algorithm idea

6、s, and suitable for large amounts of data clustering .This paper focuses on the hierarchic al clustering algorithm analysis and research,expounds CURE and BIRCH algorithm based on hierarchy clustering algorithm,and implements the two algorithms and their clustering results are given.CURE algorithm i

7、s the use of the clustering of the representative point,it solved the problem of the preference of spherical and similar size, clustering can be found with any size and shape, but also more robust in dealing with the isolated point.BIRCH is using the clustering center and radius to delegate clusteri

8、ng,also with the ability to handling noise,and it is a kind of increment al clustering method,it does t require all data is read into memory in a single, so the space complexity is low,but the BIRCH algorithm can not find clustering with any shape and size.Keywords: Cluster analysis; Hierarchical cl

9、ustering; CURE; BRICH第一章 绪论 11.1课题的 研究 意义 11.2课题的主要研究内容 11.3论文内容和结构安排 2第 二 章 聚 类 算 法 研 究 32.1聚类分析概述 32.2主要聚类算法分 类 42.3聚类分析中的数 据类 型 62.4聚类算 法的 质量评价 标准 92.5小 结 10第三章 基于层次的聚类算法的分析 113.1层次聚 类方法 概述 113.2层次聚 类方法 存在 的不足 13第四章 基于层次聚类方 法的 实现 154.1CURE 算 法 154.2BIRCH 算 法 224.5小 结 38第 五 章 总 结 39致谢 40参考文 献 41第一

10、章绪论1.1课题的研究意义随着信息技术和数据库技术的迅猛发展,人们可以非常方便地存储和获取大量 的数据。面对数据的日新月异,人们利用信息技术生产和搜集数据的能力大幅度提 高,大量的数据库被用于科学研究、政府办公、商业管理和工程开发等等,以前的 的数据分析工具(如管理系统)只能进行一些表层的处理(如统计、查询等) ,而不能获得数据之间存在的隐含的信息和内在的关联。为了摆脱“数据丰富,知识贫乏” 和困境,人们迫切的需要一种能够自动地智能地把数据转换成有用信息和知识的工 具和技术,这种对强有力的数据分析工具的迫切需要使得数据挖掘技术应运而生, 并得以蓬勃发展,越来越显示出其强大的生命力。聚类分析是根

11、据一批样品的多个观测指标,找出能够试验样品或变量之间相似 程度的统计量,并以此为依据,采用某种聚类算法,将所有样品或变量分别聚合到 不同的类中,使同一类中的个体有较大的相似性,不同类中的个体差异较大。聚类 分析是一种无监督的学习方法,它已经被广泛地应用于统计学、机器学、空间数据 库、生物学以及市场营销等领域,聚类分析还可以作为独立的数据挖掘工具来了解 数据分布,或者作为其他数据挖掘算法(如关联规则、分类等)的预处理步骤。聚 类算法可以分为基于的层次方法、基于划分的方法、基于网格的方法、基于密度的 方法和基于模型的方法2。聚类分析已经被广泛的研究了许多年,其中的层次聚类分析是聚类分析中极为 重要

12、的一个研究方向。它是由一系列的划分多步完成分类,而不是在一步以内将数 据分成n类。层次聚类分为两种,分裂的(divisive )层次聚类和凝聚的 (agglomerative )层次聚类。层次聚类算法由于要使用距离矩阵,所以它的时间和 空间复杂性都很高,几乎不同在大数据集上使用,而且它在算法执行过程中,一量 一个合并或分裂被执行,就不能修正。但是层次聚类算法没有使用准则函数,它所 潜含的对数据结构的假设更少,所以它的通用性更强。为了将层次聚类算法应用在 大规模的数据集上,许多研究者将采样技术,分块技术及数据压缩技术结合到层次 算法中。典型的有:BIRCH CURE Chameleon1.2课题

13、的主要研究内容本文主要研究层次聚类算法,在系统地归纳层次聚类分析方法的一般原理、一 般方法以及相关技术的基础上,分析 BIRCH CURE等层次聚类算法,并对它们加以实现并进行聚类分析。具体的来说,本论文所研究的主要内容如下:(1)分析和研究聚类算法。(2) 在了解基于层次的聚类分析方法的基础上研究 BIRCH CUREI法,并加 以实现。1.3论文内容和结构安排本文共分为四章,各章的主要内容如下:第一章绪论。主要介绍的是论文的研究背景和现实意义。第二章 聚类算法研究。主要介绍了聚类技术的相关概念。第三章 层次聚类方法。主要传统的层次聚类方法,对其进行了详细的分析,并 给出了传统的层次聚类方法

14、存在的缺陷。第四章详细分析了层次聚类的各种算法,并阐述了 BIRCH CURE勺思想和实现。第二章聚类算法研究本章系统地归纳聚类分析的基本概念及存在的问题,讨论聚类分析的数据结构 和数据类型,确定聚类的准则。2.1聚类分析概述聚类分析是一种重要的人类行为。早在孩提时代,一个人就通过不断地改进下 意识中的聚类模式来学会如何区分猫和狗,或者动物和植物。聚类分析已经广泛地 应用在许多应用中,包括心理学和其他社会科学、生物学、统计学、模式识别、信 息检索、机器学习和图像处理等领域。聚类即是将数据对象分组成为多个类或簇, 在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。聚类是 一个无监

15、督的学习过程,它同分类的根本区别在于:分类是需要开始知道所根据的 特征,而聚类是要准确的找到这个数据特征,因此在许多的应用中,聚类分析更是 定义为一种数据预处理的过程,是进一步解析和处理数据的根本。例如,在生物学 上,聚类能用于成功的推导植物和动物分类,对基因进行分类,获得对种群中固有 结构的认识。聚类在地球观测数据库中相似地区的确定,洗车保险持有者的分组, 及根据房子的类型,价值,和地理位置对一个城市中房屋的分组上也可以发挥作用。 聚类也能用于对 Web上的文档进行分类,以发现信息。作为一个数据挖掘的功能, 聚类分析可以作为一个获得数据分布情况,观察每个簇的特征和对特定类进一步分 析的独立工

16、具。通过聚类能够了解密集和稀疏的区域,找到全局的分布模式以及数 据的两个属性之间的互相联系等等。但是聚类分析是一个富有挑战性的研究领域,它的潜在应用提出了各种特殊的 要求,它们主要表现在2:(1) 可伸缩性。由于数据产生和收集技术的进步,数吉字节、数太字节甚至 数拍字节的数据集起来越普遍。在大数据集合样本上进行聚类可能会导致有偏的结 果。一般而言,聚类算法的时间复杂度太高,这要求在多项式的时间内完成,所以 像这样算法的可伸缩性会更加好。如今已经做了很多的尝试,比如增量式挖掘,可 靠的采样,数据挤压等等。例如 BIRCH算法中使用CF树就属于数据挤压技术。(2) 用于决定输入参数的领域知识最小化

17、:许多聚类算法在聚类分析中要求 用户输入一定的参数,例如希望产生簇的数目。聚类结果对于输入参数十分敏感。 参数通常很难确定,特别是对于包含高维对象的数据集来说。这样不仅加重了用户 的负担,也使得聚类的质量难以控制。(3) 处理“噪声”的能力:在现实应用的绝大多数数据都可能包含有噪声数 据,例如:孤立点、未知数据、空缺或者错误数据等。(4)对于输入记录的顺序不敏感:许多聚类算法,如层次聚类算法对于输入 数据的顺序是敏感的。对输入数据的顺序敏感的算法对于同一个数据集,当以不同 的顺序提交给算法时,得到的结果可能差别很大。研究和数据输入顺序不敏感的算 法具有重要的意义。(5) 高维度(high di

18、mensionality ): 一个数据库或者数据仓库可能包含若 干维或者属性。许多聚类算法擅长处理低维的数据,可能只涉及两到三维。人类的 眼睛在最多三维的情况下能够很好地判断聚类的质量。在高维空间中聚类数据对象 是非常有挑战性的,特别是考虑到这样的数据可能分布非常稀疏,而且高度偏斜。(6)基于约束的聚类:现实世界的应用可能需要在各种约束条件下进行聚类。 假设你的工作是在一个城市中为给定数目的自动提款机选择安放位置,为了作出决 定,你可以对住宅区进行聚类,同时考虑如城市的河流和公路网,每个地区的客户 要求等情况。要找到既满足特定的约束,又具有良好聚类特性的数据分组是一项具 有挑战性的任务。(7

19、)可解释性和可用性:用户希望聚类结果是和可用的、可理解的和可解释 的。也就是说,聚类分析极有可能需要和特定的语义解释和应用联系起来。而且应 用目标如何影响聚类方法的选择也是一个相当重要的研究课题。2.2主要聚类算法分类目前聚类算法有很多种,算法的选择取决于聚类的目的和应用以及数据的类型。 传统的聚类算法可以分为五类:划分方法、层次方法、基于网格方法、基于模型方 法和基于密度方法。2.2.1划分的方法(Partitioning Method )给定一个数据库包含N个数据对象以及数目K的即将生成的簇,一个划分类的算 法将对象分为K个划分(k=n),其中,这里的每个划分分别代表一个簇。通常会使 用一

20、个划分规则(通常称为相似度函数, similarity fun ction )。而传统的划分方法有Kmeans方法和K-medoids以及它们的改进算法。Kmeans方法采用簇中对象的平均值当做参照点,而 K-medoids方法不采用簇中对象的平均值作为参照点,而是选用簇中位置最中心的对象作为参照点。因此,孤 立点数据和“噪声”对K-medoids方法的影响相对来说比Kmeans方法小的多,但是 复杂度要比Kmeans方法高。PAM( Partitioning around Medoids, 黑线 k-medoids 的划分)算法对孤立点和“噪声”数据不敏感,并且可以知道由它所发现的簇与聚类数

21、据的输入顺序无关, 能够处理不同类型的数据点。PAM寸小的数据集合非常有效,但对大的数据集合没有 良好的可伸缩性。2.2.2层次的方法(Hierarchical Method )基于层次的方法对给定数据对象集合进行层次的分解。根据层次的分解如何形 成,层次的方法可以分为凝聚的和分裂的。凝聚的方法,也称为自底向上的方法, 一开始将每个对象作为单独的一个簇,然后相继地合并相近的对象或组,直到所有 的组合并为一个(层次的最上层)或者达到一个终止条件。分裂的方法,也称为自 顶向下的方法,一开始将所有的对象置于一个聚类中。在迭代的每一步中,一个簇 被分裂为更小的簇,直到最终每个对象在单独的一个簇中,或者

22、达到一个终止条件。层次方法的缺陷在于,一旦一个步骤(合并或分裂)完成,它就不能被撤消。 这个严格规定是必要的,由于不需要担心组合数目的不一样的选择,计算代价相对 会很小。但是该技术的重要的问题是它不能更正错误的决策。因此人们提出了很多 的改进方法,一种是加强对象间“连接”的分析,如 CURES Chameleon;另一种是迭 代的重定位和综合层次聚类方法,如BIRCH这几种算法都会在第三章中重点分析并 实现。2.2.3基于密度的方法(Density-based Method )绝大多数划分方法基于对象之间的距离进行聚类。这样的方法只能发现球状的 簇,而在发现任意形状的簇上遇到了困难。随之提出了

23、基于密度的另一类聚类方法, 其主要思想是:只要临近区域的密度(对象或数据点的数目)超过某个阈值,就继 续聚类。也就是说,对给定类中的每个数据点,在一个给定范围的区域中必须至少 包含某个数目的点。这样的方法可以用来过滤“噪声”孤立点数据,发现任意形状 的聚类。具有代表性的基于密度的聚类方法有 DBSCAJN它根据一个密度阈值来调控簇的增长。另一个基于密度的聚类方法是 OPTICS它为自动的交互的聚类分析计算一个聚类顺序。2.2.4基于网格的方法(Grid-based Method )在聚类分析方法中,基于网格的聚类方法采用了多给网格数据结构。它将空间 划分为有限数目的单元,以构成一个可以进行聚类

24、分析的网格结构,几乎所有的聚 类操作都在网格上进行。这种方法的主要优点是处理速度快,其处理时间独立平均 数据对象的数目,仅依赖于量化空间中每一维上的单元数目。常用的基于网格聚类 算法有 STING(Statistieal Information Grid)算法和 CLIQUE(Clustering In Quest)算法。STING算法是一种基于网格多分辨率的聚类方法, 它将空间划分为方形单元,不同层次的分辨率与这些不同层次的方形单元相对应,方形单元存放方差、均值、最 大值、最小值等统计信息。CLIQUE是在高维空间中基于网格和密度的聚类方法。CLIQUE寸数据的输入顺序 不敏感,也不需要假设

25、任何特定的数据分布,输入数据量大小与时间复杂度呈线性 关系,它能自动发现最高维中所存大的密集聚类,当数据维数发生变化时具有较好的可扩展性,缺点是在追求方法简单化的同时降低了聚类的精度。225 基于模型的方法(Model-based Method)基于模型的方法为每个聚类假定了一个模型,然后找出数据对给定模型的最佳 拟合。一个基于模型的算法可能通过构建反映数据点空间分布的密度函数来定位聚 类,并且基于标准的统计数字来自动决定聚类的数目,考虑“噪声”数据或孤立点, 从而产生健壮的聚类。基于模型的方法主要有两类:神经网络方法和统计学方法。基于统计学的聚类方法最著名的是 COBWEB法。COBWE是一

26、种简单流行的增量 概念聚类算法,它的输入对象用(分类属性,值)来描述。 COBWE以一个分类树的形式创建层次聚类。COBWE算法不需要用户提供相应的参数可以自动修正划分中聚 类簇的数目。然而它也有局限性。首先,假设在每个属性上的概率分布是彼此独立 的。由于属性经常是相关的,这个假设并不总是成立。此外,聚类的概率分布描述 使得存储聚类和更新非常昂贵。而且,分类树对于偏斜的输入数据不是高度平衡的, 它可能导致时间和空间复杂性的剧烈变化。各种聚类算法的适用领域及时间空间复杂度的比较如表 2-1所示。表2-1各种聚类算法的指标比较4算法时间复杂度空间复杂度适合的数据集适合领域CUREO(n2)O(n)

27、大数据集任意形状Chamele onO(n2)O(n2)大数据集任意形状PAMO(n2)O(n)小数据集凸形或球形CLARAO(n)O(n)大数据集凸形或球形CLARANSO(n2)O( n)大数据集凸形或球形DBSCANO(nlog n)O(n)大数据集任意形状OPTICSO(nlog n)O(n)大数据集任意形状WaveClusterO(n)O(n)大数据集任意形状COBWEBO(nlog n)O(n)大数据集凸形或球形2.3 聚类分析中的数据类型聚类分析不仅可以揭示数据间内在的联系和区别,同时也可以为进一步的数据 分析与知识发现提供重要的依据,主要用于进行数据探索,并给出数据描述,而且

28、还可以作为数据预测、内容检索、模式识别等其它方面应用的前期准备工作2.3.1数据的表示在聚类分析中有许多不同的数据类型。假设要聚类的数据集合包含 n个数据对象,这些数据对象可能表示人、房子、文档、国家等。许多聚类算法选择如下两种 代表性的数据结构:1.数据矩阵(data matrix )用p个变量来表示n个对象,例如用年龄、身高、体重、性别、种族等属性来表 现对象“人”。这种数据结构是关系表的形式,或者是看成 n*p(n个对象*p个变量)的矩阵,如图2.1所示。图2.1数据矩阵2.相异度矩阵(dissimilarity matrix )存储n个对象两两之间的近似性,表现形式是一个n*n维的矩阵

29、,如图2.2所示0 (2,1) 0刃3,1) d(3,2) 0 d(n, 1) d(%2)0在这里d(i,j)是对象i和对象j之间相异性的量化表示,通常它是一个非负的 数值,当对象i和j越相似或相近,其值就越接近0,两个对象越不同,其值越大。 如果数据是用数据矩阵的形式表现的,在使用聚类算法之前需要将其转化为相异度 矩阵。232数据的类型下面将讨论如何计算区间标度变量,二元变量,标称型,序数型,比例标度型 以及混合类型的变量描述的数据对象之间的差异值。利用数据对象差异值就可以对 对象进行聚类分析了。1 区间标度变量,线性标度的连续变量为了将数据划分成不同的的类别,必须定义差异度或相似性的测试来

30、度量同一类 别之间数据的相似性和不同类别数据的差异性。同时要考虑到数据的多个属性属性 使用的是不同的度量单位,这些将直接影响到聚类分析的结果,为了避免对度量单 位选择的依赖,数据应当标准化。数据标准化常用的方法是将原来的度量值转换为 无单位的值。给定一个具有p个属性的变量f的度量值,可以进行如下的变换:(1)计算平均的绝对偏差(mean absolute deviation ) Sf如公式2.1所示。 其中,x1f , xnf是f的n个度量值,mf是f的平均值,如公式2.2所示。1Sf (|x1f mf | |x2f mf以时 mf |)(公式 2.1 )n 1mf = (X1f X2f _X

31、nf) (公式 2.2 )n(2)计算标准化的度量值,或Z-SCOR如公式2.3所示。Xif -mfZif =- - (公式 2.3)这个平均的绝对偏差sf比标准的偏差对于孤立点具有更好的鲁棒性。在计算平 均绝对偏差时,度量值与平均值的偏差没有被平方,因此孤立点的影响在一定程度 上被减小了。虽然存在更好的对偏差的度量方法,例如中值绝对偏差(median absolute deviation),但采用平均绝对偏差的优点在于孤立点的 z-score值不会太小,因此孤立点仍可以被发现。2.二元变量一个二元变量只有两个状态:0或1, 0表示该变量为空,1表示该变量存在。二 元变量又分为对称和不对称,对称的二元变量的两个状态有相同的权重。如果两个 状态的输出不是同样重要,那么该二元变量的相似度称为恒定的相似度。3.标称型、序数型和比例标度型变量(1)标称变量标称变量是二元变量的推广,它可以具有多于两个的状态值。例如: map_color是一个标称变量,它有五个状态:红色、黄色、绿色、粉红色和蓝色。假设一个标 称变量的状态数目是 M每一个状态值可以用字母,符号或者一组整数来表示,则两 个对象i和j之间的相异度可以用简单匹配方法来计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1