数据挖掘聚类分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SEMINAR
数据挖掘中的聚类分析算法研究
SEMINAR
结构 • 一、聚类分析 • 二、聚类分析中的数据结构和数据类型 • 三、聚类分析算法分类
1.1聚类分析
SEMINAR
• 聚类分析( clustering analysis )
聚类是把一组个体按照相似性划分成若干个类别, 跟平常说的“物以类聚”相似。由聚类所生成的簇是一 组数据对象的集合,这些对象与同一个簇中的对象彼此 相似,与其他簇中的对象相异。在许多应用中,可以将 一个簇中的数据对象作为一个整体来对待。
1.2聚类分析与其他分类或预测的不同 SEMINAR
聚类与其他分类或预测的不同
(1)大多数分类方法都是演绎的,即人们事先确定某种事物 分类的准则或各类别的标准,分类的过程就是比较分类的要 素与各类别标准,然后将各要素划归于各类别中。确定事物 的分类准则或各类别的标准或多或少带有主观色彩。 (2)聚类分析是归纳的,不需要事先确定分类的准则来分析 数据对象,不考虑己知的类标记。一般情况下,训练数据中 不提供类标记,聚类的目标就是通过聚类算法产生这种标记。
3.聚类分析算法分类
SEMINAR
在该算法中,一次迭代中把每一个数据对象分到离它最 近的聚类中心所在类,这个过程的时间复杂度为O(nkd),这 里的n指的是总的数据对象个数,k指定的聚类数,d是数据对 象的维数;新的分类产生以后需要计算新的聚类中心,这个过 程的时间复杂度为O(nd)。因此,这个算法一次迭代需要的总 的时间复杂度为O(nkd)。 例:假设给定如下要进行聚类的元组: {2,4,10,12,3,20,30,11,25} 假设要求的簇的数量为k=2。 应用K一means算法: 第一步:初始时用前两个数值作为簇的质心,这两个簇的质 心是:m1=2;m2=4;
2.聚类分析中的数据结构和数据类型 SEMINAR
简单匹配系数:
Jaccard系数
2.聚类分析中的数据结构和数据类型 SEMINAR
3)标称型变量 标称变量是二元变量的推广,它可以有多于两个状态 值,状态之间是无序的。 两个对象i和j之间的差异度可用简单匹配法来计算:
其中,m是对象xi和xj中匹配的属性个数,而p是全部 属性个数。
2.聚类分析中的数据结构和数据类型 SEMINAR
(2)数据类型 聚类分析起源于统计学,传统的分析方法大多是在 数值类型数据的基础上研究的。然而数据挖掘的对象复 杂多样,要求聚类分析的方法不仅能够对属性为数值类 型的数据进行,而且要适应数据类型的变化。 1)区间标度变量 区间标度变量是一个粗略线性标度的连续度量。典 型的例子则包括重量和高度,经度和纬度坐标,以及摄 氏或华氏温度等。 数据之间纯在差异性,同时多个属性肯那个有不同 的度量单位,所以在计算数据相似性之前要进行数据的 标准化。
2.聚类分析中的数据结构和数据类型 SEMINAR
2)二元变量 二元变量只有两个状态:0和1。其中二元变量又分 为对称的二元变量和不对称的二元变量。前者是指变量的 两个状态不具有优先权,后者对于不同的状态其重要性是 不同的。 对于二元变量,度量两个变量的差异度可以由简单匹 配系数(对称的情况)和Jaccard系数(非对称的情况)决定。 设两个对象xi和xj,q是属性值在两个对象中都为1的属性 个数,r是属性值在xi中为1而在xj中为0的属性个数,s是属 性值在xi中为0而在xj中为1的属性个数,t是属性值在两个 对象中都为0的属性个数。则
这里的SSE是数据库中所有对象的平方误差总和,p为数 据对象,mi是簇Ci的平均值。这个准则函数使生成的结果尽可 能的紧凑和独立。
3.聚类分析算法分类
SEMINAR
K 均值算法的形式化描述如下: K-means 算法: 输入:具有 n 个数据对象的数据集,聚类结果中簇的个数 k。 输出: 满足准则函数的 k 个聚类。 处理过程: (1) 在数据集里任意选择 k 个对象,然后将每个数据对象代表 初始聚类的中心; (2) 将剩下的数据划分到和数据本身相距最近的簇心的簇中; (3) 重新计算每个簇的均值得到新的簇心值 (4) 重复(2)到(3)一直到每个簇不再发生变化或者目标函数收敛 结束
3.聚类分析算法分类
SEMINAR
第二步:对剩余的每个对象,根据其与各个簇中心的 距离,将它赋给最近的簇,可得: K1=(2,3}; K2={4,10,12,20,30,11,25}; 数值3与两个均值的距离相等,所以任意的选择K1作为其 所属的簇。 第三步:计算新的质心: m1=(2+3)/2=2.5; m2=(4+10+12+20+30+11+25)/7=16; 重新对簇中的成员进行分配可得K1 ={2,3,4}和K2 ={10,12,20,30,11,25},
SEMINAR
(1)基于划分的方法 划分算法的思想是,将给定待挖掘数据集中的数 据对象划分成 K 组(k ≤ N,N代表数据集中对象数 目),每一组表示一个聚类的簇。并且要满足任何一 个数据对象仅可以属于一个聚类,每个聚类中至少具 有一个数据对象。 K-medoids 和 K-means 算法是划分算法中两个 比较经典的算法。其他很多划分算法都是从这两个算 法演变改进而来的。
2.聚类分析中的数据结构和数据类型 SEMINAR
4)序数型变量 序数型变量类似于标称型变量,但它的各个状态是有 意义的序列。 序数型变量值的相对顺序是必要的,而其实际的大小 则不那么重要。一个序数型变量的值可以映射为秩。假设 一个变量f有m个状态,这些有序的状态定义了一个序列 1,…,m,关于f的相异度计算步骤如下: ① 第i个对象的f值为xif,变量f有m个有序的状态,对应于序 列1,…,m。用对应的秩rif代替xif,rif ∈ {1,…,m} ② 每个序数型变量有不同数目的状态,为了使每个变量都 有相同的权重,我们将每个变量的值域映射到[0.0,1.0]上:
2.聚类分析中的数据结构和数据类型 SEMINAR
如果属性p是序数型或比例标度型变量:将其转化为区间 标度变量值对待。
3.聚类分析算法分类
Sபைடு நூலகம்MINAR
聚类分析算法分类 聚类分析技术通常可分为五大类,分别是基于划分的 聚类,基于层次的聚类,基于密度的聚类,基于网格的聚 类以及基于模型的聚类。
3.聚类分析算法分类
1.3数据挖掘对聚类的典型要求 SEMINAR
(8)基于约束的聚类 在实际应用当中可能需要在各种约束条件下进行聚类。 找到既要满足特定的约束,又要具有良好聚类特性的数据 分组是一项具有挑战性的任务。我们希望聚类算法可以在 考虑这些限制的情况下,仍具有较好的表现。 (9)可解释性和可用性 聚类的结果最终都是要面向用户的,用户期望聚类得 到的信息是可理解和可应用的。
① 对比例标度型变量进行对数变换,变换得到的值采用区间 标度变量的方法来处理。 ② 将比例标度型变量看做连续的序数型数据,将其秩作为区 间标度的值来对待。 6)混合类型的变量 以上讨论了各种数据类型和创门差异度的计算方法, 在实际数据库中,数据对象是由混合类型的变量描述的。 在实际聚类分析中,将不同的类型属性组合在同一个差异 度矩阵中进行计算。设数据包含m个不同类型的属性,对象 xi和xj之间的差异度定义为:
1.3数据挖掘对聚类的典型要求 SEMINAR
数据挖掘对聚类的典型要求
(1)可伸缩性 可伸缩性是指算法不论对于小数据集还是对于大数 据集,都应是有效的。 (2)处理不同字段类型的能力 算法不仅要能处理数值型数据,还要有处理其它类型 字段的能力,包括分类/标称类型(categorical/nominal), 序数型(ordinal),二元类型(binary),或者这些数据类型的 混合。
2.聚类分析中的数据结构和数据类型 SEMINAR
数据标准化处理以后就可以进行属性值的相似性测量, 通常是计算对象间的距离。 对于n维向量xi和xj,有以下几种距离函数: ① 欧氏距离
② 曼哈顿距离
2.聚类分析中的数据结构和数据类型 SEMINAR
③ 概化的明考斯基(Minkowski)距离
当m=2时,明考斯基D2即为欧氏距离;当m=1时,明考 斯基D1即为曼哈顿距离。
2.聚类分析中的数据结构和数据类型 SEMINAR
其中zif是rif映射后的值。 ③ 采用zif作为第i个对象的f值,计算相异度,可以采用任意 一种距离度量方法。 5)比例标度型变量 比例标度型变量就是在非线性的标度上所获得的正测 量值。 对于此种类型的变量,一般采用以下两种方法计算相 异度。
2.聚类分析中的数据结构和数据类型 SEMINAR
3.聚类分析算法分类
SEMINAR
1.K-means(k均值)算法 K-means算法的相似度计算根据一个簇中对象的平均值 即簇的质心来进行,它的处理过程如下:首先,随机地选择k 个对象作为初始的k个簇的质心;然后对剩余的每个对象,根 据其与各个质心的距离,将它赋给最近的簇;再后重新计算每 个簇的质心。这个过程不断重复,直到准则函数收敛。通常采 用的准则函数为平方误差和准则函数,即SSE(sum of the squared error),其定义如下:
2.聚类分析中的数据结构和数据类型 SEMINAR
2)相异度矩阵(对象-对象结构) 它存储n个对象两两之间的差异性,表现形式是n×n维的矩阵。
2.聚类分析中的数据结构和数据类型 SEMINAR
其中d(i,j)是对象i和对象j之间相异性的量化表示,通常 为非负数,且d(i,j)=d(j,i),d(i,i)=。对象i和对象j越相似, 则d(i,j)越接近于0,对象i和对象j的差异越大,则d(i,j)越大。 相异度矩阵通常用距离公式计算得到。
3.聚类分析算法分类
不断重复这个过程可得:
SEMINAR
注意在最后两步中簇的成员是一致的。由于均值不 再变化,所以均值已经收敛了。因此,该问题的答案为 K1={2,3,4,10,11,12}和K2 ={20,30,25}。
3.聚类分析算法分类
SEMINAR
K-means优缺点: 此聚类分析算法伸缩性良好,并且针对大型数据集效率 很高。 初始的 K-means 算法缺点如下:(1)初始聚类中心选择 的好与坏将会对聚类结果的质量产生很大影响;(2)算法很容 易陷入局部最优解,有时会产生较差的结果;(3)算法开始时 要求用户给出聚类簇的个数 k,而对于 K 值的选择还没有很 好的准则可循;(4)对噪声敏感;(5)只能在可以定义聚类的平 均值的条件下才可以应用,即适合处理数值属性的数据 (6)聚 类的最终结果也许会出现不平衡现象,不适合发现那些非凸 面形状的簇或者大小差别非常大的簇。
1.3数据挖掘对聚类的典型要求 SEMINAR
(6)能够处理噪声数据 现实世界中的数据库常常包含了孤立点、空缺、未知 数据或有错误的数据。一些聚类算法对于这样的数据敏感,可 能导致低质量的聚类结果。所以我们希望算法可以在聚类过 程中检测代表噪声和离群的点,然后删除它们或者消除它们 的负面影响。 (7)结果对于输入记录顺序不敏感 一些聚类算法对于输入数据的顺序是敏感的。对于同一 个数据集合,以不同的顺序提交给同一个算法时,可能产生 差别很大的聚类结果,这是我们不希望的。
2.聚类分析中的数据结构和数据类型 SEMINAR
聚类分析中的数据结构和数据类型
(1)数据结构 许多基于内存的少类算法选择如下两种有代表性的数据 结构。 1)数据矩阵(对象-变量结构) 数据矩阵是一张关系表的形式,每列代表对象的一个属性, 每个元组代表一个数据对象。 具有p个属性的n个对象(例如,人可以用年龄,身高, 体重,性别,种族等来描述)可以看成如下n×p(n个对象×p 个属性)的矩阵。
1.3数据挖掘对聚类的典型要求 SEMINAR
(3)能够发现任意形状的聚类 有些簇具有规则的形状,如矩形和球形。但是,更 一般地,簇可以具有任意形状。 (4)用于决定输入参数的领域知识最小化 在聚类分析当中,许多聚类算法要求用户输入一定 的参数,如希望簇的数目。聚类结果对于输入参数很敏 感,通常参数较难确定,尤其是对于含有高维对象的数 据集更是如此。 (5)处理高维数据的能力 既可处理属性较少的数据,又能处理属性较多的数 据。很多聚类算法擅长处理低维数据,一般只涉及两到 三维,通常最多再加二维的情况下能够很好地判断聚类 的质量。
相关文档
最新文档