聚类常用的外部指标有很多如Jaccard系数,FM指数,Rand指数,DB指数,Dunn指数。
因为在阅读文献中发现了Mirkin指数,看了一下网上没有写很详细的,故这里介绍Mirkin指数。
前期工作
对于数据集
D
=
x
1
,
x
2
,
.
.
.
,
x
m
D={x_{1},x_{2},...,x_{m}}
D=x1,x2,...,xm,假定通过聚类给出的簇划分为
C
=
C
1
,
C
2
,
.
.
.
,
C
k
C={C_{1},C_{2},...,C_{k}}
C=C1,C2,...,Ck,参考模型(如果用于一致性聚类,这里是另一个聚类即可)给出的簇划分为
C
∗
=
C
1
∗
,
C
2
∗
,
.
.
.
,
C
s
∗
C^{*}={C^{*}_{1},C^{*}_{2},...,C^{*}_{s}}
C∗=C1∗,C2∗,...,Cs∗(注意k不一定等于s),我们令
λ
\lambda
λ与
λ
∗
\lambda^{*}
λ∗分别表示表示
C
C
C与
C
∗
C^{*}
C∗对应的簇标记向量,将样本两两配对,定义如下
a
=
(
x
i
,
x
j
∣
λ
i
=
λ
j
,
λ
i
∗
=
λ
j
∗
,
i
<
j
)
a={(x_{i},x_{j}|\lambda_{i}=\lambda_{j},\lambda^{*}_{i}=\lambda^{*}_{j},i<j)}
a=(xi,xj∣λi=λj,λi∗=λj∗,i<j)
b
=
(
x
i
,
x
j
∣
λ
i
=
λ
j
,
λ
i
∗
≠
λ
j
∗
,
i
<
j
)
b={(x_{i},x_{j}|\lambda_{i}=\lambda_{j},\lambda^{*}_{i}\neq\lambda^{*}_{j},i<j)}
b=(xi,xj∣λi=λj,λi∗=λj∗,i<j)
c
=
(
x
i
,
x
j
∣
λ
i
≠
λ
j
,
λ
i
∗
=
λ
j
∗
,
i
<
j
)
c={(x_{i},x_{j}|\lambda_{i}\neq\lambda_{j},\lambda^{*}_{i}=\lambda^{*}_{j},i<j)}
c=(xi,xj∣λi=λj,λi∗=λj∗,i<j)
d
=
(
x
i
,
x
j
∣
λ
i
≠
λ
j
,
λ
i
∗
≠
λ
j
∗
,
i
<
j
)
d={(x_{i},x_{j}|\lambda_{i}\neq\lambda_{j},\lambda^{*}_{i}\neq\lambda^{*}_{j},i<j)}
d=(xi,xj∣λi=λj,λi∗=λj∗,i<j)
如上式,其中
a
a
a表示
C
C
C中隶属于相同簇且在与
C
∗
C^{*}
C∗也隶属于相同簇的样本对,其中
b
b
b表示
C
C
C中隶属于相同簇且在与
C
∗
C^{*}
C∗也隶属于不同簇的样本对…
易知
a
+
b
+
c
+
d
=
m
(
m
−
1
)
/
2
a+b+c+d=m(m-1)/2
a+b+c+d=m(m−1)/2
证明
已知每个样本对在
a
,
b
,
c
,
d
a,b,c,d
a,b,c,d必出现一次,且有且仅出现一次,则有
a
+
b
+
c
+
d
=
(
m
−
1
)
+
(
m
−
2
)
+
.
.
.
+
1
=
m
(
m
−
1
)
/
2
a+b+c+d=(m-1)+(m-2)+...+1 =m(m-1)/2
a+b+c+d=(m−1)+(m−2)+...+1=m(m−1)/2
Mirkin指数
M K = ( b + c ) / ( a + b + c + d ) = 2 ( b + c ) / ( m ∗ ( m − 1 ) ) MK=(b+c)/(a+b+c+d)=2(b+c)/(m*(m-1)) MK=(b+c)/(a+b+c+d)=2(b+c)/(m∗(m−1))
Rand指数
M K = ( a + d ) / ( a + b + c + d ) = 2 ( a + d ) / ( m ∗ ( m − 1 ) ) MK=(a+d)/(a+b+c+d)=2(a+d)/(m*(m-1)) MK=(a+d)/(a+b+c+d)=2(a+d)/(m∗(m−1))
其他指数
Jaccard系数
J
C
=
a
/
(
a
+
b
+
c
)
JC=a/(a+b+c)
JC=a/(a+b+c)
FM指数
F
M
I
=
a
2
/
(
(
a
+
b
)
(
a
+
c
)
)
FMI=\sqrt{a^{2}/((a+b)(a+c))}
FMI=a2/((a+b)(a+c))
参考文献
周志华《机器学习》,清华大学出版社