聚类分析简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
◦ 采用与区间标度变量同样的方法——标度可能被扭曲,效果 往往不好 ◦ 对比例标度型变量进行对数变化之后进行与区间标度变量的 相似处理 ◦ 将xif看作连续的序数型数据,将其秩作为区间标度的值来对 待
yif = log(xif)
在真实的数据库中,数据对象不是被一种类型的度量 所描述,而是被多种类型(即混合类型)的度量所描 述,包括:
◦ 每个组至少包含一个对象 ◦ 每个对象属于且仅属于一个组
划分准则:同一个聚类中的对象尽可能的接近或相关, 不同聚类中的对象尽可能的原理或不同 类的表示
◦ k-平均算法
◦ k中心点算法
由类的平均值来代表整个类 由处于类的中心区域的某个值代表整个类
给定n个对象的数据集,以及要生成的类的数目k, 划分算法将对象组织为k个划分(k n)每个划分代 表一个类
◦ 通常通过计算对象间距离进行划分
典型的划分方法
◦ k均值 ◦ k中心点 ◦ 以上两种方法的变种
1. 随机选择k个对象,每个对象代表一个类的初始均值或中 心 2. 对剩余的每个对象,根据它与类均值的距离,将他指派 到最相似的类 3. 计算每个类的新均值 4. 回到步骤2,循环,直到准则函数收敛
Name Jack Mary Jim Gender M F M Fever Y Y Y Cough N N P Test-1 P P N Test-2 N N N Test-3 N P N Test-4 N N N
Name是对象标识 gender是对称的二元变量 其余属性都是非对称的二元变量 如过Y和P(positive阳性)为1,N为0,则:
上式中,q为正整数,如果q=1则表示Manhattan距离,如果 q=2则表示Euclidean距离
d (i, j) q (| x x |q | x x |q ... | x x |q ) i1 j1 i2 j2 ip jp
一个二元变量只有两种状态:0或1;
◦ e.g. smoker来表示是否吸烟
0 1 2 3 4 5 6 7 8 9 10
6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
0
以用户年龄来进行分组
◦ 年龄:15,15,16,19,19,20,20,21,22,28,35,40,41,42,43,44,60,61,65 Centroid (C1) = 16 [16] Centroid (C2) = 22 [22] C1 = 15.33 [15,15,16] C2 = 36.25 [19,19,20,20,21,22,28,35,40,41,42,43,44,60,61,65 C1 = 18.56 [15,15,16,19,19,20,20,21,22] C2 = 45.90 [28,35,40,41,42,43,44,60,61,65] C1 = 19.50 [15,15,16,19,19,20,20,21,22,28] C2 = 47.89 [35,40,41,42,43,44,60,61,65] C1 = 19.50 [15,15,16,19,19,20,20,21,22,28] C2 = 47.89 [35,40,41,42,43,44,60,61,65]
常用准则函数:平方误差准则
类的相似度是关于类中对象的均值度量,可以看作 类的质心(centroid) k均值算法流程
E pCi p mi
k i 1
2
(p是空间中的点,mi是类Ci的均值)
10
10 9 8 7 6 5
10
9
9
8
8
7
7
6
6
5
5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
聚类:数据对象的集合
◦ 在同一个聚类中的对象彼此相似 ◦ 不同聚类中的对象则差别较大
聚类分析
◦ 将物理或抽象对象的集合分组成为由类似的对象组成的多个 类的过程
聚类是一种无指导的学习:没有预定义的类别,观察 式学习
◦ 发现合适的类 ◦ 形成对每个类的描述
如何定义相似度?
◦ 聚类依赖于对“相似”的定义
d (i, j) | x x | | x x | ... | x x | i1 j1 i2 j 2 ip jp
◦ Manhattan距离和Euclidean距离的性质
d(i,j) 0 d(i,i) = 0 d(i,j) = d(j,i) d(i,j) d(i,k) + d(k,j) ◦ Minkowski距离
聚类分析算法种类繁多,具体的算法选择取决于数据 类型,聚类的应用和目的,常用的聚类算法包括:
◦ ◦ ◦ ◦ ◦ ◦ 基于划分方法 基于层次的方法 基于密度的方法 基于网格的方法 基于模型的方法 基于神经网络的方法
来自百度文库
实际应用中的聚类算法,往往是上述聚类方法中多种 方法的整合
给定一个n个对象或元组的数据库,一个划分方法构 建数据的k个划分,每个划分表示一个类,并且 k<=n。
一个对象可以包含多个二元变量。 二元变量的可能性表:
◦ 如何计算两个二元变量之间的相似度?
Object j
1
Object i
0 b d
sum a b cd p
1 0
a c
sum a c b d
对称的 VS. 不对称的 二元变量
◦ 对称的二元变量指变量的两个状态具有同等价值,相同权重; e.g. 性别 ◦ 基于对称的二元变量的相似度称为恒定的相似度,可以使用 简单匹配系数评估它们的相异度:
空间数据分析
◦ 在GIS系统中,对相似区域进行聚类,产生主题地图 ◦ 检测空间聚类,并给出它们在空间数据挖掘中的解释 ◦ 图像处理
商务应用中,帮市场分析人员发现不同的顾客群 互联网
◦ 对WEB上的文档进行分类 ◦ 对WEB日志的数据进行聚类,以发现相同的用户访问模式
许多基于内存的聚类算 法采用以下两种数据结 构
d (i, j)
◦ 不对称的二元变量中,变量的两个状态的重要性是不同的; e.g. HIV阳性 VS HIV阴性 ◦ 基于不对称的二元变量的相似度称为非恒定的相似度,可以 使用Jaccard系数评估它们的相异度
d (i, j) bc a bc
bc a bc d
P228 例8.1 二元变量之间的相异度 (病人记录表)
选用何种分组方法?
◦ 数据类型,聚类的应用及目的。常用:层次、划分、密度、 网格、模型、神经网络
如何评价聚类结果?
◦ “哇”准则
如何得到好的聚类结果?
◦ 最重要的是结合业务形成对每个类的描述 ◦ 一般要重复执行多次聚类,选择合适的结果
一个好的聚类分析方法会产生高质量的聚类
◦ 高类内相似度 ◦ 低类间相似度
作为统计学的一个分支,聚类分析的研究主要是基 于距离的聚类;一个高质量的聚类分析结果,将取 决于所使用的聚类方法
◦ 聚类方法的所使用的相似性度量和方法的实施 ◦ 方法发现隐藏模式的能力
聚类分析的数据挖掘功能
◦ 作为一个独立的工具来获得数据分布的情况 ◦ 作为其他算法(如:特征和分类)的预处理步骤
◦ 数据矩阵:用p个变量来 表示n个对象 ◦ 相异度矩阵:存储n个对 象两两之间的相似度
也叫二模矩阵,行与列代 表不同实体
x11 ... x i1 ... x n1
... x1f ... ... ... xif ... ... ... xnf
... x1p ... ... ... xip ... ... ... xnp
◦ 区间标度度量、对称二元变量,不对称二元变量,标称变量,
序数型变量合比例标度变量
计算混合型变量描述的对象之间的相异度
◦ 将变量按类型分组,对每种类型的变量进行单独的聚类分析
在每种聚类分析导出相似结果的情况下可行
◦ 所有变量一起处理,进行一次聚类分析,可以将不同类型的 变量组合在单个相异度矩阵中,把所有有意义的变量转换到 共同的值域区间[0,1]之内
将每个 对象指 派到最 相似的 类
4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
更新每 个类的 均值
4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
重新分派…
10
10 9 8 7
重新分派
K=2 随机选择2个对象, 作为类的中心
9
8
7 6
5
4 3 2 1
更新每 个类的 均值
替 ◦ 2. 将每个变量的值域映射到[0,1]的空间
rif 1 zif M f 1 ◦ 3. 采用区间标度变量的相异度计算方法计算f的相 异度
一个比例标度型变量xif是在非线性的标度中所取的正 的度量值,例如指数标度,近似的遵循以下公式: AeBt or Ae-Bt 计算比例标度型变量描述的对象之间的相异度
◦ 方法一:简单匹配方法
m: 匹配的数目,即对象i和j取值相同的变量的数目 (也可加上权重)
◦ 方法二:对M个标称状态中的每个状态创建一个新的二元变量,并 用非对称的二元变量来编码标称变量
红 绿 蓝 黄 取值
m d (i, j) p p
0
0
1
0
0
1
0
0
绿
蓝
。。。。。。
一个序数型变量可以是离散的或者是连续的 序数型变量的值之间是有顺序关系的,比如: 讲师、副教授、正教授。 假设f是描述n个对象的一组序数型变量之一,f 的相异度计算如下: ◦ 1. 设第i个对象的f值为xif,则用它在值中的序rif代 rif {1,...,M f }
对象间的相似度和相异 度是基于两个对象间的 距离来计算的
◦ Euclidean距离
d (i, j) (| x x |2 | x x |2 ... | x x |2 ) i1 j1 i2 j2 ip jp i=(xi1,xi2,…,xip)和 j=(xj1,xj2,…,xjp)是两个p 维数据对象 ◦ Manhattan距离
◦ ◦ ◦ ◦ 区间标度变量 二元变量 标称型、序数型和比例标度型变量 混合类型的变量
区间标度度量是一个粗略线性标度的连续度量,比如重量、高度 等 选用的度量单位将直接影响聚类分析的结果,因此需要实现度量 值的标准化,将原来的值转化为无单位的值,给定一个变量f的度 量值,可使用以下方法进行标准化: ◦ 计算平均的绝对偏差
01 0.33 2 01 11 d ( jack, jim ) 0.67 111 1 2 d ( jim, mary) 0.75 11 2 d ( jack, mary)
标称变量是二元变量的推广,它可以具有多于两个的状态值。 比如:红、绿、蓝、黄。对于标称型变量,值之间的排列顺序 是不重要的。 计算标称变量所描述的对象(一个对象可以包含多个标称变量) i和j之间的相异度
随机选择初始类中心:
◦ ◦
根据初始聚类中心分组并重新计算新的类中心:
◦ ◦
重复执行流程2&3:
◦ ◦
重复执行流程2&3 :
◦ ◦
聚类结果:
◦ ◦
可扩展性较好,算法复杂度为O(nkt),其中n为对 象总数,k是类的个数,t是迭代次数。 经常终止于局部最优解 缺点
◦ 只有当类均值有定义的情况下,k均值方法才能使用。 (某些分类属性的均值可能没有定义) ◦ 用户必须首先给定类数目 ◦ 不适合发现非凸形状的类,或者大小差别很大的类 ◦ 对噪声和离群点数据敏感
也叫单模矩阵,行和列代 表相同的实体
0 d(2,1) 0 d(3,1 ) d ( 3, 2 ) : : d ( n,1) d ( n,2)
0 : ... ... 0
许多聚类算法都是以相异度矩阵为基础,如果数据 是用数据矩阵形式表示,则往往要将其先转化为相 异度矩阵。 相异度d(i,j)的具体计算会因所使用的数据类型不同 而不同,常用的数据类型包括:
◦ 其中
sf 1 n (| x1 f m f | | x2 f m f | ... | xnf m f |)
.
mf 1 n (x1 f x2 f ... xnf ) ◦ 计算标准化的度量值(z-score) xif m f zif sf ◦ 使用平均的绝对偏差往往比使用标准差更具有健壮性
yif = log(xif)
在真实的数据库中,数据对象不是被一种类型的度量 所描述,而是被多种类型(即混合类型)的度量所描 述,包括:
◦ 每个组至少包含一个对象 ◦ 每个对象属于且仅属于一个组
划分准则:同一个聚类中的对象尽可能的接近或相关, 不同聚类中的对象尽可能的原理或不同 类的表示
◦ k-平均算法
◦ k中心点算法
由类的平均值来代表整个类 由处于类的中心区域的某个值代表整个类
给定n个对象的数据集,以及要生成的类的数目k, 划分算法将对象组织为k个划分(k n)每个划分代 表一个类
◦ 通常通过计算对象间距离进行划分
典型的划分方法
◦ k均值 ◦ k中心点 ◦ 以上两种方法的变种
1. 随机选择k个对象,每个对象代表一个类的初始均值或中 心 2. 对剩余的每个对象,根据它与类均值的距离,将他指派 到最相似的类 3. 计算每个类的新均值 4. 回到步骤2,循环,直到准则函数收敛
Name Jack Mary Jim Gender M F M Fever Y Y Y Cough N N P Test-1 P P N Test-2 N N N Test-3 N P N Test-4 N N N
Name是对象标识 gender是对称的二元变量 其余属性都是非对称的二元变量 如过Y和P(positive阳性)为1,N为0,则:
上式中,q为正整数,如果q=1则表示Manhattan距离,如果 q=2则表示Euclidean距离
d (i, j) q (| x x |q | x x |q ... | x x |q ) i1 j1 i2 j2 ip jp
一个二元变量只有两种状态:0或1;
◦ e.g. smoker来表示是否吸烟
0 1 2 3 4 5 6 7 8 9 10
6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
0
以用户年龄来进行分组
◦ 年龄:15,15,16,19,19,20,20,21,22,28,35,40,41,42,43,44,60,61,65 Centroid (C1) = 16 [16] Centroid (C2) = 22 [22] C1 = 15.33 [15,15,16] C2 = 36.25 [19,19,20,20,21,22,28,35,40,41,42,43,44,60,61,65 C1 = 18.56 [15,15,16,19,19,20,20,21,22] C2 = 45.90 [28,35,40,41,42,43,44,60,61,65] C1 = 19.50 [15,15,16,19,19,20,20,21,22,28] C2 = 47.89 [35,40,41,42,43,44,60,61,65] C1 = 19.50 [15,15,16,19,19,20,20,21,22,28] C2 = 47.89 [35,40,41,42,43,44,60,61,65]
常用准则函数:平方误差准则
类的相似度是关于类中对象的均值度量,可以看作 类的质心(centroid) k均值算法流程
E pCi p mi
k i 1
2
(p是空间中的点,mi是类Ci的均值)
10
10 9 8 7 6 5
10
9
9
8
8
7
7
6
6
5
5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
聚类:数据对象的集合
◦ 在同一个聚类中的对象彼此相似 ◦ 不同聚类中的对象则差别较大
聚类分析
◦ 将物理或抽象对象的集合分组成为由类似的对象组成的多个 类的过程
聚类是一种无指导的学习:没有预定义的类别,观察 式学习
◦ 发现合适的类 ◦ 形成对每个类的描述
如何定义相似度?
◦ 聚类依赖于对“相似”的定义
d (i, j) | x x | | x x | ... | x x | i1 j1 i2 j 2 ip jp
◦ Manhattan距离和Euclidean距离的性质
d(i,j) 0 d(i,i) = 0 d(i,j) = d(j,i) d(i,j) d(i,k) + d(k,j) ◦ Minkowski距离
聚类分析算法种类繁多,具体的算法选择取决于数据 类型,聚类的应用和目的,常用的聚类算法包括:
◦ ◦ ◦ ◦ ◦ ◦ 基于划分方法 基于层次的方法 基于密度的方法 基于网格的方法 基于模型的方法 基于神经网络的方法
来自百度文库
实际应用中的聚类算法,往往是上述聚类方法中多种 方法的整合
给定一个n个对象或元组的数据库,一个划分方法构 建数据的k个划分,每个划分表示一个类,并且 k<=n。
一个对象可以包含多个二元变量。 二元变量的可能性表:
◦ 如何计算两个二元变量之间的相似度?
Object j
1
Object i
0 b d
sum a b cd p
1 0
a c
sum a c b d
对称的 VS. 不对称的 二元变量
◦ 对称的二元变量指变量的两个状态具有同等价值,相同权重; e.g. 性别 ◦ 基于对称的二元变量的相似度称为恒定的相似度,可以使用 简单匹配系数评估它们的相异度:
空间数据分析
◦ 在GIS系统中,对相似区域进行聚类,产生主题地图 ◦ 检测空间聚类,并给出它们在空间数据挖掘中的解释 ◦ 图像处理
商务应用中,帮市场分析人员发现不同的顾客群 互联网
◦ 对WEB上的文档进行分类 ◦ 对WEB日志的数据进行聚类,以发现相同的用户访问模式
许多基于内存的聚类算 法采用以下两种数据结 构
d (i, j)
◦ 不对称的二元变量中,变量的两个状态的重要性是不同的; e.g. HIV阳性 VS HIV阴性 ◦ 基于不对称的二元变量的相似度称为非恒定的相似度,可以 使用Jaccard系数评估它们的相异度
d (i, j) bc a bc
bc a bc d
P228 例8.1 二元变量之间的相异度 (病人记录表)
选用何种分组方法?
◦ 数据类型,聚类的应用及目的。常用:层次、划分、密度、 网格、模型、神经网络
如何评价聚类结果?
◦ “哇”准则
如何得到好的聚类结果?
◦ 最重要的是结合业务形成对每个类的描述 ◦ 一般要重复执行多次聚类,选择合适的结果
一个好的聚类分析方法会产生高质量的聚类
◦ 高类内相似度 ◦ 低类间相似度
作为统计学的一个分支,聚类分析的研究主要是基 于距离的聚类;一个高质量的聚类分析结果,将取 决于所使用的聚类方法
◦ 聚类方法的所使用的相似性度量和方法的实施 ◦ 方法发现隐藏模式的能力
聚类分析的数据挖掘功能
◦ 作为一个独立的工具来获得数据分布的情况 ◦ 作为其他算法(如:特征和分类)的预处理步骤
◦ 数据矩阵:用p个变量来 表示n个对象 ◦ 相异度矩阵:存储n个对 象两两之间的相似度
也叫二模矩阵,行与列代 表不同实体
x11 ... x i1 ... x n1
... x1f ... ... ... xif ... ... ... xnf
... x1p ... ... ... xip ... ... ... xnp
◦ 区间标度度量、对称二元变量,不对称二元变量,标称变量,
序数型变量合比例标度变量
计算混合型变量描述的对象之间的相异度
◦ 将变量按类型分组,对每种类型的变量进行单独的聚类分析
在每种聚类分析导出相似结果的情况下可行
◦ 所有变量一起处理,进行一次聚类分析,可以将不同类型的 变量组合在单个相异度矩阵中,把所有有意义的变量转换到 共同的值域区间[0,1]之内
将每个 对象指 派到最 相似的 类
4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
更新每 个类的 均值
4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
重新分派…
10
10 9 8 7
重新分派
K=2 随机选择2个对象, 作为类的中心
9
8
7 6
5
4 3 2 1
更新每 个类的 均值
替 ◦ 2. 将每个变量的值域映射到[0,1]的空间
rif 1 zif M f 1 ◦ 3. 采用区间标度变量的相异度计算方法计算f的相 异度
一个比例标度型变量xif是在非线性的标度中所取的正 的度量值,例如指数标度,近似的遵循以下公式: AeBt or Ae-Bt 计算比例标度型变量描述的对象之间的相异度
◦ 方法一:简单匹配方法
m: 匹配的数目,即对象i和j取值相同的变量的数目 (也可加上权重)
◦ 方法二:对M个标称状态中的每个状态创建一个新的二元变量,并 用非对称的二元变量来编码标称变量
红 绿 蓝 黄 取值
m d (i, j) p p
0
0
1
0
0
1
0
0
绿
蓝
。。。。。。
一个序数型变量可以是离散的或者是连续的 序数型变量的值之间是有顺序关系的,比如: 讲师、副教授、正教授。 假设f是描述n个对象的一组序数型变量之一,f 的相异度计算如下: ◦ 1. 设第i个对象的f值为xif,则用它在值中的序rif代 rif {1,...,M f }
对象间的相似度和相异 度是基于两个对象间的 距离来计算的
◦ Euclidean距离
d (i, j) (| x x |2 | x x |2 ... | x x |2 ) i1 j1 i2 j2 ip jp i=(xi1,xi2,…,xip)和 j=(xj1,xj2,…,xjp)是两个p 维数据对象 ◦ Manhattan距离
◦ ◦ ◦ ◦ 区间标度变量 二元变量 标称型、序数型和比例标度型变量 混合类型的变量
区间标度度量是一个粗略线性标度的连续度量,比如重量、高度 等 选用的度量单位将直接影响聚类分析的结果,因此需要实现度量 值的标准化,将原来的值转化为无单位的值,给定一个变量f的度 量值,可使用以下方法进行标准化: ◦ 计算平均的绝对偏差
01 0.33 2 01 11 d ( jack, jim ) 0.67 111 1 2 d ( jim, mary) 0.75 11 2 d ( jack, mary)
标称变量是二元变量的推广,它可以具有多于两个的状态值。 比如:红、绿、蓝、黄。对于标称型变量,值之间的排列顺序 是不重要的。 计算标称变量所描述的对象(一个对象可以包含多个标称变量) i和j之间的相异度
随机选择初始类中心:
◦ ◦
根据初始聚类中心分组并重新计算新的类中心:
◦ ◦
重复执行流程2&3:
◦ ◦
重复执行流程2&3 :
◦ ◦
聚类结果:
◦ ◦
可扩展性较好,算法复杂度为O(nkt),其中n为对 象总数,k是类的个数,t是迭代次数。 经常终止于局部最优解 缺点
◦ 只有当类均值有定义的情况下,k均值方法才能使用。 (某些分类属性的均值可能没有定义) ◦ 用户必须首先给定类数目 ◦ 不适合发现非凸形状的类,或者大小差别很大的类 ◦ 对噪声和离群点数据敏感
也叫单模矩阵,行和列代 表相同的实体
0 d(2,1) 0 d(3,1 ) d ( 3, 2 ) : : d ( n,1) d ( n,2)
0 : ... ... 0
许多聚类算法都是以相异度矩阵为基础,如果数据 是用数据矩阵形式表示,则往往要将其先转化为相 异度矩阵。 相异度d(i,j)的具体计算会因所使用的数据类型不同 而不同,常用的数据类型包括:
◦ 其中
sf 1 n (| x1 f m f | | x2 f m f | ... | xnf m f |)
.
mf 1 n (x1 f x2 f ... xnf ) ◦ 计算标准化的度量值(z-score) xif m f zif sf ◦ 使用平均的绝对偏差往往比使用标准差更具有健壮性