秋招材料整理——聚类

目录

    • 一、性能度量
    • 二、原型聚类:
      • 1. k-means:通过最小化均方差,将数据集分成k个“簇”
      • 2.学习向量量化(LVQ):假设数据样本带有类别标记
      • 3.高斯混合聚类:用概率模型表达聚类原型,簇划分由原型对应的后验概率确定
    • 三、层次聚类
    • 四、DBSCAN密度聚类:剔除异常数据

一、性能度量

  • 非监督学习,无类别标记。试图将样本划分为若干个不相交子集,称为“簇”
  • 性能度量:“簇内相似度高”,“簇间相似度低”
    • 外部指标:将聚类结果 C C C与某个“参考模型” C ∗ C* C进行比较;预测类别 λ λ λ,参考类别 λ ∗ λ^* λ
      a = ∣ S S ∣ , S S = { ( x i , x j ) ∣ λ i = λ j , λ i ∗ = λ j ∗ , i < j } a=|SS|,SS={\{(x_i,x_j)|\lambda_i = \lambda_j,\lambda_i^* = \lambda_j^*,i<j}\} a=SS,SS={(xi,xj)λi=λj,λi=λj,i<j}
      b = ∣ S D ∣ , S D = { ( x i , x j ) ∣ λ i ≠ λ j , λ i ∗ = λ j ∗ , i < j } b=|SD|,SD={\{(x_i,x_j)|\lambda_i \ne\lambda_j,\lambda_i^* = \lambda_j^*,i<j}\} b=SD,SD={(xi,xj)λi̸=λj,λi=λj,i<j}
      c = ∣ D S ∣ , D S = { ( x i , x j ) ∣ λ i = λ j , λ i ∗ ≠ λ j ∗ , i < j } c=|DS|,DS={\{(x_i,x_j)|\lambda_i = \lambda_j,\lambda_i^* \ne \lambda_j^*,i<j}\} c=DS,DS={(xi,xj)λi=λj,λi̸=λj,i<j}
      d = ∣ D D ∣ , D D = { ( x i , x j ) ∣ λ i ≠ λ j , λ i ∗ ≠ λ j ∗ , i < j } d=|DD|,DD={\{(x_i,x_j)|\lambda_i \ne \lambda_j,\lambda_i^* \ne \lambda_j^*,i<j}\} d=DD,DD={(xi,xj)λi̸=λj,λi̸=λj,i<j}

      • 三种系数均 ∈ [ 0 , 1 ] ∈[0,1] [0,1],值越大越好
      • Jaccard系数
        J C = a a + b + c JC=\frac{a}{a+b+c} JC=a+b+ca
      • FM指数
        F M I = a a + b ∗ a a + c FMI=\sqrt{\frac{a}{a+b}*\frac{a}{a+c}} FMI=a+baa+ca
      • Rand指数
        R I = a + d a + b + c + d RI=\frac{a+d}{a+b+c+d} RI=a+b+c+da+d
    • 内部指标:直接考察聚类结果而不利用任何参考模型: d i s t ( ) dist() dist()距离, μ μ μ中心点,共 c c c个点
      簇C内样本间平均距离
      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 \le i <j \le |C|}dist(x_i,x_j) avg(C)=C(C1)21i<jCdist(xi,xj)
      簇C内样本间最远距离
      d i a m ( C ) = max ⁡ 1 ≤ i < j ≤ ∣ C ∣ d i s t ( x i , x j ) diam(C)=\max_{1 \le i <j \le |C|}dist(x_i,x_j) diam(C)=1i<jCmaxdist(xi,xj)
      簇Ci,Cj最近样本间距离
      d m i n ( C i , C j ) = min ⁡ x i ∈ C i , x j ∈ C j d i s t ( x i , x j ) d_{min}(C_i,C_j)=\min_{x_i \in C_i,x_j \in C_j}dist(x_i,x_j) dmin(Ci,Cj)=xiCi,xjCjmindist(xi,xj)
      簇Ci,Cj中心点间距离
      d c e n ( C i , C j ) = d i s t ( u i , u j ) d_{cen}(C_i,C_j)=dist(u_i,u_j) dcen(Ci,Cj)=dist(ui,uj)

      • DB指数
        D B I = 1 k ∑ i = 1 k max ⁡ j ≠ i ( a v g ( C i ) + a v g ( C j ) d c e n ( u i , u j ) ) DBI=\frac{1}{k}\sum_{i=1}^k\max_{j\ne i}(\frac{avg(C_i)+avg(C_j)}{d_{cen}(u_i,u_j)}) DBI=k1i=1kj̸=imax(dcen(ui,uj)avg(Ci)+avg(Cj))
      • Dunn指数
        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 ) ) } DI=\min_{1 \le i \le k}{\{\min_{j \ne i}(\frac{d_{min}(C_i,C_j)}{\max_{1 \le l \le k}diam(C_l)})\}} DI=1ikmin{j̸=imin(max1lkdiam(Cl)dmin(Ci,Cj))}

二、原型聚类:

用原型向量刻画聚类结构的不同

  • 距离:闵可夫斯基距离(p范数)
    • p = = 2 p==2 p==2时,欧氏距离
    • p = = 1 p==1 p==1时,曼哈顿距离

1. k-means:通过最小化均方差,将数据集分成k个“簇”

  • 随机初始化 k k k个聚类中心
    迭代:
    • 将样本分到距离最近的聚类中心
    • 更新聚类中心:取所有点的均值;点数为0的中心删掉

2.学习向量量化(LVQ):假设数据样本带有类别标记

  • 随机初始化一组原型向量 p i p_i pi
    迭代:
    • 计算样本到各 p i p_i pi的距离
    • 找出到每个样本最近的 p i p_i pi,更新 p i p_i pi向该样本靠拢
  • 将样本分到距离最近的 p i p_i pi

3.高斯混合聚类:用概率模型表达聚类原型,簇划分由原型对应的后验概率确定

1)x的高斯分布概率密度函数
p ( x ) = 1 ( 2 π ) n 2 ( ∣ ∑ ∣ ) 1 2 e − 1 2 ( x − μ ) T ( ∑ ) − 1 ( x − μ ) p(x)=\frac{1}{(2π)^{\frac{n}{2}}(|\sum|)^{\frac{1}{2}}}e^{-\frac{1}{2}(x-μ)^T(\sum)^{-1}(x-μ)} p(x)=(2π)2n()211e21(xμ)T()1(xμ)

记为 p ( x ∣ μ , Σ ) p(x|μ,Σ) p(xμΣ) Σ Σ Σ协方差)
2)高斯混合分布:
p ( x ) = ∑ k = 1 K α i ∗ p ( x ∣ μ i , ∑ i ) p(x)=\sum_{k=1}^K\alpha_i*p(x|μ_i,\sum i) p(x)=k=1Kαip(xμi,i)

3)高斯混合分布生成样本过程:先根据αi定义的先验分布选择高斯混合成分,αi为选择第i个混合成分的概率,然后根据被选择的混合成分的概率密度函数进行采样,生成样本
4)高斯混合成分zj的先验概率p(zj=i)=αi,根据贝叶斯定理,zj的后验分布
γ j i = P M ( z j = i ∣ x j ) \gamma_{ji}=PM(z_j=i|x_j) γji=PM(zj=ixj)

= P ( z j = i ) ∗ P M ( x j ∣ z j = i ) P M ( x j ) =\frac{P(z_j=i)*PM(x_j|z_j=i)}{PM(x_j)} =PM(xj)P(zj=i)PM(xjzj=i)

= α i ∗ p ( x j ∣ μ i , ∑ i ) ∑ l = 1 k α l ∗ p ( x j ∣ μ l , ∑ l ) =\frac{\alpha_i*p(x_j|μ_i,\sum_i)}{\sum_{l=1}^k\alpha_l*p(x_j|μ_l,\sum_l)} =l=1kαlp(xjμl,l)αip(xjμi,i)

Xj的簇标记 λ j = a r g max ⁡ γ j i \lambda_j=arg \maxγ_{ji} λj=argmaxγji
5)高斯混合分布中 ( α i , μ i , Σ i ) (α_i,μ_i,Σ_i) αiμiΣi的求解:
用极大似然估计,EM算法迭代优化求解,分别对 μ i , Σ i μ_i,Σ_i μiΣi求导 = 0 =0 =0,此时就只剩 α i α_i αi了,除了要最大化似然函数,还要满足 α i ≥ 0 , ∑ l = 1 k α l = 1 α_i≥0,\sum_{l=1}^k\alpha_l=1 αi0l=1kαl=1,用拉格朗日,最终, α i = 1 m ∑ j = 1 m γ j i \alpha_i=\frac{1}{m}\sum_{j=1}^m\gamma_{ji} αi=m1j=1mγji

高斯混合模型的EM算法:

  • E步:在每步迭代中,先根据当前参数来计算每个样本属于每个高斯成分的后验概率 γ j i γ_{ji} γji
  • M步:根据前面公式更新$(α_i,μ_i,Σ_i)

6)算法:

  • 初始化 ( α i , μ i , Σ i ) (α_i,μ_i,Σ_i) αiμiΣi
  • 计算每一个样本 x j x_j xj的后验概率 γ j i γ_{ji} γji
  • 更新 ( α i , μ i , Σ i ) (α_i,μ_i,Σ_i) αiμiΣi
  • 将样本划入相应簇

三、层次聚类

  • 试图在不同层次对数据集进行划分,从而形成树形聚类结构:先将数据集中的每个样本看做一个聚类簇,然后找出距离最近的两个合并,直到达到k个
  • 算法:
    1)将每一个样本初始化为一个聚类簇
    2)初始化距离矩阵
    3)找出距离最近的两个聚类簇,合并
    4)更新矩阵

四、DBSCAN密度聚类:剔除异常数据

  • 假设聚类结构能通过样本样本分布的紧密程度确定,从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇
  • 一组概念:参数 ϵ , M i n P t s ϵ ,MinPts ϵMinPts(个数)
    1) ϵ − ϵ- ϵ邻域 N ϵ ( x j ) = x i ∈ D ∣ d i s t a n c e ( x i , x j ) ≤ ϵ N_ϵ(x_j)={x_i∈D|distance(x_i,x_j)≤ϵ} Nϵ(xj)=xiDdistance(xi,xj)ϵ
    2)核心对象 ∣ N ϵ ( x j ) ∣ ≥ M i n P t s |Nϵ(x_j)|≥MinPts Nϵ(xj)MinPts,则 x j x_j xj是核心对象。 
    3)密度直达:若 x i x_i xi x j x_j xj ϵ − ϵ- ϵ邻域中,且 x j x_j xj是核心对象,则 x i x_i xi x j x_j xj密度直达.不满足对称性
    4)密度可达:对于 x i x_i xi x j x_j xj,如果存在样本样本序列 p 1 , p 2 , . . . , p T p_1,p_2,...,p_T p1,p2,...,pT满足 p 1 = x i , p T = x j p_1=x_i,p_T=x_j p1=xi,pT=xj p t + 1 p_{t+1} pt+1 p t p_t pt密度直达,则称 x j x_j xj x i x_i xi密度可达。即,密度可达满足传递性。不满足对称性
    5)密度相连 x i x_i xi x j x_j xj,若存在核心对象 x k x_k xk,使 x i x_i xi x j x_j xj均由 x k x_k xk密度可达,则称 x i x_i xi x j x_j xj密度相连。满足对称性。
    簇:由密度可达关系导出的最大密度相连样本集合
    不属于任何簇的样本被认为是噪声或异常样本
  • 算法:
    • 计算核心对象集合:对每一个样本,若它周围的点使其满足 ∣ N ϵ ( x j ) ∣ ≥ M i n P t s |N_ϵ(x_j)|≥MinPts Nϵ(xj)MinPts,则将其加入核心对象集合
    • 以所有核心对象为出发点,找出其密度可达的样本生成聚类簇:
      • 记录当前未访问样本集合 A = D A=D A=D
      • 随机选取一个核心对象 o o o。初始化队列 Q = < o > Q=<o> Q=<o>
      • 只要 Q Q Q非空:
          判断 Q Q Q中每一个样本是不是核心对象,若是,则将样本 ϵ − ϵ- ϵ邻域内的所有点取出,加入到队列 Q Q Q中,并从样本集合 D D D中删除
      • 聚类簇 c k = A − D ck = A-D ck=AD

你可能感兴趣的:(秋招)