聚类算法大杂烩

1. 思维导图

聚类算法-思维导图


2. 基本概念和使用场景

2.1 什么是“聚类”?

聚类是一种“无监督的学习”,即不需要通过标记训练样本,算法自身样本划分为若干个不相交的子集,每个子集称为一个“”。
试想一个这样的场景,A在整理书柜,他按照一定准则(使用频率、颜色、种类)划分归类书籍的过程,就是一个聚类的过程。

正式一点说:
西瓜书-聚类

2.2 聚类的使用

  1. 作为一个单独的过程,寻找数据内在的分布结构。
  2. 作为分类等其他学习任务的前驱过程。

2.3 性能度量(有效性指标)

最完美的情况下,簇内的数据相似度尽可能的高,簇间的数据相似度尽可能的低。

评价一个聚类结果的好坏,有一下两种方法:

  1. 外部指标:将聚类结果与参考模型进行比较,跟做完作业对答案差不多。
  2. 内部指标:直接考察聚类结果。

2.3.1 外部指标衡量法

2.3.1.1 簇内结果的衡量标准
样本间距离的计算

首先将样本两两组合配对,记为 x i , x j x_i, x_j xi,xj,那么总共有 ( m 2 ) \binom{m}{2} (2m)种取法。在对答案的过程中,无非会出现以下四种情况:

  1. 两样本分在一起了
  2. 按照聚类模型的分法, x i , x j x_i, x_j xi,xj在一起了,但是按照参考模型的分法, x i , x j x_i, x_j xi,xj未在一起。
  3. 按照聚类模型的分法, x i , x j x_i, x_j xi,xj没在一起,但是按照参考模型的分法, x i , x j x_i, x_j xi,xj在一起了。
  4. 按照聚类模型的分法, x i , x j x_i, x_j xi,xj没在一起,按照参考模型的分法, x i , x j x_i, x_j xi,xj也未在一起。

上述四种情况分别对应于:
在这里插入图片描述
所以,有 a + b + c + d = ( m 2 ) a+b+c+d=\binom{m}{2} a+b+c+d=(2m)成立。

样本间聚类结果的衡量标准
  • Jaccard系数(Jaccard Coefficient, JC)
    J C = a a + b + c (2.1) JC = \frac{a}{a+b+c} \tag{2.1} JC=a+b+ca(2.1)

  • FM指数(Fowlkes and Mallows Index, FMI)
    J C = a a + b a a + c (2.2) JC = \sqrt{\frac{a}{a+b}\frac{a}{a+c}} \tag{2.2} JC=a+baa+ca (2.2)

  • Rand指数(Rand Index, RI)
    J C = 2 ( a + d ) m ( m − 1 ) (2.3) JC = \frac{2(a+d)}{m(m-1)} \tag{2.3} JC=m(m1)2(a+d)(2.3)
    上述判定方法越大越好,且取值在 [ 0 , 1 ] [0, 1] [0,1]之间。

2.3.1.2 簇间的衡量标准
簇间距离的计算
  • u u u个簇中样本的数量: ∣ C u ∣ |C_u| Cu
  • 该簇内所构成的样本对的数量: ( ∣ C u ∣ 2 ) \binom{|C_u|}{2} (2Cu)
  • 样本之间的距离公式: d i s t ( x i , x j ) dist(\boldsymbol{x_i}, \boldsymbol{x_j}) dist(xi,xj)
  1. 簇内样本间的平均距离:将该簇内的样本两两组合,所构成的样本对的数量。
    A v g ( ∣ C p ∣ ) = ∑ 1 ≤ i ≤ j ≤ ∣ C u ∣ d i s t ( x i , x j ) ( ∣ C u ∣ 2 ) = 2 ∣ C u ∣ ( ∣ C u ∣ − 1 ) ∑ 1 ≤ i ≤ j ≤ ∣ C u ∣ d i s t ( x i , x j ) (2.4) \begin{aligned} Avg(|C_p|) &=\frac{\sum_{1 \leq i \leq j \leq |C_u|} dist(\boldsymbol{x_i}, \boldsymbol{x_j})}{\binom{|C_u|}{2}}\\ &=\frac{2}{|C_u|(|C_u|-1)}{\sum_{1 \leq i \leq j \leq |C_u|} dist(\boldsymbol{x_i}, \boldsymbol{x_j})} \tag{2.4} \end{aligned} Avg(Cp)=(2Cu)1ijCudist(xi,xj)=Cu(Cu1)21ijCudist(xi,xj)(2.4)
  • 簇内样本之间最远距离
    d i a m ( ∣ C u ∣ ) = max ⁡ 1 ≤ i ≤ j ≤ ∣ C u ∣ d i s t ( x i , x j ) (2.5) \begin{aligned} diam(|C_u|)= \max_{1 \leq i \leq j \leq|C_u|}dist(\boldsymbol{x_i}, \boldsymbol{x_j}) \tag{2.5} \end{aligned} diam(Cu)=1ijCumaxdist(xi,xj)(2.5)
  • 两个簇之间最近样本间的距离
    d m i n ( ∣ C u ∣ , ∣ C v ∣ ) = min ⁡ x u ∈ ∣ C u ∣ , x v ∈ ∣ C v ∣ d i s t ( x u , x v ) (2.6) \begin{aligned} d_{min}(|C_u|, |C_v|)= \min_{\boldsymbol{x_u} \in |C_u|, \boldsymbol{x_v} \in |C_v|}dist(\boldsymbol{x_u}, \boldsymbol{x_v}) \tag{2.6} \end{aligned} dmin(Cu,Cv)=xuCu,xvCvmindist(xu,xv)(2.6)
  • 两个簇中心点间的距离
    d c e n ( ∣ C u ∣ , ∣ C v ∣ ) = d i s t ( μ u , μ v ) (2.7) \begin{aligned} d_{cen}(|C_u|, |C_v|)=dist(\mu_u, \mu_v) \tag{2.7} \end{aligned} dcen(Cu,Cv)=dist(μu,μv)(2.7)
    其中:
    μ u = 1 ∣ C u ∣ ∑ 1 ≤ u ≤ ∣ C u ∣ x u μ v = 1 ∣ C v ∣ ∑ 1 ≤ v ≤ ∣ C v ∣ x v \mu_u = \frac{1}{|C_u|}\sum_{1\leq u \leq |C_u|}\boldsymbol{x_u}\\ \mu_v = \frac{1}{|C_v|}\sum_{1\leq v \leq |C_v|}\boldsymbol{x_v} μu=Cu11uCuxuμv=Cv11vCvxv
簇间聚类结果的衡量标准
  • DB指数(Davies-Bouldin Index, DBI) :值越小越好
    D B I = 1 k ∑ i = 1 k max ⁡ i ≠ j ( A c g ( ∣ C i ∣ ) + A v g ( ∣ C j ∣ ) d c e n ( ∣ C i ∣ , ∣ C j ∣ ) ) (2.8) DBI = \frac{1}{k}\sum_{i=1}^{k} \max_{i \neq j} (\frac{Acg(|C_i|) + Avg(|C_j|)}{d_{cen}(|C_i|, |C_j|)}) \tag{2.8} DBI=k1i=1ki=jmax(dcen(Ci,Cj)Acg(Ci)+Avg(Cj))(2.8)

    • k k k:聚类的种类数目。
  • Dunn指数(Dunn Index, DI):值越大越好
    D I = min ⁡ 1 ≤ i ≤ k { min ⁡ j ≠ i d m i n ( C i , C j ) max ⁡ 1 ≤ l ≤ k d i a m ( C l ) } (2.9) DI=\min_{1 \leq i \leq k} \{\min_{j \neq i}\frac{d_{min}(C_i, C_j)}{\max_{1 \leq l \leq k}diam(C_l)}\} \tag{2.9} DI=1ikmin{j=iminmax1lkdiam(Cl)dmin(Ci,Cj)}(2.9)

2.3.1.3 距离的计算
对于函数 d i s t dist dist,满足四个性质:
  1. 非负性: d i s t ( x i , x j ) > 0 dist(\boldsymbol{x_i}, \boldsymbol{x_j})>0 dist(xi,xj)>0
  2. 同一性: d i s t ( x i , x j ) = 0 , x i = x j dist(\boldsymbol{x_i}, \boldsymbol{x_j})=0, \boldsymbol{x_i}=\boldsymbol{x_j} dist(xi,xj)=0,xi=xj
  3. 对称性: d i s t ( x i , x j ) = d i s t ( x j , x i ) dist(\boldsymbol{x_i}, \boldsymbol{x_j})=dist(\boldsymbol{x_j}, \boldsymbol{x_i}) dist(xi,xj)=dist(xj,xi)
  4. 直递性: 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(\boldsymbol{x_i}, \boldsymbol{x_j}) \leq dist(\boldsymbol{x_i}, \boldsymbol{x_k})+dist(\boldsymbol{x_k}, \boldsymbol{x_j}) dist(xi,xj)dist(xi,xk)+dist(xk,xj)(不一定要满足,人、马、人马关系图)
计算公式:
  • 有序数据: 能够通过数字表达远近关系的属性。

    • 计算方法:
      在这里插入图片描述在这里插入图片描述
  • 无序数据: 不能够通过数字表达远近关系的属性。 X = { w h i t e , b l u e , r e d } X=\{white, blue, red\} X={white,blue,red}

    • 计算方法: VDM(Value Difference Metric)
      在这里插入图片描述
      在这里插入图片描述
  • 有序+无序数据:

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

3. 聚类算法

3.1 原型聚类

3.1.1 K均值算法

KMeans算法及其实现

3.1.2 学习向量量化

学习向量量化算法及其实现

3.1.3 高斯混合聚类

EM算法与高斯混合聚类(一)
EM算法与高斯混合聚类(二)

3.2 密度聚类

3.3 层次聚类


4. 参考文献

  • 《西瓜书》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值