性能度量
1、性能度量的用处
- 通过某种性能度量来评估聚类结果的好坏;
- 可作为聚类过程的优化目标,从而找到更符合要求的聚类结果。
2、性能度量的种类
- 外部指标:将聚类结果与某个“参考模型”进行比较;
- 内部指标:直接考察聚类结果而不利用任何模型作参考
3、性能度量的计算
-
外部指标:
假设聚类给出的结果为 λ \lambda λ,参考模型给出的结果是 λ ∗ \lambda^{*} λ∗,将样本进行两两配对,样本量为m,定义:
a = ∣ S S ∣ , S S = { ( 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 ) } c = ∣ D S ∣ , D S = { ( 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 ) } \begin{aligned} &\left.a=|S S|, \quad S S=\left\{\left(x_{i}, x_{j}\right) | \lambda_{i}=\lambda_{j}, \lambda_{i}^{*}=\lambda_{j}^{*}, i<j\right)\right\}\\ &\left.b=|S D|, \quad S D=\left\{\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right) | \lambda_{i}=\lambda_{j}, \lambda_{i}^{*} \neq \lambda_{j}^{*}, i<j\right)\right\}\\ &\left.c=|D S|, \quad D S=\left\{\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right) | \lambda_{i} \neq \lambda_{j}, \lambda_{i}^{*}=\lambda_{j}^{*}, i<j\right)\right\}\\ &\left.d=|D D|, \quad D D=\left\{\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right) | \lambda_{i} \neq \lambda_{j}, \lambda_{i}^{*} \neq \lambda_{j}^{*}, i<j\right)\right\} \end{aligned} a=∣SS∣,SS={(xi,xj)∣λi=λj,λi∗=λj∗,i<j)}b=∣SD∣,SD={(xi,xj)∣λi=λj,λi∗=λj∗,i<j)}c=∣DS∣,DS={(xi,xj)∣λi=λj,λi∗=λj∗,i<j)}d=∣DD∣,DD={(xi,xj)∣λi=λj,λi∗=λj∗,i<j)}
a:聚类结果同类簇,参考结果同类簇;
b:聚类结果同类簇,参考结果不同类簇;
c:聚类结果不同类簇,参考结果同类簇;
d:聚类结果不同类簇,参考结果不同类簇。
则a+b+c+d=m(m-1)/2成立。- Jaccard系数(JC):
J C = a a + b + c \mathrm{JC}=\frac{a}{a+b+c} JC=a+b+ca - FM指数(FMI):
F M I = a a + b ⋅ a a + c \mathrm{FMI}=\sqrt{\frac{a}{a+b} \cdot \frac{a}{a+c}} FMI=a+ba⋅a+ca - Rand指数(RI):
R I = 2 ( a + d ) m ( m − 1 ) \mathrm{RI}=\frac{2(a+d)}{m(m-1)} RI=m(m−1)2(a+d)
上述性能度量的结果均在[0,1]之间,且值越大越好。
- Jaccard系数(JC):
-
内部度量
定义如下公式:
avg ( C ) = 2 ∣ C ∣ ( ∣ C ∣ − 1 ) ∑ 1 ⩽ i < j ⩽ ∣ C ∣ dist ( x i , x j ) \operatorname{avg}(C)=\frac{2}{|C|(|C|-1)} \sum_{1 \leqslant i<j \leqslant|C|} \operatorname{dist}\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right) avg(C)=∣C∣(∣C∣−1)2∑1⩽i<j⩽∣C∣dist(xi,xj),表示簇内样本的平均距离,越小越好;
diam ( C ) = max 1 ⩽ i < j ⩽ ∣ C ∣ dist ( x i , x j ) \operatorname{diam}(C)=\max _{1 \leqslant i<j \leqslant|C|} \operatorname{dist}\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right) diam(C)=max1⩽i<j⩽∣C∣dist(xi,xj),表示簇内样本的最远距离,越小越好;
d min ( C i , C j ) = min x i ∈ C i , x j ∈ C j dist ( x i , x j ) d_{\min }\left(C_{i}, C_{j}\right)=\min _{\boldsymbol{x}_{i} \in C_{i}, \boldsymbol{x}_{j} \in C_{j}} \operatorname{dist}\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right) dmin(Ci,Cj)=minxi∈Ci,xj∈Cjdist(xi,xj),表示簇间最小距离,越大越好。
d c e n ( C i , C j ) = dist ( μ i , μ j ) d_{\mathrm{cen}}\left(C_{i}, C_{j}\right)=\operatorname{dist}\left(\boldsymbol{\mu}_{i}, \boldsymbol{\mu}_{j}\right) dcen(Ci,Cj)=dist(μi,μj),表示簇中心距离,越大越好。- DB指数(DBI)
D B I = 1 k ∑ i = 1 k max j ≠ i ( avg ( C i ) + avg ( C j ) d cen ( μ i , μ j ) ) \mathrm{DBI}=\frac{1}{k} \sum_{i=1}^{k} \max _{j \neq i}\left(\frac{\operatorname{avg}\left(C_{i}\right)+\operatorname{avg}\left(C_{j}\right)}{d_{\operatorname{cen}}\left(\mu_{i}, \mu_{j}\right)}\right) DBI=k1i=1∑kj=imax(dcen(μi,μj)avg(Ci)+avg(Cj))
DBI越小越好,分子越小越好,分母越大越好。 - Dunn指数(DI)
D I = min 1 ⩽ i ⩽ k { min j ≠ i ( d min ( C i , C j ) max 1 ⩽ l ⩽ k diam ( C l ) ) } \mathrm{DI}=\min _{1 \leqslant i \leqslant k}\left\{\min _{j \neq i}\left(\frac{d_{\min }\left(C_{i}, C_{j}\right)}{\max _{1 \leqslant l \leqslant k} \operatorname{diam}\left(C_{l}\right)}\right)\right\} DI=1⩽i⩽kmin{j=imin(max1⩽l⩽kdiam(Cl)dmin(Ci,Cj))}
DI越大越好,分子越大越好,分母越小越好。
- DB指数(DBI)
距离计算
1、距离度量的性质
- 非负性:距离大于等于0
- 同一性:同一样本之间距离为0
- 对称性:A和B的距离等于B和A的距离
- 直递性: dist ( x i , x j ) ⩽ dist ( x i , x k ) + dist ( x k , x j ) \operatorname{dist}\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right) \leqslant \operatorname{dist}\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{k}\right)+\operatorname{dist}\left(\boldsymbol{x}_{k}, \boldsymbol{x}_{j}\right) dist(xi,xj)⩽dist(xi,xk)+dist(xk,xj)
2、距离的定义
- 有序属性
1) 闵可夫斯基距离
dist mk ( x i , x j ) = ( ∑ u = 1 n ∣ x i u − x j u ∣ p ) 1 p \operatorname{dist}_{\operatorname{mk}}\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right)=\left(\sum_{u=1}^{n}\left|x_{i u}-x_{j u}\right|^{p}\right)^{\frac{1}{p}} distmk(xi,xj)=(u=1∑n∣xiu−xju∣p)p1
其显然满足以上4个性质。
2) p=2时,欧氏距离
dist e d ( x i , x j ) = ∥ x i − x j ∥ 2 = ∑ u = 1 n ∣ x i u − x j u ∣ 2 \operatorname{dist}_{\mathrm{ed}}\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right)=\left\|\boldsymbol{x}_{i}-\boldsymbol{x}_{j}\right\|_{2}=\sqrt{\sum_{u=1}^{n}\left|x_{i u}-x_{j u}\right|^{2}} disted(xi,xj)=∥xi−xj∥2=u=1∑n∣xiu−xju∣2
3)p=1时,曼哈顿距离
dist man ( x i , x j ) = ∥ x i − x j ∥ 1 = ∑ u = 1 n ∣ x i u − x j u ∣ \operatorname{dist}_{\operatorname{man}}\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right)=\left\|\boldsymbol{x}_{i}-\boldsymbol{x}_{j}\right\|_{1}=\sum_{u=1}^{n}\left|x_{i u}-x_{j u}\right| distman(xi,xj)=∥xi−xj∥1=u=1∑n∣xiu−xju∣
曼哈顿距离和欧氏距离是闵可夫斯基距离的特例。 - 无序属性
VDM:
VDM p ( a , b ) = ∑ i = 1 k ∣ m u , a , i m u , a − m u , b , i m u , b ∣ p \operatorname{VDM}_{p}(a, b)=\sum_{i=1}^{k}\left|\frac{m_{u, a, i}}{m_{u, a}}-\frac{m_{u, b, i}}{m_{u, b}}\right|^{p} VDMp(a,b)=i=1∑k∣∣∣∣mu,amu,a,i−mu,bmu,b,i∣∣∣∣p - 混合属性
闵可夫斯基距离与VDM结合即可处理。
MinkovDM p ( x i , x j ) = ( ( ∑ u = 1 n e ∣ x i u − x j u ∣ p ) + ( ∑ u = n c + 1 n VDM p ( x i u , x j u ) ) ) 1 p \operatorname{MinkovDM}_{p}\left(\boldsymbol{x}_{i}, \boldsymbol{x}_{j}\right)=\left(\left(\sum_{u=1}^{n_{e}}\left|x_{i u}-x_{j u}\right|^{p}\right)+\left(\sum_{u=n_{c}+1}^{n} \operatorname{VDM}_{p}\left(x_{i u}, x_{j u}\right)\right)\right)^{\frac{1}{p}} MinkovDMp(xi,xj)=((u=1∑ne∣xiu−xju∣p)+(u=nc+1∑nVDMp(xiu,xju)))p1 - 属性重要程度不同
可使用加权距离,以加权闵可夫斯基距离为例:
dist w m k ( x i , x j ) = ( w 1 ⋅ ∣ x i 1 − x j 1 ∣ p + … + w n ⋅ ∣ x i n − x j n ∣ p ) 1 p \operatorname{dist}_{w m k}\left(x_{i}, x_{j}\right)=\left(w_{1} \cdot\left|x_{i 1}-x_{j 1}\right|^{p}+\ldots+w_{n} \cdot\left|x_{i n}-x_{j n}\right|^{p}\right)^{\frac{1}{p}} distwmk(xi,xj)=(w1⋅∣xi1−xj1∣p+…+wn⋅∣xin−xjn∣p)p1
w为权重。
以上距离计算公式都是事先定义好的,现实中存在很多有必要基于数据样本确定合适的距离计算式,则可通过“距离度量学习”来实现。
3、非度量距离
用于相似度度量的距离未必一定满足距离度量的所有基本性质,尤其是直递性,这样的距离称为非度量距离。