机器学习理论 | 周志华西瓜书 第九章:聚类

第九章 聚类

此系列文章旨在提炼周志华《机器学习》的核心要点,不断完善中…


9.1 聚类任务

无监督学习:训练样本标记位置,学习揭示内在规律,分类任务等前驱过程
将数据集划分为若干互不相交的子集(簇:cluster)

9.2 性能度量

1、概念

  • 内相似度(intra-cluster similarity)
  • 簇间相似度(inter-cluster similarity)

2、指标

  • 外部指标(external index):将聚类结果与某个参考模型(reference model)进行比较
    常用的聚类性能度量外部指标( a = ∣ S S ∣ , b = ∣ S D ∣ , c = ∣ D S ∣ , d = ∣ D D ∣ a=|SS|,b=|SD|,c=|DS|,d=|DD| a=SS,b=SD,c=DS,d=DD):

    • Jaccard系数(Jaccard Coefficient, JC): J C = a a + b + c JC=\frac a {a+b+c} JC=a+b+ca
    • FM指数(Fowlkes and Mallows Index, FMI): F M I = a a + b ∗ a a + c FMI=\sqrt{\frac{a}{a+b}*\frac{a}{a+c}} FMI=a+baa+ca
    • Rand指数(Rand Index, RI): R I = 2 ( a + d ) m ( m − 1 ) RI=\frac{2(a+d)}{m(m-1)} RI=m(m1)2(a+d)
  • 内部指标(internal index):直接考察结果
    聚类结果的簇划分C={C1,C2,…Ck},定义:

    • a v g ( C ) = 2 ∣ C ∣ ( ∣ C ∣ − 1 ) ∑ 1 ≤ i < j ≤ ∣ C ∣ d i s t ( x i , x j ) avg(C)=\frac{2}{|C|(|C|-1)}\sum_{1≤i<j≤|C|}dist(\bm x_i,\bm x_j) avg(C)=C(C1)21i<jCdist(xi,xj)
    • d i a m ( C ) = m a x 1 ≤ i < j ≤ ∣ C ∣ d i s t ( x i , x j ) diam(C)=max_{1≤i<j≤|C|}dist(\bm x_i,\bm x_j) diam(C)=max1i<jCdist(xi,xj)
    • d m i n ( C i , C j ) = m i n x i ∈ C i , x j ∈ C j d i s t ( x i , x j ) d_{min}(C_i,C_j)=min_{\bm x_i\in C_i,\bm x_j\in C_j}dist(\bm x_i,\bm x_j) dmin(Ci,Cj)=minxiCi,xjCjdist(xi,xj)
    • d c e n ( C i , C j ) = d i s t ( μ i , μ j ) d_{cen}(C_i,C_j)=dist(\bm \mu_i,\bm\mu_j) dcen(Ci,Cj)=dist(μi,μj)

    导出内部指标

    • DB指数(Davies-Bouldin Index, DBI):
      D B I = 1 k ∑ i = 1 k m a x j ≠ i ( a v g ( C i ) + a v g ( C j ) d c e n ( C i , C j ) ) DBI=\frac 1 k\sum_{i=1}^kmax_{j≠i}(\frac{avg(C_i)+avg(C_j)}{d_{cen}(C_i,C_j)}) DBI=k1i=1kmaxj=i(dcen(Ci,Cj)avg(Ci)+avg(Cj))
    • Dunn指数(Dunn Index, DI):
      D I = m i n 1 ≤ i ≤ k { m i n j ≠ i ( d m i n ( C i , C j ) m a x 1 ≤ l ≤ k d i a m ( C l ) ) } DI=min_{1≤i≤k}\{min_{j≠i}(\frac{d_{min}(C_i,C_j)}{max_{1≤l≤k}diam(C_l)})\} DI=min1ik{minj=i(max1lkdiam(Cl)dmin(Ci,Cj))}
    • DBI越小越好,DI越大越好

9.3 距离计算

1、距离度量的基本性质
非负性: d i s t ( x i , x j ) ≥ 0 dist(\bm x_i, \bm x_j)≥0 dist(xi,xj)0
同一性: d i s t ( x i , x j ) = 0 dist(\bm x_i,\bm x_j)=0 dist(xi,xj)=0当且仅当 x i = x j \bm x_i=\bm x_j xi=xj
对称性: d i s t ( x i , x j ) = d i s t ( x j , x i ) dist(\bm x_i,\bm x_j)=dist(\bm x_j,\bm x_i) dist(xi,xj)=dist(xj,xi)
直递性: d i s t ( x i , x j ) ≤ d i s t ( x i , x k ) + d i s t ( x k , x j ) dist(\bm x_i,\bm x_j)≤dist(\bm x_i,\bm x_k)+dist(\bm x_k,\bm x_j) dist(xi,xj)dist(xi,xk)+dist(xk,xj)(三角不等式)

2、最常用:闵可夫斯基距离(Minkowski distance)
d i s t m k ( x i , x j ) = ( ∑ u = 1 n ∣ x i u − x j u ∣ p ) 1 p dist_{mk}(\bm x_i,x_j)=(\sum_{u=1}^n|x_{iu}-x_{ju}|^p)^{\frac 1 p} distmk(xi,xj)=(u=1nxiuxjup)p1
p=∞:切贝雪夫距离
p=2:欧式距离: d i s t e d ( x i , x j ) = ∣ ∣ x i − x j ∣ ∣ 2 = ∑ u = 1 n ∣ x i u − x j u ∣ 2 dist_{ed}(\bm x_i,\bm x_j)=||\bm x_i-\bm x_j||_2=\sqrt{\sum_{u=1}^n|x_{iu}-x_{ju}|^2} disted(xi,xj)=xixj2=u=1nxiuxju2
p=1:曼哈顿距离: d i s t m a n ( x i , x j ) = ∣ ∣ x i − x j ∣ ∣ 1 = ∑ u = 1 n ∣ x i u − x j u ∣ 2 dist_{man}(\bm x_i,\bm x_j)=||\bm x_i-\bm x_j||_1=\sum_{u=1}^n|x_{iu}-x_{ju}|^2 distman(xi,xj)=xixj1=u=1nxiuxju2

3、几个概念
连续属性/离散属性:定义域上有无穷/有限取值
有序属性:可采用闵可夫斯基距离
无序属性:可采用VDM(Value Difference Metric): V D M p ( a , b ) = ∑ i = 1 k ∣ m u , a , i m u , a − m u , b , i m u , b ∣ VDM_p(a,b)=\sum_{i=1}^k|\frac{m_{u,a,i}}{m_{u,a}}-\frac {m_{u,b,i}}{m_{u,b}}| VDMp(a,b)=i=1kmu,amu,a,imu,bmu,b,i
相似度度量:非度量距离(距离大相似小,未必满足度量距离性质,尤其直递性)
距离度量学习:基于数据样本来确定合适的距离计算式

4、一些做法
将闵可夫斯基距离和VDM结合(可处理混合属性):
加权闵可夫斯基距离(样本空间不同属性的重要性不同时):

9.4 原型聚类

0、基本想法:假设聚类结构能通过一组原型刻画(在现实聚类任务中极为常用)

1、k均值算法

  • 最小化平方和误差: E = ∑ i = 1 k ∑ x ∈ C i ∣ ∣ x − μ i ∣ ∣ 2 2 E=\sum_{i=1}^k\sum_{\bm x\in C_i}||\bm x-\bm\mu_i||_2^2 E=i=1kxCixμi22

    • 样本集: D = { x 1 , x 2 , . . . x m } D=\{\bm x_1,\bm x_2,...\bm x_m\} D={x1,x2,...xm}
    • 簇划分: C = { C 1 , C 2 , . . . , C k } \mathcal{C}=\{C_1,C_2,...,C_k\} C={C1,C2,...,Ck}
    • 簇Ci的均值向量: μ i = 1 ∣ C i ∣ ∑ x ∈ C i x \bm\mu_i=\frac 1 {|C_i|}\sum_{\bm x\in C_i}\bm x μi=Ci1xCix
  • 采用贪心策略,通过迭代优化来近似求解上述最小化平方误差的解

  • k均值算法在这里插入图片描述

  • 算法测试结果
    在这里插入图片描述

2、学习向量量化(Learning Vector Quantization, LVQ)

  • 假设数据样本带有类别标记,学习过程利用样本的这些监督信息来辅助聚类
  • 算法在这里插入图片描述
  • Voronoi划分
    R i = { x ∈ X ∣   ∣ ∣ x − p i ∣ ∣ 2 ≤ ∣ ∣ x − p i ′ ∣ ∣ 2 , i ′ ≠ i } R_i=\{\bm x\in\mathcal{X}|\ ||\bm x-\bm p_i||_2≤||\bm x-\bm p_{i'}||_2,i'≠i\} Ri={xX xpi2xpi2,i=i}
  • 算法测试结果
    在这里插入图片描述

3、高斯混合聚类(Mixture of Gaussian)

  • 多元高斯分布概率密度函数: p ( x ) = 1 ( 2 π ) n 2 ∣ Σ ∣ 1 2 e − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) p(\bm x)=\frac{1}{(2\pi)^{\frac n 2}|\bm\Sigma|^{\frac 1 2}}e^{-\frac 1 2(\bm x-\bm\mu)^T\bm\Sigma^{-1}(\bm x-\bm\mu)} p(x)=(2π)2nΣ211e21(xμ)TΣ1(xμ)
  • 高斯混合分布函数: p M ( x ) = ∑ i = 1 k α i ∗ p ( x ∣ μ i , Σ i ) p_M(\bm x)=\sum_{i=1}^k\alpha_i*p(\bm x|\bm\mu_i,\bm\Sigma_i) pM(x)=i=1kαip(xμi,Σi)
    性质:k个混合成分组成(每个对应一个高斯分布)
    混合系数: ∑ i = 1 k α i = 1 \sum_{i=1}^k\alpha_i=1 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)

  • 思想:基于一组领域参数来刻画样本分布的紧密程度
  • 基本概念
    在这里插入图片描述
    • ε-邻域:对 x j ∈ D , \bm x_j\in D, xjD ϵ \epsilon ϵ-邻域包含样本集D中与 x j \bm x_j xj的距离不大于 ϵ \epsilon ϵ的样本,即 N ϵ ( x j ) = { x j ∈ D ∣ d i s t ( x i , x j ) ≤ ϵ } N_{\epsilon}(\bm x_j)=\{\bm x_j\in D |dist(\bm x_i,\bm x_j)≤\epsilon\} Nϵ(xj)={xjDdist(xi,xj)ϵ}
    • 核心对象:若 x j \bm x_j xj ϵ \epsilon ϵ-邻域至少包含MinPts个样本,即 ∣ N ϵ ( x j ) ∣ ≥ M i n P t s |N_{\epsilon}(\bm x_j)|≥MinPts Nϵ(xj)MinPts,则 x j \bm x_j xj是一个核心对象
    • 密度直达:若 x j \bm x_j xj位于 x i \bm x_i xi ϵ \epsilon ϵ-邻域中,且 x i \bm x_i xi是核心对象,则称 x j \bm x_j xj x i \bm x_i xi密度直达
    • 密度可达:对 x i \bm x_i xi x j \bm x_j xj,若存在样本系列 p 1 , p 2 , . . . p n \bm{p_1,p_2,...p_n} p1,p2,...pn,其中 p 1 = x i \bm p_1=\bm x_i p1=xi p n = x j \bm p_n=\bm x_j pn=xj p i + 1 \bm p_{i+1} pi+1 p i \bm p_i pi密度直达,则称 x j \bm x_j xj x i \bm x_i xi密度可达
    • 密度相连:对 x i \bm x_i xi x j \bm x_j xj,若存在 x k \bm x_k xk使得 x i \bm x_i xi x j \bm x_j xj均由 x k \bm x_k xk密度可达,则称 x i \bm x_i xi x j \bm x_j xj密度相连
  • DBSCAN对簇的定义
    • 由密度可达关系导出的最大的密度相连样本集合
    • 给定领域参数(E,MinPts),簇C是满足以下性质的非空样本子集
      连接性(connectivity): x i ∈ C , x j ∈ C ⇒ \bm x_i\in C,\bm x_j\in C\Rightarrow xiC,xjC x i \bm x_i xi x j \bm x_j xj密度相连
      最大型(maximality): x i ∈ C , \bm x_i\in C, xiC, x j \bm x_j xj x i \bm x_i xi密度可达 ⇒ x j ∈ C \Rightarrow \bm x_j\in C xjC
  • 算法
    在这里插入图片描述
  • 算法测试结果
    在这里插入图片描述

9.6 层次聚类

0、基本想法:试图在不同层次对数据集进行划分,从而形成树形的聚类结构

1、自底向上的聚合策略: AGglomerative NESting(AGNES)

  • 算法过程
    1.将数据集中的每个样本看做一个初始聚类簇
    2.在运行的每一步找出距离最近两个簇并合并
    3.重复,直到达到预设的聚类簇个数

  • 集合的距离
    通常采用:Hausdorff distance
    在这里插入图片描述

    注意:当聚类簇距离由dmin、dmaz或davg计算时,AGNES算法被相应地成为单链接、全链接或均链接算法

  • 算法
    在这里插入图片描述

  • 算法测试结果
    在这里插入图片描述
    在这里插入图片描述
    2、自顶向下的分拆策略:DIANA

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值