chap4_聚类分析(2)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 不同的聚类模式都有以下一个或多个问题:
➢对噪音和异常点敏感 ➢处理不同大小的簇和凸起的形状的簇比较困难 ➢分割大的类
基于密度的聚类算法 DBSCAN聚类算法
DBSCAN
• DBSCAN是一个基于 密度的聚类算法.
• 基于密度的聚类是寻 找被低密度区域分离 的高密度区域。
密度的定义
传统的密度定义:基于中心的方法
Eps = 10, MinPts = 4
DBSCAN算法概念
Eps邻域:给定对象半径Eps内的邻域称为该对象的Eps邻
域,我们用 NEps (表p)示点p的Eps-半径内的点的集合,
即: NEps ( p) {q | q在数据集D中,distance(p, q) Eps}
核心对象:如果对象的Eps邻域至少包含最小数目 MinPts的对象,则称该对象为核心对象。 边界点:边界点不是核心点,但落在某个核心点的邻域 内。 噪音点:既不是核心点,也不是边界点的任何点
2 5
2
41
36 1
4 3
0.25
0.2
0.15
0.1
0.05
0
3
6
4
1
2
5
嵌套簇
聚类树图
层次聚类:组平均
• 介于单链和全链 • 强度
受噪音和异常点影响小些
• 局限性
➢ 对球形的数据聚类误差明显
层次聚类:比较
3 5
2 2
5 1
1 36
4 4
最小距离
最大距离
4
2
5
2
1 5
3
36 1
4
2 5
2
3 4
0.05
0
3
6
2
5
4wk.baidu.com
1
聚类树图
基于最小距离聚类的强度
原始点集
• 擅长能够处理非椭圆形的数据
两个聚类
基于最小距离聚类的局限性
原始点
• 对噪声和异常点敏感
两个聚类
2 基于全链(最大距离)的邻近度度量
• MAX邻近度的定义为:
➢ 两个不同簇中任意两点之间的最长距离
层次聚类: 基于最大距离(全链)
4 2 5
4
5 1
36 1
组平均距离
层次聚类的其它问题
(1) 时间空间复杂度
• O(N2) 空间复杂度,因为它使用邻近度矩阵.
➢N是点的个数.
• 大多数情况下时间复杂度为O(N3)
➢有N步,每步为N2 ➢在某些方法下时间复杂度可以降到O(N2 log(N) )
(2) 优点与缺点
• 如果两个类被合并,那么将不能被恢复
1 基于单链(最小距离)的邻近度度量
• MIN邻近度的定义为:
➢ 两个不同簇中任意两点之间的最短距离
• 使用图的术语:
➢ 从所有点作为单点簇开始,每次在点之间加上一 条链,最短的链先加,则这些链将点合并成簇。
基于单链(最小距离)的邻近度度量
3 5
2 2
5 1
1 36
4 4
嵌套簇
0.2
0.15
0.1
• 它们可以应用于一些有意义的分类学
➢生物科学中的例子 (例如, 动物界, 语系重建, …)
• 层次聚类的两个主要类型
➢凝聚的(Agglomerative):
从点作为个体簇开始 每一步合并两个最接近的簇,直到只剩下一个簇(或
k个簇)
➢分裂的(Divisive):
从包含所有点的一个簇开始 每一步分裂一个簇,直到只剩下单点簇(或者有k个
Two Clusters
3 基于组平均的簇间相似度度量
• 两个簇的相似度为两个簇内点对相似度的 平均值.
proximity(pi ,pj)
piClusteri
proximity(C
lusteri
,
C
lusterj
)
p jCluster j
|Clusteri
||C
lusterj
|
层次聚类:组平均
5
2
3 4
1 5
36 1
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
3
6
4
1
2
5
嵌套的聚类
聚类树图
基于最大距离聚类的强度
Original Points
Two Clusters
• 对噪音和异常点不是太敏感
基于最大距离的聚类的局限性
Original Points
•倾向于划分大的簇 •对球形的数据聚类误差明显
• 边界点(border point):在半径Eps内点的数 量小于MinPts,但是在核心点的邻居
• 噪音点(noise point):任何不是核心点或边 界点的点.
DBSCAN: 核心点、边界点和噪音点
DBSCAN: 核心点、边界点和噪音点
Original Points
Point types: core, border and noise
p1
p2 p3
p4 p5
. .
. 邻近度矩阵
如何定义簇间的相似度
最小距离(单链)
组平均
最大距离(全链)
中心点的距离
给定一个样本数据,具体探讨各层 次聚类算法
样本数据
• 样本数据为6个二维点,坐标及二维图如下:
1 5
2 36
4
点 X坐标 Y坐标 p1 0.4005 0.5306 p2 0.2148 0.3854 p3 0.3457 0.3156 p4 0.2652 0.1875 p5 0.0789 0.4139 p6 0.4548 0.3022
• 传统基于中心的密度定义为:
➢ 数据集中特定点的密度通过该点Eps半径之内的 点计数(包括本身)来估计。
➢ 显然,密度依赖于半径。
DBSCAN
• 基于密度定义,我们将点分为:
➢ 稠密区域内部的点(核心点) ➢ 稠密区域边缘上的点(边界点) ➢ 稀疏区域中的点(噪声或背景点).
DBSCAN
• 核心点(core point) :在半径Eps内含有超过 MinPts数目的点,则该点为核心点 ➢ 这些点都是在簇内的
基于层次的聚类算法
层次聚类
• 产生一组嵌套的簇,这些簇由一个层次结构的 树结构组织
• 可以用树状图显示
➢类似于树的图,显示簇-子簇联系和簇合并(凝聚) 的 次序
0.2
0.15
0.1
0.05
0
1
3
2
5
4
6
6
5
4 3
2
4 5
2
1
3
1
层次聚类的优点
• 不需要确定簇的数量
➢簇的数量可以通过在适当层中切割树图得到
簇)
• 传统的层次聚类算法使用相似度或距离矩阵
➢每一次只合并或分裂一个簇
凝聚层次聚类算法例
图4.4 两种不同层次聚类算法
基本凝聚层次聚类算法
• 基本凝聚层次聚类算法简单易懂
1. 计算邻近度矩阵 2. 每个点作为一个簇 3. Repeat 4. 合并最接近的两个簇 5. 更新邻近度矩阵 6. Until 仅剩下一个簇
• 关键的操作是计算两个簇之间的邻近度
➢ 簇的邻近性定义区分了各种凝聚层次技术
簇的邻近度度量
簇的邻近度度量
➢最小距离(也叫单链) ➢最大距离(也叫全链) ➢组平均 ➢中心点间的距离
如何定义簇间的相似度(邻近度)
相似度?
• 最小距离 • 最大距离 • 组平均 • 中心点间的距离
p1 p2 p3 p4 p5 . . .
➢对噪音和异常点敏感 ➢处理不同大小的簇和凸起的形状的簇比较困难 ➢分割大的类
基于密度的聚类算法 DBSCAN聚类算法
DBSCAN
• DBSCAN是一个基于 密度的聚类算法.
• 基于密度的聚类是寻 找被低密度区域分离 的高密度区域。
密度的定义
传统的密度定义:基于中心的方法
Eps = 10, MinPts = 4
DBSCAN算法概念
Eps邻域:给定对象半径Eps内的邻域称为该对象的Eps邻
域,我们用 NEps (表p)示点p的Eps-半径内的点的集合,
即: NEps ( p) {q | q在数据集D中,distance(p, q) Eps}
核心对象:如果对象的Eps邻域至少包含最小数目 MinPts的对象,则称该对象为核心对象。 边界点:边界点不是核心点,但落在某个核心点的邻域 内。 噪音点:既不是核心点,也不是边界点的任何点
2 5
2
41
36 1
4 3
0.25
0.2
0.15
0.1
0.05
0
3
6
4
1
2
5
嵌套簇
聚类树图
层次聚类:组平均
• 介于单链和全链 • 强度
受噪音和异常点影响小些
• 局限性
➢ 对球形的数据聚类误差明显
层次聚类:比较
3 5
2 2
5 1
1 36
4 4
最小距离
最大距离
4
2
5
2
1 5
3
36 1
4
2 5
2
3 4
0.05
0
3
6
2
5
4wk.baidu.com
1
聚类树图
基于最小距离聚类的强度
原始点集
• 擅长能够处理非椭圆形的数据
两个聚类
基于最小距离聚类的局限性
原始点
• 对噪声和异常点敏感
两个聚类
2 基于全链(最大距离)的邻近度度量
• MAX邻近度的定义为:
➢ 两个不同簇中任意两点之间的最长距离
层次聚类: 基于最大距离(全链)
4 2 5
4
5 1
36 1
组平均距离
层次聚类的其它问题
(1) 时间空间复杂度
• O(N2) 空间复杂度,因为它使用邻近度矩阵.
➢N是点的个数.
• 大多数情况下时间复杂度为O(N3)
➢有N步,每步为N2 ➢在某些方法下时间复杂度可以降到O(N2 log(N) )
(2) 优点与缺点
• 如果两个类被合并,那么将不能被恢复
1 基于单链(最小距离)的邻近度度量
• MIN邻近度的定义为:
➢ 两个不同簇中任意两点之间的最短距离
• 使用图的术语:
➢ 从所有点作为单点簇开始,每次在点之间加上一 条链,最短的链先加,则这些链将点合并成簇。
基于单链(最小距离)的邻近度度量
3 5
2 2
5 1
1 36
4 4
嵌套簇
0.2
0.15
0.1
• 它们可以应用于一些有意义的分类学
➢生物科学中的例子 (例如, 动物界, 语系重建, …)
• 层次聚类的两个主要类型
➢凝聚的(Agglomerative):
从点作为个体簇开始 每一步合并两个最接近的簇,直到只剩下一个簇(或
k个簇)
➢分裂的(Divisive):
从包含所有点的一个簇开始 每一步分裂一个簇,直到只剩下单点簇(或者有k个
Two Clusters
3 基于组平均的簇间相似度度量
• 两个簇的相似度为两个簇内点对相似度的 平均值.
proximity(pi ,pj)
piClusteri
proximity(C
lusteri
,
C
lusterj
)
p jCluster j
|Clusteri
||C
lusterj
|
层次聚类:组平均
5
2
3 4
1 5
36 1
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
3
6
4
1
2
5
嵌套的聚类
聚类树图
基于最大距离聚类的强度
Original Points
Two Clusters
• 对噪音和异常点不是太敏感
基于最大距离的聚类的局限性
Original Points
•倾向于划分大的簇 •对球形的数据聚类误差明显
• 边界点(border point):在半径Eps内点的数 量小于MinPts,但是在核心点的邻居
• 噪音点(noise point):任何不是核心点或边 界点的点.
DBSCAN: 核心点、边界点和噪音点
DBSCAN: 核心点、边界点和噪音点
Original Points
Point types: core, border and noise
p1
p2 p3
p4 p5
. .
. 邻近度矩阵
如何定义簇间的相似度
最小距离(单链)
组平均
最大距离(全链)
中心点的距离
给定一个样本数据,具体探讨各层 次聚类算法
样本数据
• 样本数据为6个二维点,坐标及二维图如下:
1 5
2 36
4
点 X坐标 Y坐标 p1 0.4005 0.5306 p2 0.2148 0.3854 p3 0.3457 0.3156 p4 0.2652 0.1875 p5 0.0789 0.4139 p6 0.4548 0.3022
• 传统基于中心的密度定义为:
➢ 数据集中特定点的密度通过该点Eps半径之内的 点计数(包括本身)来估计。
➢ 显然,密度依赖于半径。
DBSCAN
• 基于密度定义,我们将点分为:
➢ 稠密区域内部的点(核心点) ➢ 稠密区域边缘上的点(边界点) ➢ 稀疏区域中的点(噪声或背景点).
DBSCAN
• 核心点(core point) :在半径Eps内含有超过 MinPts数目的点,则该点为核心点 ➢ 这些点都是在簇内的
基于层次的聚类算法
层次聚类
• 产生一组嵌套的簇,这些簇由一个层次结构的 树结构组织
• 可以用树状图显示
➢类似于树的图,显示簇-子簇联系和簇合并(凝聚) 的 次序
0.2
0.15
0.1
0.05
0
1
3
2
5
4
6
6
5
4 3
2
4 5
2
1
3
1
层次聚类的优点
• 不需要确定簇的数量
➢簇的数量可以通过在适当层中切割树图得到
簇)
• 传统的层次聚类算法使用相似度或距离矩阵
➢每一次只合并或分裂一个簇
凝聚层次聚类算法例
图4.4 两种不同层次聚类算法
基本凝聚层次聚类算法
• 基本凝聚层次聚类算法简单易懂
1. 计算邻近度矩阵 2. 每个点作为一个簇 3. Repeat 4. 合并最接近的两个簇 5. 更新邻近度矩阵 6. Until 仅剩下一个簇
• 关键的操作是计算两个簇之间的邻近度
➢ 簇的邻近性定义区分了各种凝聚层次技术
簇的邻近度度量
簇的邻近度度量
➢最小距离(也叫单链) ➢最大距离(也叫全链) ➢组平均 ➢中心点间的距离
如何定义簇间的相似度(邻近度)
相似度?
• 最小距离 • 最大距离 • 组平均 • 中心点间的距离
p1 p2 p3 p4 p5 . . .