一种基于聚类的数据挖掘方法的研究
- 格式:doc
- 大小:146.00 KB
- 文档页数:11
基于聚类的数据挖掘方法的研究 1 一种基于聚类的数据挖掘方法的研究
周艳明 东华大学 信息科学与技术学院 2111071
摘 要 本文介绍了数据挖掘的研究背景,给出了数据挖掘的定义,由数据挖
掘的一般过程中阐述了挖掘与分析数据的重要性。从而寻求数据挖掘的方法即:预估模型、聚类、链接分析、时间序列分析。本文着重介绍聚类分析方法,阐述了聚类分析方法的一般步骤及其类型:层次聚类、密度聚类、分割聚类。文章最后从k-means聚类算法的原理、一般过程及算法流程作了详细的阐述,最后由一个简单的实例,通过MATLAB的编程基本上实现了K-means聚类算法的基本功能,并总结出了K-means算法的优缺点。
关键字:数据挖掘,聚类,K-MEANS 基于聚类的数据挖掘方法的研究
2 1研究背景概述
像银行、证券公司、保险公司和大多数金融服务机构一样,许多组织在日常的业活动过程中产生并存储了大量数据。但是,绝大多数组织尚未把他们的数据转换为有价值的资本,形成这种局面的原因是蕴藏于数据之中的信息并不十分容易被发现。为了有效地参与当今的市场竞争,决策者们必须甄别和合理的运用蕴藏于历史数据中的有价值信息,这样发掘和利用隐藏于历史数据中的信息的过程,数据挖掘就应运而生了。 数据挖掘的定义[1]如下: 数据挖掘是一个从大型数据库、数据仓库和数据集市中提取以前未知的、正确的和易于理解的信息,并使用这些信息做出战略上的和业务的商业决策的过程。 由数据挖掘定义可以简单归纳出数据挖掘的目的就是从数据库和数据仓库中提取有价值的信息并用于决策。为了实现这样一个目的,总结出了典型数据挖掘过程的8个步骤[2]:定义业务目标、甄别数据源、收集数据、选择数据、数据质量检测、数据转换、挖掘并分析数据和结果解释,如图-1所示。
定义业务目标数据源数据收集与选择数据转换挖掘并分析数据结果解释 图-1 数据挖掘过程图示 从上述过程可以看出,挖掘并分析数据是所有数据挖掘项目的核心部分。概括而言,数据挖掘分析员可以使用的数据挖掘方法[3]主要有如下几个。 (1)预估模型,包括分类和预估两种类型。 (2)聚类技术。 (3)链接分析。 (4)时间序列分析。
2 聚类分析 2.1 聚类的定义 聚类分析广义上[4]是人们认识和探索事物内在联系的一种手段,成语“物以 基于聚类的数据挖掘方法的研究 3 类聚,人以群分”是这一理念的最朴素和直观的反映,其目的是将一个数据集划
分为若干聚类(Cluster),并使得同一个聚类内的数据对象具有较高的相似度,而不同于聚类中的数据对象则是不相似的。 具体来说,聚类是把具有相似特征的数据记录聚集在一起,并以这种方式进行识别,或者对客户与数据记录进行分组的过程。换言之,聚类是根据所选择的属性对记录进行分组的过程。
2.2 聚类方法分析 聚类方法有很多种,它们可能会产生不同的聚类结果,这取决于计算哪些属性变量、使用什么样的距离度量以及如何计算度量的属性。聚类的主要步骤[5]为如下。 (1)定义距离的度量方法或任意两个个体之间的相似性。 (2)选择一个实用的算法并使用距离度量形成聚类。 (3)对分析主题给出有意义的解释和描述。 使用最普遍的距离计算方法是Euclidean距离[6],它定义为: )()'(),(jijijixxxxxxd 基于此,聚类的方法可以分成3个类型[7]:层次聚类、密度聚类、分割聚类。 2.2.1 层次聚类 层次聚类就是对给定的数据进行层次的分解,直到某条件满足为止。各种层次聚类方法之间的主要不同在于所使用的相似性度量方法和包含一个以上个体的聚类之间的距离或相似性的定义。,实现方法包括最短距离法、最远距离法、平均连接法、Ward’ s法、重心法等,在此不作赘述。 一般的层次聚类的过程如下: (1)开始时每个个体组成一个聚类。 (2)在每一阶段,最相似的聚类成对合并形成新的聚类。聚类的数目每次降低一半。 (3)在任一阶段,每个聚类是由前一阶段的聚类形成的,并且具有层次的属性。一旦两个个体合并在一起,它们在后面的阶段将以一个整体出现,而不会再被分开到不同的聚类。最后,所有的个体将成为一个聚类。 基于聚类的数据挖掘方法的研究 4 (4)该方法可以用二维的方式拜师为一个系统族谱图,它以继承的形式表
示出每层的合并或划分操作。 (5)最后,聚类数目的选择是主观的。 2.2.2 密度聚类 基于密度的方法可用来过滤“噪声”孤立点数据,以发现任意现状的簇。其主要思想是只要临近区域的密度(样本数目)超过某个阈值,则继续聚类,即对给定簇中的每个样本,在一个给定范围的区域中必须至少包含某一数目的样本。主要包括K近邻方法和统一核密度方法。 2.2.3 分割聚类 分割聚类技术用来把项而不是变量划分为k个聚类的集合。聚类的数量k既可以事先指定,也可以作为聚类过程中的一部分得到。由于距离矩阵不必指定并且在计算过程中无需对数据排序,所以适合于较大的数据集。主要包括K均值方法和Wong’s Hydride聚类方法。
3 聚类算法 3.1 K-MEANS算法 K-MEANS算法以K为参数,把N个对象分为K个簇,以使簇内具有较高的相似度,而簇间的相似度较低。相似度的计算根据一个簇中的平均值(视为簇重心)进行。K-means算法的处理过程为:(1)随机选择K个对象,每个对象初始代表一个簇的平均值或中心。对剩余的每个对象,根据其与各个簇中心的距离,将它赋给最近的簇。(2)重新计算每个簇的平均值。这个过程不断重复,直至准则函数收敛到期望值。由于实际应用中对象数据选用的度量单位将直接影响聚类分析结果,不同度量单位可能产生迥异的聚类结构,因此为避免对度量单位选择的依赖,实际中应先对数据进行标准化处理。标准化的步骤如下:
给定一个变量f的度量值, (1)计算平均绝对误差fS fffffffmymymypSp21
1 基于聚类的数据挖掘方法的研究 5 其中,pffyy1是变量f的p个度量值;fm是f的平均值即:
pffffyyypm211
(2)计算标准化的度量值ifx piSmyxffffii,2,1, 用于判断的准则函数通常采用均方误差和,定义为: kiCpiimpE12
其中,E是数据库中所有对象的均方误差总和;p表示给定的数据对象;im是簇iC中数据对象的加权平均值(p和im都是多维的);簇iC的数目取决待划分类数。 每个对象与簇中心的距离采用欧几里德距离,其定义为: 222
2211,ppjijijixxxxxxjid
其中ppjjjiiixxxjxxxi,,,,,,,2121是2个p维的数据对象。该算法试图找出
使均方误差函数值最小的K个划分,令生成的结果尽量紧凑、独立。 K-MEANS算法流程 输入 簇的数目K和N个对象的数据库 输出 K个簇,满足均方误差函数值最小 步骤: (1)任意选择K个对象作为初始簇中心(也是初始平均值); (2)对K个对象数据度量值进行标准化处理; (3)Repeat; (4)计算分配后每个簇中对象的平均值(第一次按初始平均值); (5)根据簇中对象平均值,重新将每个对象赋给最类似的簇; (6)Until对象的重新分配不再变化。 基于聚类的数据挖掘方法的研究 6 3.2 实例仿真
设有样本集合为14,21,16,32,26,10,9,5,1X,将X聚为3类。随机选择三个X中的对象作为初始的聚类中心。在本文程序中选择的为1,5,9。得到的结果如图-2所示:
图-2 K-means聚类结果 每一次迭代计算出的聚类中心如下述矩阵所示:
可见在第5次迭代时,得到的3个簇与第四次迭代的结果相同,此时准则函数E
收敛,迭代结束。并由此计算出收敛时的准则函数值为: 43.101E 4 总结 K-MEANS算法是一种爬山式的搜索算法。这种算法简单、快速。但仍存在以下不足: (1)该算法只有在聚类的平均值被定义的情况下才能使用,对某些应用来讲,这很难做到,如涉及有分类属性的数据; 基于聚类的数据挖掘方法的研究 7 (2)该算法对初值比较敏感,对于不同的初始值,可能会导致不同的聚类
结果; (3)该算法要求用户事前给定要生成的的聚类个数,k的选择是一个比较困难的问题,一般情况下,这与具体问题有关,用户需要选择若干个k值进行试验; (4)该算法是基于梯度下降的方法,由于标准测度函数局部极小值点的存在以及算法的“贪心性”,算法可能陷入局部最优,从而无法达到全局最优。 因此在选择聚类算法时,要针对具体问题具体分析,选择合适的、或更优的算法。
参考文献 [1] 刘世平.数据挖掘技术及应用.北京:高等教育出版社,2010.1 [2] 朱玉全.数据挖掘技术.南京:东南大学出版社,2006.11 [3] Roiger.R.J.数据挖掘教程.北京:清华大学出版社,2003 [4] 陈 燕.数据挖掘技术与应用.北京:清华大学出版社,2011.5 [5] 边肇祺.模式识别.北京:清华大学出版社,2000.1