聚类中K-means算法综述讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

攻读硕士学位研究生试卷(作业)封面(2015 至2016 学年度第一学期)

题目论文选读

科目聚类分析中K-means算法综述

姓名王苑茹

专业计算机技术

入学年月2015年8月

聚类分析中K-means算法综述

摘要:聚类分析是数据挖掘中一个极其重要的研究方向,是一个将数据划分成簇的方法或手段。聚类分析可广泛利用在商务智能,Web搜索,生物学以及图像模式识别等众多方面。本文主要叙述聚类分析中的K-means聚类算法,总结了K-means聚类算法的研究现状,并针对K-means算法的相关改进做了综述。

关键词:K-means聚类算法;数据子集;聚类中心;相似性度量和距离矩阵

Overview of K-means algorithm in

clustering analysis

Abstract:Clustering is major field in data mining which also is an important method of data partition or grouping. Clustering now has been applied into various ways in business intelligence,Web classification,biology,market and so on.In this paper, we introduce the spatial clustering rules,At the same time, the classical K-means algorithm is describe,And some related improvements to K-means algorithm are summarized.

Key words: K-means clustering algorithm; number of clusters K; cluster initialization; distance metric

1、引言

K-means聚类算法是1955年由Steinhaus、1957年Lloyed、1965年Ball & Hall、1967年McQueen分别在他们各自研究的不同的科学领域独立提出的。空间聚类分析方法是空间数据挖掘理论中一个重要的领域,是从海量数据中发现知识的一个重要手段。k-means算法是空间聚类算法中应用非常广泛的算法,同时它也在聚类分析中起着重要作用。日益丰富的空间和非空间数据收集存储于空间数据库中,随着空间数据的不断膨胀,海量的空间数据的大小、复杂性都在快速增长,远远超出了人们的解译能力,从这些空间数据中发现邻域知识迫切需求产生一个多学科、多邻域综合交叉的新兴研究邻域,空间数据挖掘技术应运而生。虽然k-means聚类算法被提出已经快60年了,但是目前仍然是应用最为广泛的划分聚类算法之一]1[。容易实施、简单、高效、成功的应用案例和经验是其仍然流行的主要原因。

本文主要叙述聚类分析中的K-means聚类算法,总结了K-means聚类算法的研究现状,并针对K-means算法的相关改进做了综述。

2、经典K-means算法

2.1 K-means算法

k-means 聚类算法是一种基于形心的划分技术,是数据挖掘领域最为常用的聚类方法之一,最初起源于信号处理领域。它的目标是划分整个样本空间为若干个子空间,每个子空间中的样本点距离该空间中心点平均距离最小。因此,k-means 是划分聚类的一种。

k-means 算法接受输入量k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。

大体上说,k-means 算法的工作过程说明如下:首先从n个数据对象任意选择k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度,分别将它们分配给与其最相似的聚类;然后再计算每个所获新聚类的聚类中心;不断重复这一过程直到标准测度函数开始收敛为止。一般都采

用均方差作为标准测度函数。 k 个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。

假设数据集D 包含n 个欧氏空间中的对象。划分方法把D 中的对象分配到K 个簇j C C ,...,1中,使得对象1≦i ,j ≤k,i C ⊂D 且i C ⋂j C =Ø,一个目标函数用来评估划分的质量,使得簇内对象相互相似,而与其他簇中的对象相异。也就是说,该目标函数以簇内高相似性和簇间低相似性为目标。

基于形心的划分i C 技术使用簇的形心代表该簇。对象s ∈i C 与该簇的代表i c 之差用dist (s ,i c )度量,其中dist (x ,y )=sqrt( ∑(21i i y x -)^2 ) 这里i=1,2..n 。

簇i C 的质量可以用簇内变差度量,它是i C 中所有对象和形心i c 之间的误差的平

方和,

α=21),(i c p k

i c s dist i ∈=∑∑ (1) 其中,α是数据集中所有对象的误差的平方和;s 是空间中的点,表示给定的数据对象;i c 是簇i C 的形心]2[。

2.2 k-means 算法流程

k-means 算法流程,首先,随机的选择k 个对象,每个对象初始地代表了一个聚类的平均值或中心,对剩下的各个对象,根据其与每个聚类中心的欧氏距离,将它派发给最相似的聚类。之后,应用更新之后的均值作为新的聚类中心,再重新分配全部对象。继续迭代,一直到分配趋于稳定,也就是本轮迭代所形成聚类与前一轮形成的聚类相同。

3、K-means 聚类算法的参数及其改进

k -means 聚类算法需要用户指定 3个参数:类别个数K ,初始聚类中心、相似性和距离度量。针对这3个参数,k -means 聚类算法出现了不同的改进和变种。

3.1 基于K 值的改进

在 k-means 算法中 k 是事先给定的,这个 k 值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适。这也是 k-means 算法的一个不足。有的算法是通过类的自动合并和分裂,得到较为合理的类型数目 K ,例如 ISODATA 算法。

1) 解决方法-聚类有效性函数

相关文档
最新文档