Skip to Content
Machine Learning

Cluster

2019-04-14Original-language archivelegacy assets may be incomplete

性能度量

  • 性能度量,有效性指标 validity index
  • 外部指标:与某个参考模型比较
    • 簇划分:C={C1,C2,,Ck}\mathcal{C}=\{C_1,C_2,\cdots,C_k\}, 参考模型簇划分 C={C1,C2,,Cs}\mathcal{C}^*=\{C_1^*,C_2^*,\cdots,C_s^*\},λ,λ\lambda,\lambda^* 为分别为两者簇标记向量,定义
      • a=SS,SS={(xi,xj)λi=λj,λi=λj,i<j}a=|\text{SS}|,\text{SS}=\{(x_i,x_j)|\lambda_i=\lambda_j,\lambda_i^*=\lambda_j^*,i<j\}
      • b=SD,SD={(xi,xj)λi=λj,λiλj,i<j}b=|\text{SD}|,\text{SD}=\{(x_i,x_j)|\lambda_i=\lambda_j,\lambda_i^*\not=\lambda_j^*,i<j\}
      • c=DS,DS={(xi,xj)λiλj,λi=λj,i<j}c=|\text{DS}|,\text{DS}=\{(x_i,x_j)|\lambda_i\not=\lambda_j,\lambda_i^*=\lambda_j^*,i<j\}
      • d=DD,DD={(xi,xj)λiλj,λiλj,i<j}d=|\text{DD}|,\text{DD}=\{(x_i,x_j)|\lambda_i\not=\lambda_j,\lambda_i^*\not=\lambda_j^*,i<j\}
      • a+b+c+d=m(m1)2a+b+c+d=\frac{m(m-1)}{2}
    • JC (Jaccard Coefficent)
      • JC=aa+b+c\text{JC}=\frac{a}{a+b+c}
    • FMI (Fowlkes and Mallows Index)
      • FMI=aa+baa+c\text{FMI}=\sqrt{\frac{a}{a+b}\frac{a}{a+c}}
    • RI (Rand Index)
      • RI=2(a+d)m(m1)\text{RI}=\frac{2(a+d)}{m(m-1)}
  • 内部指标
    • 簇划分:C={C1,C2,,Ck}\mathcal{C}=\{C_1,C_2,\cdots,C_k\}
      • avg(C)=2C(C1)1i<jCdist(xi,xj)\text{avg}(C)=\frac{2}{|C|(|C|-1)}\sum_{1\leq i<j\leq|C|}\text{dist}(x_i,x_j) 簇内样本平均距离
      • diam(C)=max1i<jCdist(xi,xj)\text{diam}(C)=\max_{1\leq i<j\leq|C|}\text{dist}(x_i,x_j) 簇内样本间最远距离
      • dmin(Ci,Cj)=minxiCi,xjCjdist(xi,xj)d_{\min}(C_i,C_j)=\min_{x_i\in C_i,x_j\in C_j}\text{dist}(x_i,x_j)
      • dcen(Ci,Cj)=dist(μi,μj)d_{\text{cen}}(C_i,C_j)=\text{dist}(\mu_i,\mu_j)
    • DBI (Davies-Bouldin Index)
      • DBI=1ki=1kmaxji(avg(Ci)+avg(Cj)dcen(Ci,Cj))\text{DBI}=\frac{1}{k}\sum_{i=1}^k\max_{j\not=i}(\frac{\text{avg}(C_i)+\text{avg}(C_j)}{d_{\text{cen}}(C_i,C_j)}) 越小越好
    • DI (Dunn Index)
      • DI=min1ik(minji(dmin(Ci,Cj)max1lkdiam(Cl)))\text{DI}=\min_{1\leq i\leq k}(\min_{j\not=i}(\frac{d_{\min}(C_i,C_j)}{\max_{1\leq l\leq k}\text{diam}(C_l)})) 越大越好

原型聚类

  • SOM: self-organizing maps

k-means

  • 最小化平均误差 E=i=1kxCixμi22E=\sum_{i=1}^k\sum_{x\in C_i}||x-\mu_i||_2^2 (NP\text{NP}-hard)
  • 贪心策略:迭代优化
  • k-medoids: represented by objects near center

LVQ

Learning Vector Quantization 学习向量量化

  • 利用样本监督信息
  • 每次迭代,每个样本对其最近的原型向量根据标记一致性做推动/吸引
  • 每个原型向量 pip_i 定义了与之相关的一个区域 RiR_i,形成了对样本空间的 Voronoi tessellation

高斯混合聚类

  • 高斯混合分布:pM(x)=i=1kαip(xμi,Σi),i=1kαi=1p_M(x)=\sum_{i=1}^k\alpha_ip(x|\mu_i,\Sigma_i),\sum_{i=1}^k\alpha_i=1
  • EM 算法求解
    • LL(D)=ln(pM)=j=1mln(j=1kαip(xjμi,Σi))\text{LL}(D)=\ln(\prod p_M)=\sum_{j=1}^m\ln(\sum_{j=1}^k\alpha_i p(x_j|\mu_i,\Sigma_i))
    • E: γji=pM(zj=ixj)\gamma_{ji}=p_M(z_j=i|x_j)
    • M
      • μi=γjixjj=1mγji\mu_i'=\frac{\sum{\gamma_{ji}x_j}}{\sum_{j=1}^m\gamma_{ji}}
      • Σi=γji(xjμi)(xjμi)Tγji\Sigma_i'=\frac{\sum\gamma_{ji}(x_j-\mu_i')(x_j-\mu_i)^T}{\sum\gamma_{ji}}
      • αi=γjim\alpha_i'=\frac{\sum\gamma_{ji}}{m}

密度聚类

假设聚类结构能通过样本分布的紧密程度确定

DBSCAN

  • ϵ\epsilon-邻域:Nϵ(xi)={xiDdist(xi,xj)ϵ}N_\epsilon(x_i)=\{x_i\in D|\text{dist}(x_i,x_j)\leq\epsilon\}
  • 核心对象: xj,Nϵ(xj)MinPtsx_j,|N_\epsilon(x_j)|\geq\text{MinPts}
  • directly denisty-reachable: xjNϵ(xi)x_j\in N_\epsilon(x_i)xix_i 为核心对象,则 xjx_jxix_i 密度可达(无对称性)
  • density-reachable
  • density-connected: xk\exists x_k, xi,xjx_i,x_j 均由 xkx_k 密度可达
  • 簇 为满足下列性质最大集合
    • connectivity: xiC,xjCx_i\in C, x_j\in Cxi,xjx_i,x_j 密度相连
    • maximality: xiCx_i\in C, xjx_jxix_i 密度可达则 xjCx_j\in C
  • 算法:
    1. 找出所有核心对象
    2. 对每个核心对象求 X={xDxX=\{x'\in D|x'xx密度可达}\}

DIANA

top down

层次聚类

自底向上或自顶向下

AGNES

agglomerative nesting

  • 自底向上
  • 起初每个样本点为一个簇
  • 不断合并最近两个簇
name d
single-linkage min
complete-linkage max
average-linkage avg