第九章 聚类
此系列文章旨在提炼周志华《机器学习》的核心要点,不断完善中…
9.1 聚类任务
无监督学习:训练样本标记位置,学习揭示内在规律,分类任务等前驱过程
将数据集划分为若干互不相交的子集(簇:cluster)
9.2 性能度量
1、概念
- 内相似度(intra-cluster similarity)
- 簇间相似度(inter-cluster similarity)
2、指标
-
外部指标(external index):将聚类结果与某个参考模型(reference model)进行比较
常用的聚类性能度量外部指标(a=∣SS∣,b=∣SD∣,c=∣DS∣,d=∣DD∣):
- Jaccard系数(Jaccard Coefficient, JC):JC=a+b+ca
- FM指数(Fowlkes and Mallows Index, FMI):FMI=a+ba∗a+ca
- Rand指数(Rand Index, RI):RI=m(m−1)2(a+d)
-
内部指标(internal index):直接考察结果
聚类结果的簇划分C={C1,C2,…Ck},定义:
- avg(C)=∣C∣(∣C∣−1)2∑1≤i<j≤∣C∣dist(xi,xj)
- diam(C)=max1≤i<j≤∣C∣dist(xi,xj)
- dmin(Ci,Cj)=minxi∈Ci,xj∈Cjdist(xi,xj)
- dcen(Ci,Cj)=dist(μi,μj)
导出内部指标
- DB指数(Davies-Bouldin Index, DBI):
DBI=k1i=1∑kmaxj=i(dcen(Ci,Cj)avg(Ci)+avg(Cj))
- Dunn指数(Dunn Index, DI):
DI=min1≤i≤k{minj=i(max1≤l≤kdiam(Cl)dmin(Ci,Cj))}
- DBI越小越好,DI越大越好
9.3 距离计算
1、距离度量的基本性质
非负性:dist(xi,xj)≥0
同一性:dist(xi,xj)=0当且仅当xi=xj
对称性:dist(xi,xj)=dist(xj,xi)
直递性:dist(xi,xj)≤dist(xi,xk)+dist(xk,xj)(三角不等式)
2、最常用:闵可夫斯基距离(Minkowski distance)
distmk(xi,xj)=(u=1∑n∣xiu−xju∣p)p1
p=∞:切贝雪夫距离
p=2:欧式距离:disted(xi,xj)=∣∣xi−xj∣∣2=∑u=1n∣xiu−xju∣2
p=1:曼哈顿距离:distman(xi,xj)=∣∣xi−xj∣∣1=∑u=1n∣xiu−xju∣2
3、几个概念
连续属性/离散属性:定义域上有无穷/有限取值
有序属性:可采用闵可夫斯基距离
无序属性:可采用VDM(Value Difference Metric):VDMp(a,b)=i=1∑k∣mu,amu,a,i−mu,bmu,b,i∣
相似度度量:非度量距离(距离大相似小,未必满足度量距离性质,尤其直递性)
距离度量学习:基于数据样本来确定合适的距离计算式
4、一些做法
将闵可夫斯基距离和VDM结合(可处理混合属性):
加权闵可夫斯基距离(样本空间不同属性的重要性不同时):
9.4 原型聚类
0、基本想法:假设聚类结构能通过一组原型刻画(在现实聚类任务中极为常用)
1、k均值算法
2、学习向量量化(Learning Vector Quantization, LVQ)
- 假设数据样本带有类别标记,学习过程利用样本的这些监督信息来辅助聚类
- 算法
- Voronoi划分
Ri={x∈X∣ ∣∣x−pi∣∣2≤∣∣x−pi′∣∣2,i′=i}
- 算法测试结果
3、高斯混合聚类(Mixture of Gaussian)
- 多元高斯分布概率密度函数:p(x)=(2π)2n∣Σ∣211e−21(x−μ)TΣ−1(x−μ)
- 高斯混合分布函数:pM(x)=∑i=1kαi∗p(x∣μi,Σi)
性质:k个混合成分组成(每个对应一个高斯分布)
混合系数:∑i=1kαi=1
- 假设样本生成过程由高斯分布给出
1.根据a1,a2,…ak定义的先验分布选择高斯混合成分(ai为选择第i个混合成分概率)
2.根据被选择的混合成分的概率密度函数进行采样,生成相应的样本
3.若训练集D由上述过程生成,令随机变量zj={1,2,…k}表示生成样本xj的高斯混合成分,取值未知
4.样本xj由第i个高斯混合成分生成的后验概率
- 模型参数求解
极大似然估计
采用EM算法进行迭代优化求解
- 算法
9.5 密度聚类
0、基本想法:假设聚类结构能通过样本分布的紧密程度决定
1、著名密度聚类算法DBSCAN(Density-Based Spatial Clustering of Applications with Noise)
- 思想:基于一组领域参数来刻画样本分布的紧密程度
- 基本概念
- ε-邻域:对xj∈D,其ϵ-邻域包含样本集D中与xj的距离不大于ϵ的样本,即Nϵ(xj)={xj∈D∣dist(xi,xj)≤ϵ}
- 核心对象:若xj的ϵ-邻域至少包含MinPts个样本,即∣Nϵ(xj)∣≥MinPts,则xj是一个核心对象
- 密度直达:若xj位于xi的ϵ-邻域中,且xi是核心对象,则称xj由xi密度直达
- 密度可达:对xi与xj,若存在样本系列p1,p2,...pn,其中p1=xi,pn=xj且pi+1由pi密度直达,则称xj由xi密度可达
- 密度相连:对xi与xj,若存在xk使得xi与xj均由xk密度可达,则称xi与xj密度相连
- DBSCAN对簇的定义
- 由密度可达关系导出的最大的密度相连样本集合
- 给定领域参数(E,MinPts),簇C是满足以下性质的非空样本子集
连接性(connectivity):xi∈C,xj∈C⇒xi与xj密度相连
最大型(maximality):xi∈C,xj由xi密度可达⇒xj∈C
- 算法
- 算法测试结果
9.6 层次聚类
0、基本想法:试图在不同层次对数据集进行划分,从而形成树形的聚类结构
1、自底向上的聚合策略: AGglomerative NESting(AGNES)
-
算法过程
1.将数据集中的每个样本看做一个初始聚类簇
2.在运行的每一步找出距离最近两个簇并合并
3.重复,直到达到预设的聚类簇个数
-
集合的距离
通常采用:Hausdorff distance
注意:当聚类簇距离由dmin、dmaz或davg计算时,AGNES算法被相应地成为单链接、全链接或均链接算法
-
算法
-
算法测试结果
2、自顶向下的分拆策略:DIANA