数据挖掘之聚类分析学习笔记(1)
聚类分析
聚类(clustering)就是将数据对象分组成为多个类或簇(cluster),在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。相异度是基于描述对象的属性值来计算的。距离是经常采用的度量方式。聚类分析源于许多研究领域,包括数据挖掘,统计学,生物学,以及机器学习。
将物理或抽象对象的集合分组成为由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。在许多应用中,一个簇中的数据对象可以被作为一个整体来对待
“聚类的典型应用是什么?”在商业上,聚类能帮助市场分析人员从客户基本库中发现不同的客户群,并且用购买模式来刻画不同的客户群的特征。
聚类也能用于对Web 上的文档进行分类,以发现信息。作为一个数据挖掘的功能,聚类
分析能作为一个独立的工具来获得数据分布的情况,观察每个簇的特点,集中对特定的某些簇作进一步的分析。此外,聚类分析可以作为其他算法(如分类等)的预处理步骤,这些算法再在生成的簇上进行处理
作为统计学的一个分支,聚类分析已经被广泛地研究了许多年,主要集中在基于距离的聚类分析。基于k-means(k-平均值),k-medoids(k-中心)和其他一些方法的聚类分析工具已经被加入到许多统计分析软件包或系统中,例如S-Plus,SPSS,以及SAS。
在机器学习领域,聚类是无指导学习(unsupervised learning)的一个例子。与分类不同,聚类和无指导学习不依赖预先定义的类和训练样本。由于这个原因,聚类是通过观察学习,而不是通过例子学习。
在概念聚类(conceptual clustering)中,一组对象只有当它们可以被一个概念描述时才形成一个簇。这不同于基于几何距离来度量相似度的传统聚类。概念聚类由两个部分组成:(1)发现合适的簇;(2)形成对每个簇的描述。在这里,追求较高类内相似度和较低类间相似度的指导原则仍然适用。
活跃的研究主题集中在聚类方法的可伸缩性,方法对聚类复杂形状和类型的数据的有效性,
高维聚类分析技术,以及针对大的数据库中混合数值和分类数据的聚类方法。
数据挖掘对聚类的典型要求如下:
n 可伸缩性:许多聚类算法在小于200 个数据对象的小数据集合上工作得很好;但是,一个大规模数据库可能包含几百万个对象,在这样的大数据集合样本上进行聚类可能会导致有
偏的结果。我们需要具有高度可伸缩性的聚类算法。
处理不同类型属性的能力:许多算法被设计用来聚类数值类型的数据。但是,应用可能要
求聚类其他类型的数据,如二元类型(binary),分类/标称类型(categorical/nominal),序数
型(ordinal)数据,或者这些数据类型的混合。
n 发现任意形状的聚类:许多聚类算法基于欧几里得或者曼哈顿距离度量来决定聚类。基于这样的距离度量的算法趋向于发现具有相近尺度和密度的球状簇。但是,一个簇可能是任
意形状的。提出能发现任意形状簇的算法是很重要的。
n 用于决定输入参数的领域知识最小化:许多聚类算法在聚类分析中要求用户输入一定的参数,例如希望产生的簇的数目。聚类结果对于输入参数十分敏感。参数通常很难确定,特
别是对于包含高维对象的数据集来说。这样不仅加重了用户的负担,也使得聚类的质量难
以控制。
n 处理“噪声”数据的能力:绝大多数现实中的数据库都包含了孤立点,缺失,或者错误的数据。一些聚类算法对于这样的数据敏感,可能导致低质量的聚类结果。
n 对于输入记录的顺序不敏感:一些聚类算法对于输入数据的顺序是敏感的。例如,同一个数据集合,当以不同的顺序交给同一个算法时,可能生成差别很大的聚类结果。开发对数
据输入顺序不敏感的算法具有重要的意义。
n 高维度(high dimensionality):一个数据库或者数据仓库可能包含若干维或者属性。许多聚类算法擅长处理低维的数据,可能只涉及两到三维。人类的眼睛在最多三维的情况下能
够很好地判断聚类的质量。在高维空间中聚类数据对象是非常有挑战性的,特别是考虑到
这样的数据可能分布非常稀疏,而且高度偏斜。
n 基于约束的聚类:现实世界的应用可能需要在各种约束条件下进行聚类。假设你的工作是在一个城市中为给定数目的自动提款机选择安放位置,为了作出决定,你可以对住宅区进
行聚类,同时考虑如城市的河流和公路网,每个地区的客户要求等情况。要找到既满足特
定的约束,又具有良好聚类特性的数据分组是一项具有挑战性的任务。
n 可解释性和可用性:用户希望聚类结果是可解释的,可理解的,和可用的。也就是说,聚类可能需要和特定的语义解释和应用相联系。应用目标如何影响聚类方法的选择也是一个
重要的研究课题。