- 谱聚类算法是基于标准线性代数求解的,比传统的聚类方法(如K-means)效果好
- 谱聚类的两个关键的数学依据是相似图和图拉普拉斯
- 聚类的目标是将数据集划分成若干组子集,使得组间差异性最大而组内差异性最小
1 图论相关知识
用图论的角度思考,将每个数据点视为顶点,而数据点之间的相似性视为边,则可以定义相似图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E),则聚类问题转化为用最小的代价去划分图,使得不同组间边的连接权值总和尽可能小,而组内边的连接权值总和尽可能大
相似图是无向图,可以建立邻接矩阵
W
=
(
w
i
j
)
i
,
j
=
1
,
⋅
⋅
⋅
,
n
W=(w_{ij})_{i,j=1,\cdot\cdot\cdot,n}
W=(wij)i,j=1,⋅⋅⋅,n,如果
w
i
,
j
=
0
w_{i,j}=0
wi,j=0表示顶点
v
i
v_i
vi和
v
j
v_j
vj之间无连接边,定义顶点的度为
d
i
=
∑
j
=
1
n
w
i
j
d_i=\sum_{j=1} ^n w_{ij}
di=∑j=1nwij
定义不互斥的两个子集A和B有
W
(
A
,
B
)
:
=
∑
i
∈
A
,
j
∈
B
w
i
j
W(A,B):=\sum_{i\in A,j\in B} w_{ij}
W(A,B):=∑i∈A,j∈Bwij
定义
∣
A
∣
|A|
∣A∣为A的顶点数,
v
o
l
(
A
)
vol(A)
vol(A)为A中所有顶点度之和
2 不同的相似图
相似图的构建主要依赖于顶点间的相似性或者距离来构建局部数据点的近邻关系,构建方法有:
(a)
ε
\varepsilon
ε 近邻图:即设置顶点距离的最大阈值,从而得到稀疏图,适用于无向图
(b)
k
k
k近邻图:即设置顶点的最大近邻数,适用于有向图,对于无向图可以分别考虑单向和互近邻两种情况来构建无向图
(c)全连接图:采用高斯相似函数
s
(
x
i
,
x
j
)
=
exp
(
−
∥
x
i
−
x
j
∥
2
/
(
2
σ
2
)
)
s(x_i,x_j)=\exp(−\Vert x_i−x_j \Vert ^2/(2σ^2))
s(xi,xj)=exp(−∥xi−xj∥2/(2σ2))
3 图拉普拉斯
图拉普拉斯矩阵是谱聚类算法的重点
非标注化的图拉普拉斯矩阵定义为
L
=
D
−
W
L=D-W
L=D−W,
D
D
D是顶点度组成的对角阵,
W
W
W是邻接矩阵
L
L
L是对称半正定矩阵,最小的特征值为0
将L标准化有:
L
s
y
m
:
=
D
−
1
/
2
L
D
−
1
/
2
=
I
−
D
−
1
/
2
W
D
−
1
/
2
L_{sym}:=D^{-1/2}LD^{-1/2}=I-D^{-1/2}WD^{-1/2}
Lsym:=D−1/2LD−1/2=I−D−1/2WD−1/2,
L
r
w
:
=
D
−
1
L
=
I
−
D
−
1
W
L_{rw}:=D^{-1}L=I-D^{-1}W
Lrw:=D−1L=I−D−1W
4 标准化谱算法流程
算法输入:
n
n
n维相似度矩阵
S
S
S,聚类数
k
k
k
(a)构建相似图和邻接矩阵
W
W
W
(b)计算非标准化拉普拉斯矩阵L
(c)计算前
k
k
k个特征值对应的特征向量
(d)构建包含
k
k
k个特征向量的矩阵
U
∈
R
n
×
k
U\in R^{n\times k}
U∈Rn×k
(e)对
U
U
U进行标准化得到
T
T
T,
t
i
j
=
u
i
j
/
(
∑
k
u
i
k
2
)
1
/
2
t_{ij}=u_{ij}/(\sum_k u_{ik}^2)^{1/2}
tij=uij/(∑kuik2)1/2
(f)对
T
T
T中的特征向量进行聚类,则聚类结果每一行的类别对应最初的邻接图N个顶点的类别
参考文献
- Ulrike von Luxburg. A Tutorial on Spectral Clustering. Statistics and Computing, 17 (4), 2007.