聚类算法的评价指标

聚类算法的评价指标

聚类是什么?

通俗来讲,就是把凌乱的样本按照其相似度,进行划分的过程。

举个例子,将人按性格划分,将用户按群体划分。

  1. 聚类与分类的区别:聚类是一种无监督学习,所用样本为无标记样本,即无法通过算法输出与实际结果的比较进行评价

  2. 数学定义:

    • 样本集: X = { x ( 1 ) , . . . , x ( N ) ) } X=\{x^{(1)},...,x^{(N))}\} X={x(1),...,x(N))} ,含 N 个无标记样本
    • x ( n ) x^{(n)} x(n):D维特征向量, [ x 1 ( n ) , . . . , x D ( n ) ) ] T [x^{(n)}_1,...,x^{(n))}_D]^T [x1(n),...,xD(n))]T
    • 不相交簇: { C l ∣ l = 1 , . . . , k } \{C_l|l=1,...,k\} {Cll=1,...,k} ,其中 C l ′ ⋂ l ′ ≠ l C l = ∅ C_{l'}\bigcap_{l'\neq l}C_l=\emptyset Cll=lCl=
    • 样本集 X 的划分:寻找若干 X 子集 C l C_l Cl ,使 X = ⋃ l = 1 k C l X=\bigcup^k_{l=1}C_l X=l=1kCl
    • 聚类:把样本集划分为不相交簇的过程,此时的不相交簇,被称为 “样本簇
    • 簇标记: λ n ∈ { 1 , . . . , k } \lambda_n\in\{1,...,k\} λn{1,...,k} ,用于表示样本 x ( n ) x_{(n)} x(n) 的簇标记(cluster label)
    • 簇标记向量: λ ⃗ = [ λ 1 , . . . λ N ] \vec{\lambda}=[\lambda_1,...\lambda_N] λ =[λ1,...λN]
  3. 聚类算法的性能度量:

    掌握算法的性能度量,我们才能评估聚类结果的好坏;设定合适的性能度量作为我们的优化目标,用于判定是否已经达到要求,以期达到“簇内相似度高”,“簇间相似度低”的聚类效果。

    方案一 具有参考模型,可将聚类结果与参考模型比较

    聚类算法簇划分: C = { C 1 , . . . , C K } C=\{C_1,...,C_K\} C={C1,...,CK} ,标记向量 λ ⃗ \vec\lambda λ

    参考模型簇划分: C ∗ = { C 1 ∗ , . . . , C K ∗ } C^*=\{C_1^*,...,C_K^*\} C={C1,...,CK} ,标记向量 λ ⃗ ∗ \vec\lambda^* λ

    定义:

    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={(x(i),x(j))λ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=\lambda_j,\lambda_i^*\neq\lambda_j^*,i<j\} b=SD,SD={(x(i),x(j))λ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\neq\lambda_j,\lambda_i^*=\lambda_j^*,i<j\} c=DS,DS={(x(i),x(j))λ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\neq\lambda_j,\lambda_i^*\neq\lambda_j^*,i<j\} d=DD,DD={(x(i),x(j))λi=λj,λi=λj,i<j}

    由排列组合知识可得: a + b + c + d = C N 2 = N ( N − 1 ) / 2 a+b+c+d=C^2_N=N(N-1)/2 a+b+c+d=CN2=N(N1)/2

    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}\cdot\frac{a}{a+c}} FMI=a+baa+ca

    Rand 指数: R I = 2 ( a + d ) N ( N − 1 ) RI=\frac{2(a+d)}{N(N-1)} RI=N(N1)2(a+d)

    以上性能度量结果均在 [0,1] 内,且越大越好

    方案二 无参考模型,依据距离来衡量聚类性能

    定义:

    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\leq i< j \leq|C|}dist(x^{(i)},x^{(j)}) avg(C)=C(C1)21i<jCdist(x(i),x(j))

    d i a m ( C ) = m a x 1 ≤ i < j ≤ ∣ C ∣ d i s t ( x ( i ) , x ( j ) ) diam(C)=max_{1\leq i< j \leq|C|}dist(x^{(i)},x^{(j)}) diam(C)=max1i<jCdist(x(i),x(j))

    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_{x^{(i)}\in C_i,x^{(j)}\in C_j}dist(x^{(i)},x^{(j)}) dmin(Ci,Cj)=minx(i)Ci,x(j)Cjdist(x(i),x(j))

    d c e n ( C i , C j ) = d i s t ( x ˉ ( i ) , x ˉ ( j ) ) d_{cen}(C_i,C_j)=dist(\bar x^{(i)},\bar x^{(j)}) dcen(Ci,Cj)=dist(xˉ(i),xˉ(j))

    符号说明:

    dist(),表示两样本间的距离

    avg(C),簇 C 内样本间的平均距离

    diam(C),簇 C 内样本间的最远距离

    d m i n d_{min} dmin C i , C j C_i,C_j Ci,Cj 最近样本间的距离

    d c e n d_{cen} dcen C i , C j C_i,C_j Ci,Cj 中心点间的距离

    |C|,C 中元素个数

    DB 指数: D B I = 1 k ∑ i = 1 k m a x j ≠ i ( a v g ( C i ) + a v g ( C j ) d e n ( x ˉ ( i ) , x ( j ) ) ) DBI=\frac{1}{k}\sum^k_{i=1}max_{j\neq i}(\frac{avg(C_i)_+avg(C_j)}{den(\bar x^{(i)},x^{(j)})}) DBI=k1i=1kmaxj=i(den(xˉ(i),x(j))avg(Ci)+avg(Cj))

    Dunn 指数: 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\leq i\leq k}\{min_{j\neq i}(\frac{d_{min}(C_i,C_j)}{max_{1\leq l\leq k}diam(C_l)})\} DI=min1ik{minj=i(max1lkdiam(Cl)dmin(Ci,Cj))}

    DBI 越小越好,DI 越大越好。

  4. 聚类算法中的距离计算

    距离的性质:

    • 非负性

    • 同一性,距离为0,样本相同

    • 对称性, d i s t ( x ( i ) , x ( j ) ) = d i s t ( x ( j ) , x ( i ) ) dist(x^{(i)},x^{(j)})=dist(x^{(j)},x^{(i)}) dist(x(i),x(j))=dist(x(j),x(i))

    • 直递性, 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(x^{(i)},x^{(j)})=dist(x^{(i)},x^{(k)})+dist(x^{(k)},x^{(j)}) dist(x(i),x(j))=dist(x(i),x(k))+dist(x(k),x(j))

    经典距离的定义:

    • 闵可夫斯基距离: d i s t m k ( x ( i ) , x ( j ) ) = ( ∑ d = 1 D ∣ x d ( i ) − x d ( j ) ∣ ) 1 / p dist_{mk}(x^{(i)},x^{(j)})=(\sum^D_{d=1}|x_d^{(i)}-x_d^{(j)}|)^{1/p} distmk(x(i),x(j))=(d=1Dxd(i)xd(j))1/p

    • 曼哈顿距离:令上式 p=1

    • 加权距离:由于样本空间中不同属性的重要性不同,一般会使用加权距离,如加权闵可夫斯基距离,如下

      d i s t w m k ( x ( i ) , x ( j ) ) = ( w 1 ∣ x d ( i ) − x d ( j ) ∣ p + . . . + w D ∣ x d ( i ) − x d ( j ) ∣ p ) 1 / p dist_{wmk}(x^{(i)},x^{(j)})=(w_1|x_d^{(i)}-x_d^{(j)}|^p+...+w_D|x_d^{(i)}-x_d^{(j)}|^p)^{1/p} distwmk(x(i),x(j))=(w1xd(i)xd(j)p+...+wDxd(i)xd(j)p)1/p 其中 ∑ d = 1 D w d = 1 \sum^D_{d=1}w_d=1 d=1Dwd=1

    距离是相似度的度量,一般距离越小,相似度越高。

    在用于度量相似度时,距离定义的直递性往往不重要。

    数据样本复杂多变,往往需要根据数据样本的情况重新选择合适的距离公式,可通过距离学习来实现。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值