数据挖掘导论__第8章_聚类-2017-v3

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

聚类算法的分类

4. 基于网格的方法(density-based method) 基于网格的方法采用一个多分辨率的网格数据结构。它将数据空间 量化,并将其划分为有限数目的网格单元,所有的聚类操作都在网 格上进行。该算法的优势在于处理速度快,处理时间与数据对象的 数目无关。 基于网格的聚类方法有STING算法和CLIQUE算法等。
Iteration 5 1 2 3 4 6
3 2.5
2
1.5
y
1 0.5 0 -2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
K-means Clustering: Example
Iteration 1
3 3 2.5 2.5
Iteration 2
3 2.5
Iteration 3
2
2
2
1.5
1.5
1.5
基本K均值算法


K均值的算法步骤:首先选择K个初始质心,其中K是用户指定的参数, 即所期望的簇的个数。每个点指派到最近的质心,而指派到一个质心的 点集为一个簇。然后,根据指派到簇的点,更新每个簇的质心。重复指 派和更新步骤,直到簇不发生变化,或等价的,直到质心不发生变化。 算法流程如下:
K-means Clustering: Example
Totalcohesion cosine(x, ci )
i 1 xCi K
其它距离度量

K均值:邻近度、质心和目标函数的常见选择
邻近度函数 曼哈顿距离(L1) 质心 中位数 目标函数 最小化对象到其簇质心的L1距离和
平方欧几里得距离
余弦 Bregman散度
均值
均值 均值
最小化对象到其簇质心的L2距离的平方和
y
y
1
1
y
1 0.5 0.5 0 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2
0.5
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
x
x
Iteration 4
3 3 2.5 2.5
Iteration 5
3 2.5
Iteration 6
2
2
2
Inter-cluster distances are maximized
聚类分析的应用

旨在理解



生物学:分类、现类似功能的基因组 信息检索:将搜索结果分成若干簇 气候:分析极地和海洋大气压力模式 医学和心理学:识别不同类型的抑郁症 商业:将顾客划分成若干组

旨在实用 汇总数据 压缩数据 发现最近邻
8.2 K-均值聚类算法
8.2.1 基本K均值算法 基本K均值算法存在的问题
8.3 凝聚层次聚类
8.3.1 基本的凝聚层次聚类算法 8.3.2 如何计算簇之间的邻近性 8.3.4 层次聚类的主要问题
8.4 DBSCAN
不同的簇类型

Well-separated clusters(明显分离的簇) Center-based clusters(基于中心的簇) Contiguous clusters(基于邻近的簇) Density-based clusters (基于密度的簇) Property or Conceptual (概念簇)
3 2.5
2
Original Points
1.5
y
1 0.5 0 -2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
3
3
2.5
2.5
2
2
1.5
1.5
y
1
y
1 0.5 0.5 0 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2
-1.5
-1
-0.5
0
0.5
1
1.5
聚类算法的分类

3. 基于密度的方法(density-based method) 基于密度的方法与其他方法的一个最根本的区别是:它不是基于各 种各样的距离,而是基于密度的,它将簇看做是数据空间中被低密 度区域分割开的高密度对象区域,这种方法的优势是善于发现空间 数据库中任意形状的聚类。 基于密度的聚类根据空间密度的差别,把具有相似密度的点作为聚 类。由于密度是一个局部概念,这类算法又称为局部聚类(Local Clustering)。一般情况下,基于密度的聚类只扫描一次数据库,故 又称为是单次扫描聚类(Single Scan Clustering)。 基于密度的聚类方法主要:DBSCAN算法、DENCLUE算法。
第8章 聚类分析: 基本概念和算法
8.1 概述
8.1.1 什么是聚类分析 8.1.3 不同的簇类型 补充 聚类算法的分类
8.2 K-均值聚类算法
8.2.1 基本K均值算法 基本K均值算法存在的问题
8.3 凝聚层次聚类
8.3.1 基本的凝聚层次聚类算法 8.3.2 如何计算簇之间的邻近性 8.3.4 层次聚类的主要问题
8.1 概述
8.1.1 什么是聚类分析 8.1.3 不同的簇类型 补充 聚类算法的分类
8.2 K-均值聚类算法
8.2.1 基本K均值算法 基本K均值算法存在的问题
8.3 凝聚层次聚类
8.3.1 基本的凝聚层次聚类算法 8.3.2 如何计算簇之间的邻近性 8.3.4 层次聚类的主要问题
8.4 DBSCAN
8.4 DBSCAN
什么是聚类分析


聚类分析仅根据在数据中发现的描述对象及其关系的信息,将数据对象 分组。其目标是, 组内的对象之间是相似的(相关的),而不同的组 中的对象是不同的(不相关的)。 组内的相似性(同质性)越大,组间差别越大,聚类就越好。
Intra-cluster distances are minimized
最大化对象与其簇质心的余弦相似度和 最小化对象到其簇质心的Bregman散度和
8.1 概述
8.1.1 什么是聚类分析 8.1.3 不同的簇类型 补充 聚类算法的分类
8.2 K-均值聚类算法
8.2.1 基本K均值算法 基本K均值算法存在的问题
8.3 凝聚层次聚类
8.3.1 基本的凝聚层次聚类算法 8.3.2 如何计算簇之间的邻近性 8.3.4 层次聚类的主要问题
Clustering precipitation in Australia
簇(Cluster)的定义是不精确的
How many clusters?
Two Clusters
Four Clusters
Six Clusters
8.1 概述
8.1.1 什么是聚类分析 8.1.3 不同的簇类型 补充 聚类算法的分类
1.5
1.5
1.5
y
y
1
1
y
1 0.5 0.5 0 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2
0.5
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
x
x
K-均值聚类的距离度量与目标函数

虑邻近度量为欧几里得距离的数据, 度量聚类质量最常用的是误差的平方和(Sum of Squared Error, SSE) 对于每个点, 其误差是到最近质心的距离 为了得到 SSE, 我们对每个点的误差求平方和
8.1 概述
8.1.1 什么是聚类分析 8.1.3 不同的簇类型 补充 聚类算法的分类
8.2 K-均值聚类算法
8.2.1 基本K均值算法 基本K均值算法存在的问题
8.3 凝聚层次聚类
8.3.1 基本的凝聚层次聚类算法 8.3.2 如何计算簇之间的邻近性 8.3.4 层次聚类的主要问题
8.4 DBSCAN
聚类算法的分类

大体上,主要的聚类算法可以划分为如下几类: 划分方法 层次方法 基于密度的方法 基于网格的方法
聚类算法的分类

1. 划分方法(partition method) 给定一个有N个元组或者记录的数据集,划分方法将构造 K个分组, 每一个分组就代表一个聚类,K<N。而且这K分组满足下列条件: 1)每一个分组至少包含一个数据记录; 2)每一个数据记录隶属于且仅属于一个分组; 对于给定的K,算法首先给出一个初始的分组方法,以后通过反复 迭代的方法改变分组,使得每一次改进之后分组方案都较前一次好, 所谓的“好”的标准就是同一分组的记录越相似越好,而不同分组 中的记录则越相异越好。 最著名与最常用的划分方法是k-均值方法和k-中心点方法。
8.2 K-均值聚类算法 K-means Clustering
K-means Clustering

K均值是基于原型的、划分的聚类技术。 典型的基于原型的、划分的聚类算法: K均值、 K中心点。 K均值用质心定义原型,其中质心是一组点的均值。 K均值聚类用 于n维连续空间中的对象。它试图发现用户指定个数(K)的簇(由 质心代表)。 K中心点使用中心点定义原型,其中中心点是一组点中最有代表性 的点。K中心点聚类可以用于广泛的数据,因为它只需要对象之间 的邻近性度量。尽管质心几乎从来不对应实际的数据点,但是根据 定义,中心点必须是一个实际的数据点。
8.4 DBSCAN
基本K均值算法存在的问题

不同的初始质心将收敛得到不同的目标函数,可能只能达到局部最优解。 随机选取初始质心,拙劣的初始质心,可能导致很糟糕的聚类结果。 可能产生空簇 容易受到离群点的影响 不能处理非球形簇、不同尺寸和不同密度的簇。
基本K均值算法存在的问题

不同的初始质心导致不同的SSE
SSE dist 2 (ci , x)
wenku.baidu.comi 1 xCi

K
x是簇 Ci 的点, ci 是簇Ci的代表点 1 可以证明 ci 对应于簇的质心(均值) ci
mi
xCi
x

给定两个聚类, 我们可以选择具有最小SSE的聚类
其它距离度量

K-means也可以用于非欧氏空间数据 例, 文档数据 通常, 文档用余弦相似性度量 距离是相异性度量, 而余弦是相似性度量 质心仍然用均值 最近的质心是最相似的质心 目标: 最大化簇中文档与簇的质心的相似性 总凝聚度(total cohesion)
不同的簇类型



明显分离的簇 : 簇是对象的集合,不同组中的任意两点之间的距离都大于组内任意 两点之间的距离。 基于原型的簇(基于中心的簇) 簇是对象的集合,其中每个对象到定义该簇的原型的距离比到其他 簇的原型的距离更近(或更加相似)。对于具有连续属性的数据, 簇的原型通常是质心,即簇中所有点的平均值。当质心没有意义是, 原型通常是中心点,即簇中最有代表性的点。这种簇倾向于呈球状。 基于图的(基于邻近的簇) : 如果数据用图表示,其中节点是对象,而边代表对象之间的联系, 则簇可以定义为连通分支,即互相连通但不与组外对象连通的对象 组。基于图的簇一个重要例子就是基于临近的簇,其中两个对象是 相连的,仅当他们的距离在指定的范围之内。也就是说,每个对象 到该簇某个对象的距离比不同簇中的任意点的距离更近。 基于密度的: 簇是对象的稠密区域,被低密度的区域环绕。当簇不规则或互相盘 绕,并且有噪声和离群点时,常常使用基于密度的簇定义。
8.4 DBSCAN
8.1 概述
8.1 概述
8.1.1 什么是聚类分析 8.1.3 不同的簇类型 补充 聚类算法的分类
8.2 K-均值聚类算法
8.2.1 基本K均值算法 基本K均值算法存在的问题
8.3 凝聚层次聚类
8.3.1 基本的凝聚层次聚类算法 8.3.2 如何计算簇之间的邻近性 8.3.4 层次聚类的主要问题
聚类算法的分类

2. 基于层次的方法(hierarchical method) 一个层次的聚类方法是将数据对象组成一棵聚类的树。根据层次分 解是自底向上还是自顶向下形成,层次的聚类方法可以进一步分为 聚合式层次聚类(agglomerative)和分裂式层次聚类(divisive)。 聚合式的层次聚类,其层次过程的方向是自底向上的。将样本集合 中的每个对象作为一个初始簇,然后将最近的两个簇合并,组成新 的簇,再将这个新簇与剩余的簇中最近的合并,这种合并过程需要 反复进行,直到所有的对象最终被聚到一个簇中。 分裂式的层次聚类,其层次过程的方向是自顶向下的,最初先将有 关对象放到一个簇中,然后将这个簇分裂,分裂的原则是使两个子 簇之间的聚类尽可能的远,分裂的过程也反复进行,直到某个终止 条件被满足时结束。不论是合并还是分解的过程,都会产生树状结 构,树的叶子节点对应各个独立的对象,顶点对应一个包含了所有 对象的簇。 常见的层次聚类算法有:BIRCH算法、CURE算法、ROCK算法等。
相关文档
最新文档