稀疏子空间聚类(Sparse Subspace Clustering, SSC)是一种处理高维数据的聚类方法
,特别适用于当数据分布在多个低维子空间上的情况。
SSC 利用了稀疏表示
的概念来估计数据点之间的关系,并以此构建相似度矩阵
,最终通过谱聚类
技术将数据点分配到各自的子空间中。
稀疏子空间聚类 (SSC)
基本概念
假设有一组数据点集合
X
=
{
x
1
,
x
2
,
.
.
.
,
x
N
}
\mathbf{X} = \{\mathbf{x}_1, \mathbf{x}_2, ..., \mathbf{x}_N\}
X={x1,x2,...,xN},其中
x
i
∈
R
D
\mathbf{x}_i \in \mathbb{R}^D
xi∈RD 是高维空间中的点
。
这些点分布在 K K K 个低维子空间上,每个子空间的维数远小于数据点的原始维度,即 d k ≪ D d_k \ll D dk≪D。
稀疏表示
稀疏表示
是指在给定的字典中,使用尽可能少的非零元素来表示某个信号的过程
。
在 SSC 中,这个“信号”就是数据点
,而字典则是由数据集本身构成的。
换句话说,每个数据点都可以表示为其余数据点的加权和
,权重向量称为稀疏表示系数。
SSC 的数学模型
对于数据点
x
i
\mathbf{x}_i
xi,我们寻找一个稀疏系数向量
z
i
\mathbf{z}_i
zi,使得
x
i
\mathbf{x}_i
xi 可以由其他数据点的线性组合来逼近
,同时使
z
i
\mathbf{z}_i
zi 尽可能稀疏。
数学上,这个问题可以表示为以下优化问题:
min z i ∥ x i − X z i ∥ 2 2 + λ ∥ z i ∥ 1 s.t. z i i = 0 , \min_{\mathbf{z}_i} \|\mathbf{x}_i - \mathbf{X}\mathbf{z}_i\|_2^2 + \lambda \|\mathbf{z}_i\|_1 \quad \text{s.t. } z_{ii} = 0, zimin∥xi−Xzi∥22+λ∥zi∥1s.t. zii=0,
其中:
-
X
\mathbf{X}
X 是
数据点组成的矩阵,
-
z
i
\mathbf{z}_i
zi 是第
i
i
i 个数据点的
稀疏表示系数向量,
- ∥ ⋅ ∥ 2 \|\cdot\|_2 ∥⋅∥2 和 ∥ ⋅ ∥ 1 \|\cdot\|_1 ∥⋅∥1 分别表示欧几里得范数(L2范数)和 L1 范数,
- λ \lambda λ 是正则化参数,控制稀疏性和拟合误差之间的平衡,
-
z
i
i
=
0
z_{ii} = 0
zii=0
表示不使用自身表示自身,避免了自循环。
相似度矩阵构建
一旦我们得到了所有数据点的稀疏表示系数
Z
=
[
z
1
,
z
2
,
.
.
.
,
z
N
]
\mathbf{Z} = [\mathbf{z}_1, \mathbf{z}_2, ..., \mathbf{z}_N]
Z=[z1,z2,...,zN],我们可以构建一个相似度矩阵
W
\mathbf{W}
W 来反映数据点之间的相似度。
通常, W \mathbf{W} W 可以定义为 Z \mathbf{Z} Z 的绝对值加上转置的绝对值,即:
W = ∣ Z ∣ + ∣ Z ⊤ ∣ , \mathbf{W} = |\mathbf{Z}| + |\mathbf{Z}^\top|, W=∣Z∣+∣Z⊤∣,
这里 ∣ ⋅ ∣ |\cdot| ∣⋅∣ 表示取矩阵的元素绝对值。
谱聚类
有了相似度矩阵 W \mathbf{W} W,接下来的步骤是使用谱聚类来将数据点聚类到各自的子空间中。
谱聚类首先会构建图拉普拉斯矩阵
L
\mathbf{L}
L,然后计算其特征向量,并通过 K-means 或其他聚类算法将特征向量聚类。
L = D − W , \mathbf{L} = \mathbf{D} - \mathbf{W}, L=D−W,
其中 D \mathbf{D} D 是度矩阵,其对角线元素是 W \mathbf{W} W 的行和。
总结
SSC 的目标公式可以概括为上述的稀疏表示问题,它通过寻找稀疏系数矩阵来揭示数据点之间的内在子空间结构。
通过谱聚类,SSC 最终将数据点划分到它们所属的子空间中,即使在高维和噪声环境下也能保持良好的性能。
请注意,实际应用中,求解稀疏表示问题可能需要使用特定的优化算法,例如基追踪(Basis Pursuit)、正交匹配追踪(Orthogonal Matching Pursuit)或交替方向乘子法(Alternating Direction Method of Multipliers, ADMM)。