核心思想
论文的核心思想是研究 kkk-means 聚类的降维方法,旨在通过特征选择和特征提取技术降低高维数据的计算复杂性,同时保持聚类质量的理论保证。论文提出了一种新的特征选择方法和两种改进的特征提取方法,均基于随机化算法,提供了常数因子近似保证。核心观点是将 kkk-means 聚类问题从线性代数的视角重新表述,利用矩阵低秩近似技术(如奇异值分解 SVD 和随机投影)来实现降维,同时保持聚类目标函数的近似精度。
具体而言,论文通过以下方式实现降维:
- 特征选择:从原始特征中选择一个小的子集,基于随机采样技术,结合近似 SVD 的思想,提出首个具有理论保证的 kkk-means 特征选择算法。
- 特征提取:通过随机投影和快速近似 SVD 构建新的低维特征,优化时间复杂度和特征数量,同时保持聚类质量。
目标函数
kkk-means 聚类的目标是给定 mmm 个欧几里得点 P={p1,p2,…,pm}⊆Rn\mathcal{P} = \{\mathbf{p}_1, \mathbf{p}_2, \ldots, \mathbf{p}_m\} \subseteq \mathbb{R}^nP={p1,p2,…,pm}⊆Rn 和聚类数量 kkk,将这些点划分为 kkk 个簇,使得每个点到其最近簇中心的平方欧几里得距离之和最小。目标函数定义为:
F(P,S)=∑i=1m∥pi−μ(pi)∥22 \mathcal{F}(\mathcal{P}, \mathcal{S}) = \sum_{i=1}^m \|\mathbf{p}_i - \boldsymbol{\mu}(\mathbf{p}_i)\|_2^2 F(P,S)=i=1∑m∥pi−μ(pi)∥22
其中:
- S={S1,S2,…,Sk}\mathcal{S} = \{\mathcal{S}_1, \mathcal{S}_2, \ldots, \mathcal{S}_k\}S={S1,S2,…,Sk} 是 P\mathcal{P}P 的一个 kkk 分区,Sj\mathcal{S}_jSj 表示第 jjj 个簇,sj=∣Sj∣s_j = |\mathcal{S}_j|sj=∣Sj∣ 是簇的大小。
- μj=∑pi∈Sjpisj\boldsymbol{\mu}_j = \frac{\sum_{\mathbf{p}_i \in \mathcal{S}_j} \mathbf{p}_i}{s_j}μj=sj∑pi∈Sjpi 是第 jjj 个簇的质心,μ(pi)\boldsymbol{\mu}(\mathbf{p}_i)μ(pi) 是点 pi\mathbf{p}_ipi 所属簇的质心。
在线性代数视角下,数据点组成矩阵 A∈Rm×n\mathbf{A} \in \mathbb{R}^{m \times n}A∈Rm×n,每行表示一个数据点 pi⊤\mathbf{p}_i^\toppi⊤。聚类由簇指示矩阵 X∈Rm×k\mathbf{X} \in \mathbb{R}^{m \times k}X∈Rm×k 表示,其中 Xij=1/sj\mathbf{X}_{ij} = 1/\sqrt{s_j}Xij=1/sj 如果点 pi\mathbf{p}_ipi 属于簇 Sj\mathcal{S}_jSj,否则为 0。目标函数可重写为:
F(A,X)=∥A−XX⊤A∥F2 \mathcal{F}(\mathbf{A}, \mathbf{X}) = \|\mathbf{A} - \mathbf{X} \mathbf{X}^\top \mathbf{A}\|_F^2 F(A,X)=∥A−XX⊤A∥F2
其中 ∥⋅∥F\|\cdot\|_F∥⋅∥F 表示 Frobenius 范数。目标是找到最优的簇指示矩阵 Xopt\mathbf{X}_{\text{opt}}Xopt,使得:
Xopt=argminX∈X∥A−XX⊤A∥F2 \mathbf{X}_{\text{opt}} = \underset{\mathbf{X} \in \mathcal{X}}{\operatorname{argmin}} \|\mathbf{A} - \mathbf{X} \mathbf{X}^\top \mathbf{A}\|_F^2 Xopt=X∈Xargmin∥A−XX⊤A∥F2
其中 X\mathcal{X}X 是所有 m×km \times km×k 簇指示矩阵的集合,最优目标函数值为 F(A,Xopt)=Fopt\mathcal{F}(\mathbf{A}, \mathbf{X}_{\text{opt}}) = \mathbf{F}_{\text{opt}}F(A,Xopt)=Fopt。
降维的目标是构建低维点集 P~={p~1,p~2,…,p~m}⊆Rr\tilde{\mathcal{P}} = \{\tilde{\mathbf{p}}_1, \tilde{\mathbf{p}}_2, \ldots, \tilde{\mathbf{p}}_m\} \subseteq \mathbb{R}^rP~={p~1,p~2,…,p~m}⊆Rr(r≪nr \ll nr≪n),使得在低维空间计算的最优 kkk-means 分区 S~opt\tilde{\mathcal{S}}_{\text{opt}}S~opt 在原始空间的目标函数值满足:
F(P,S~opt)≤γ⋅F(P,Sopt) \mathcal{F}(\mathcal{P}, \tilde{\mathcal{S}}_{\text{opt}}) \leq \gamma \cdot \mathcal{F}(\mathcal{P}, \mathcal{S}_{\text{opt}}) F(P,S~opt)≤γ⋅F(P,Sopt)
其中 γ>0\gamma > 0γ>0 是近似比率。
目标函数的优化过程
kkk-means 聚类的优化是一个 NP 难问题,传统方法如 Lloyd 算法通过迭代优化目标函数,但计算复杂性随维度 nnn 增加而显著上升。论文通过降维降低计算复杂性,具体优化过程如下:
-
特征选择(Theorem 11):
- 步骤:
- 给定数据矩阵 A∈Rm×n\mathbf{A} \in \mathbb{R}^{m \times n}A∈Rm×n 和簇数 kkk,计算近似右奇异向量矩阵 Z∈Rn×k\mathbf{Z} \in \mathbb{R}^{n \times k}Z∈Rn×k,使用快速 Frobenius 范数 SVD 算法(Lemma 4),满足 Z⊤Z=Ik\mathbf{Z}^\top \mathbf{Z} = \mathbf{I}_kZ⊤Z=Ik 且 E∥A−AZZ⊤∥F2≤(1+ε)∥A−Ak∥F2\mathbb{E}\|\mathbf{A} - \mathbf{A} \mathbf{Z} \mathbf{Z}^\top\|_F^2 \leq (1+\varepsilon) \|\mathbf{A} - \mathbf{A}_k\|_F^2E∥A−AZZ⊤∥F2≤(1+ε)∥A−Ak∥F2。
- 使用随机采样方法(Definition 5),根据 Z\mathbf{Z}Z 的行范数计算采样概率 pi=∥Z(i)∥22∥Z∥F2p_i = \frac{\|\mathbf{Z}_{(i)}\|_2^2}{\|\mathbf{Z}\|_F^2}pi=∥Z∥F2∥Z(i)∥22,从中选择 r=O(klog(k)/ε2)r = O(k \log(k) / \varepsilon^2)r=O(klog(k)/ε2) 个特征。
- 构建采样矩阵 Ω∈Rn×r\boldsymbol{\Omega} \in \mathbb{R}^{n \times r}Ω∈Rn×r 和重缩放矩阵 S∈Rr×r\mathbf{S} \in \mathbb{R}^{r \times r}S∈Rr×r,得到低维矩阵 C=AΩS\mathbf{C} = \mathbf{A} \boldsymbol{\Omega} \mathbf{S}C=AΩS。
- 在 C\mathbf{C}C 上运行 kkk-means 算法,得到低维最优分区 X~opt\tilde{\mathbf{X}}_{\text{opt}}X~opt,并将其应用于原始数据 A\mathbf{A}A。
- 优化原理:通过近似 SVD 和随机采样,保留数据的主要结构,降低维度,同时保证目标函数的 (3+ε)(3+\varepsilon)(3+ε) 近似。
- 步骤:
-
特征提取 - 随机投影(Theorem 12):
- 步骤:
- 构造随机投影矩阵 R∈Rn×r\mathbf{R} \in \mathbb{R}^{n \times r}R∈Rn×r,其中 r=O(k/ε2)r = O(k / \varepsilon^2)r=O(k/ε2),元素为标准高斯分布或重缩放的随机符号。
- 计算低维矩阵 C=AR∈Rm×r\mathbf{C} = \mathbf{A} \mathbf{R} \in \mathbb{R}^{m \times r}C=AR∈Rm×r,表示低维点集 P~\tilde{\mathcal{P}}P~。
- 在 C\mathbf{C}C 上运行 kkk-means 算法,得到 X~opt\tilde{\mathbf{X}}_{\text{opt}}X~opt,并计算原始空间的目标函数值。
- 优化原理:利用 Johnson-Lindenstrauss 引理,随机投影保留点之间的欧几里得距离,目标函数近似误差为 (2+ε)(2+\varepsilon)(2+ε)。
- 步骤:
-
特征提取 - 近似 SVD(Theorem 13):
- 步骤:
- 使用快速近似 SVD 算法(Lemma 4)计算 Z∈Rn×k\mathbf{Z} \in \mathbb{R}^{n \times k}Z∈Rn×k,近似 A\mathbf{A}A 的前 kkk 个右奇异向量。
- 构建低维矩阵 C=AZ∈Rm×k\mathbf{C} = \mathbf{A} \mathbf{Z} \in \mathbb{R}^{m \times k}C=AZ∈Rm×k。
- 在 C\mathbf{C}C 上运行 kkk-means 算法,得到 X~opt\tilde{\mathbf{X}}_{\text{opt}}X~opt。
- 优化原理:近似 SVD 提供接近最优的低秩近似,目标函数近似误差为 (2+ε)(2+\varepsilon)(2+ε),时间复杂度显著低于精确 SVD。
- 步骤:
优化过程的关键是通过矩阵 C=AD\mathbf{C} = \mathbf{A} \mathbf{D}C=AD(其中 D\mathbf{D}D 为特征选择或提取矩阵)构造低维表示,确保 C⋅H\mathbf{C} \cdot \mathbf{H}C⋅H(适当的 H\mathbf{H}H)在 Frobenius 范数下接近 Ak\mathbf{A}_kAk(A\mathbf{A}A 的最佳秩 kkk 近似)。利用矩阵 Pythagorean 定理和 SVD 的正交性,证明近似误差受控。
主要贡献点
- 首个理论保证的特征选择算法:
- 提出了一种随机化特征选择算法(Theorem 11),以 O(mnk/ε+klog(k)/ε2log(klog(k)/ε))O(m n k / \varepsilon + k \log(k) / \varepsilon^2 \log(k \log(k) / \varepsilon))O(mnk/ε+klog(k)/ε2log(klog(k)/ε)) 时间复杂度选择 r=O(klog(k)/ε2)r = O(k \log(k) / \varepsilon^2)r=O(klog(k)/ε2) 个特征,达到 (3+ε)(3+\varepsilon)(3+ε) 近似误差。这是首个具有理论保证的 kkk-means 特征选择方法。
- 改进的随机投影特征提取:
- Theorem 12 提出了一种随机投影方法,所需维度从 O(log(m)/ε2)O(\log(m) / \varepsilon^2)O(log(m)/ε2) 减少到 O(k/ε2)O(k / \varepsilon^2)O(k/ε2),时间复杂度为 O(mn[ε−2k/log(n)])O(m n [\varepsilon^{-2} k / \log(n)])O(mn[ε−2k/log(n)]),近似误差为 (2+ε)(2+\varepsilon)(2+ε),优于传统随机投影结果。
- 快速近似 SVD 特征提取:
- Theorem 13 利用快速近似 SVD,仅需 r=kr = kr=k 个特征和 O(mnk/ε)O(m n k / \varepsilon)O(mnk/ε) 时间复杂度,达到 (2+ε)(2+\varepsilon)(2+ε) 近似误差,显著优于精确 SVD 的 O(mnmin(m,n))O(m n \min(m, n))O(mnmin(m,n)) 时间复杂度。
- 线性代数视角:
- 将 kkk-means 聚类问题重构为矩阵低秩近似问题,利用 SVD 和随机投影的理论工具,提供了统一的分析框架。
- 实验验证:
- 在合成数据集和真实数据集(如 USPS、COIL20、LIGHT、PIE、ORL)上验证了算法的有效性,表明小维度(如 r=20r=20r=20 或 303030)即可实现接近最优的聚类效果。
实验结果
实验在合成数据集和多个真实数据集(USPS、COIL20、LIGHT、PIE、ORL)上进行,评估了运行时间、目标函数值(归一化形式 F/∥A∥F2\mathcal{F} / \|\mathbf{A}\|_F^2F/∥A∥F2)和聚类准确率(基于标签的误分类率)。主要结果如下:
- 合成数据集:
- 降维方法显著优于朴素 kkk-means,运行时间大幅降低。
- 当维度 r≈20r \approx 20r≈20 时,聚类准确率接近最优,表明降维在分离良好的数据上非常有效。
- 真实数据集:
- 随着维度 rrr 增加,归一化目标函数值逐渐接近朴素 kkk-means 的值。
- 在 USPS、LIGHT 和 ORL 数据集上,提出的降维方法在准确率和目标函数值上优于 Laplacian Scores 方法。
- 在 PIE 和 COIL20 数据集上,Laplacian Scores 在准确率上更优,但朴素 kkk-means 表现较差,表明这些数据可能分离性较差。
- 运行时间:
- 降维后 kkk-means 的每次迭代时间复杂度从 O(kmn)O(k m n)O(kmn) 降至 O(mk2/ε2)O(m k^2 / \varepsilon^2)O(mk2/ε2),显著提高效率。
- 运行时间不随维度单调增加,可能是因为降维后 Lloyd 算法迭代次数变化。
- 结论:
- 实验表明 r=20r=20r=20 或 303030 即可实现接近最优的聚类效果,验证了算法在理论和实践中的有效性。
算法实现过程
以下详细解释三种算法的实现过程,结合数学公式和伪代码。
1. 特征选择算法(Theorem 11)
算法描述:基于随机采样的特征选择,结合近似 SVD。
输入:数据矩阵 A∈Rm×n\mathbf{A} \in \mathbb{R}^{m \times n}A∈Rm×n,簇数 kkk,误差参数 ε\varepsilonε,失败概率 δ\deltaδ。
输出:低维矩阵 C∈Rm×r\mathbf{C} \in \mathbb{R}^{m \times r}C∈Rm×r,簇指示矩阵 X~opt\tilde{\mathbf{X}}_{\text{opt}}X~opt。
步骤:
- 计算近似右奇异向量:
- 使用快速 Frobenius 范数 SVD 算法(Lemma 4):
Z=FastFrobeniusSVD(A,k,ε) \mathbf{Z} = \text{FastFrobeniusSVD}(\mathbf{A}, k, \varepsilon) Z=FastFrobeniusSVD(A,k,ε)
其中 Z∈Rn×k\mathbf{Z} \in \mathbb{R}^{n \times k}Z∈Rn×k,满足 Z⊤Z=Ik\mathbf{Z}^\top \mathbf{Z} = \mathbf{I}_kZ⊤Z=Ik,且 E∥A−AZZ⊤∥F2≤(1+ε)∥A−Ak∥F2\mathbb{E}\|\mathbf{A} - \mathbf{A} \mathbf{Z} \mathbf{Z}^\top\|_F^2 \leq (1+\varepsilon) \|\mathbf{A} - \mathbf{A}_k\|_F^2E∥A−AZZ⊤∥F2≤(1+ε)∥A−Ak∥F2。 - 时间复杂度:O(mnk/ε)O(m n k / \varepsilon)O(mnk/ε)。
- 使用快速 Frobenius 范数 SVD 算法(Lemma 4):
- 计算采样概率:
- 对 Z\mathbf{Z}Z 的每一行 Z(i)\mathbf{Z}_{(i)}Z(i),计算概率:
pi=∥Z(i)∥22∥Z∥F2 p_i = \frac{\|\mathbf{Z}_{(i)}\|_2^2}{\|\mathbf{Z}\|_F^2} pi=∥Z∥F2∥Z(i)∥22
其中 ∥Z∥F2=k\|\mathbf{Z}\|_F^2 = k∥Z∥F2=k(因为 Z⊤Z=Ik\mathbf{Z}^\top \mathbf{Z} = \mathbf{I}_kZ⊤Z=Ik)。 - 时间复杂度:O(nk)O(n k)O(nk)。
- 对 Z\mathbf{Z}Z 的每一行 Z(i)\mathbf{Z}_{(i)}Z(i),计算概率:
- 随机采样特征:
- 选择 r=O(klog(k)/ε2)r = O(k \log(k) / \varepsilon^2)r=O(klog(k)/ε2),调用随机采样算法(Definition 5):
[Ω,S]=RandomizedSampling(Z,r) [\boldsymbol{\Omega}, \mathbf{S}] = \text{RandomizedSampling}(\mathbf{Z}, r) [Ω,S]=RandomizedSampling(Z,r)
其中 Ω∈Rn×r\boldsymbol{\Omega} \in \mathbb{R}^{n \times r}Ω∈Rn×r 是采样矩阵,S∈Rr×r\mathbf{S} \in \mathbb{R}^{r \times r}S∈Rr×r 是重缩放矩阵。 - 时间复杂度:O(n+r)O(n + r)O(n+r)。
- 选择 r=O(klog(k)/ε2)r = O(k \log(k) / \varepsilon^2)r=O(klog(k)/ε2),调用随机采样算法(Definition 5):
- 构建低维矩阵:
- 计算 C=AΩS∈Rm×r\mathbf{C} = \mathbf{A} \boldsymbol{\Omega} \mathbf{S} \in \mathbb{R}^{m \times r}C=AΩS∈Rm×r,表示选择的 rrr 个重缩放特征。
- 时间复杂度:O(mr)O(m r)O(mr)。
- 运行 kkk-means:
- 在 C\mathbf{C}C 上运行 Lloyd 算法,得到 X~opt\tilde{\mathbf{X}}_{\text{opt}}X~opt。
- 将 X~opt\tilde{\mathbf{X}}_{\text{opt}}X~opt 应用于 A\mathbf{A}A,计算目标函数值 F(A,X~opt)\mathcal{F}(\mathbf{A}, \tilde{\mathbf{X}}_{\text{opt}})F(A,X~opt)。
总时间复杂度:O(mnk/ε+klog(k)/ε2log(klog(k)/ε))O(m n k / \varepsilon + k \log(k) / \varepsilon^2 \log(k \log(k) / \varepsilon))O(mnk/ε+klog(k)/ε2log(klog(k)/ε))。
理论保证:以至少 1−3δ1-3\delta1−3δ 的概率,F(A,X~opt)≤(3+ε)F(A,Xopt)\mathcal{F}(\mathbf{A}, \tilde{\mathbf{X}}_{\text{opt}}) \leq (3+\varepsilon) \mathcal{F}(\mathbf{A}, \mathbf{X}_{\text{opt}})F(A,X~opt)≤(3+ε)F(A,Xopt)。
2. 随机投影特征提取(Theorem 12)
算法描述:基于随机投影的特征提取,利用 Johnson-Lindenstrauss 变换。
输入:A∈Rm×n\mathbf{A} \in \mathbb{R}^{m \times n}A∈Rm×n,kkk,ε\varepsilonε,δ\deltaδ。
输出:C∈Rm×r\mathbf{C} \in \mathbb{R}^{m \times r}C∈Rm×r,X~opt\tilde{\mathbf{X}}_{\text{opt}}X~opt。
步骤:
- 生成随机投影矩阵:
- 构造 R∈Rn×r\mathbf{R} \in \mathbb{R}^{n \times r}R∈Rn×r,其中 r=O(k/ε2)r = O(k / \varepsilon^2)r=O(k/ε2),元素为 i.i.d. N(0,1)\mathcal{N}(0, 1)N(0,1) 或重缩放随机符号 ±1/r\pm 1/\sqrt{r}±1/r。
- 投影数据:
- 计算 C=AR∈Rm×r\mathbf{C} = \mathbf{A} \mathbf{R} \in \mathbb{R}^{m \times r}C=AR∈Rm×r。
- 时间复杂度:O(mnr)=O(mn[ε−2k/log(n)])O(m n r) = O(m n [\varepsilon^{-2} k / \log(n)])O(mnr)=O(mn[ε−2k/log(n)])。
- 运行 kkk-means:
- 在 C\mathbf{C}C 上运行 Lloyd 算法,得到 X~opt\tilde{\mathbf{X}}_{\text{opt}}X~opt。
- 计算 F(A,X~opt)\mathcal{F}(\mathbf{A}, \tilde{\mathbf{X}}_{\text{opt}})F(A,X~opt)。
总时间复杂度:O(mn[ε−2k/log(n)])O(m n [\varepsilon^{-2} k / \log(n)])O(mn[ε−2k/log(n)])。
理论保证:以至少 0.97 的概率,F(A,X~opt)≤(2+ε)F(A,Xopt)\mathcal{F}(\mathbf{A}, \tilde{\mathbf{X}}_{\text{opt}}) \leq (2+\varepsilon) \mathcal{F}(\mathbf{A}, \mathbf{X}_{\text{opt}})F(A,X~opt)≤(2+ε)F(A,Xopt)。
3. 近似 SVD 特征提取(Theorem 13)
算法描述:基于快速近似 SVD 的特征提取。
输入:A∈Rm×n\mathbf{A} \in \mathbb{R}^{m \times n}A∈Rm×n,kkk,ε\varepsilonε,δ\deltaδ。
输出:C∈Rm×k\mathbf{C} \in \mathbb{R}^{m \times k}C∈Rm×k,X~opt\tilde{\mathbf{X}}_{\text{opt}}X~opt。
步骤:
- 计算近似 SVD:
- 使用 Lemma 4 计算 Z=FastFrobeniusSVD(A,k,ε)\mathbf{Z} = \text{FastFrobeniusSVD}(\mathbf{A}, k, \varepsilon)Z=FastFrobeniusSVD(A,k,ε)。
- 时间复杂度:O(mnk/ε)O(m n k / \varepsilon)O(mnk/ε)。
- 构建低维矩阵:
- 计算 C=AZ∈Rm×k\mathbf{C} = \mathbf{A} \mathbf{Z} \in \mathbb{R}^{m \times k}C=AZ∈Rm×k。
- 时间复杂度:O(mnk)O(m n k)O(mnk)。
- 运行 kkk-means:
- 在 C\mathbf{C}C 上运行 Lloyd 算法,得到 X~opt\tilde{\mathbf{X}}_{\text{opt}}X~opt。
- 计算 F(A,X~opt)\mathcal{F}(\mathbf{A}, \tilde{\mathbf{X}}_{\text{opt}})F(A,X~opt)。
总时间复杂度:O(mnk/ε)O(m n k / \varepsilon)O(mnk/ε)。
理论保证:以至少 0.99 的概率,F(A,X~opt)≤(2+ε)F(A,Xopt)\mathcal{F}(\mathbf{A}, \tilde{\mathbf{X}}_{\text{opt}}) \leq (2+\varepsilon) \mathcal{F}(\mathbf{A}, \mathbf{X}_{\text{opt}})F(A,X~opt)≤(2+ε)F(A,Xopt)。
总结
该论文通过线性代数视角和随机化技术,为 kkk-means 聚类提供了高效的降维方法,显著降低了计算复杂性,同时保持理论上的近似保证。特征选择和特征提取算法的实现过程清晰,结合了现代矩阵分解和随机投影技术。实验结果进一步验证了算法在实际数据集上的有效性,为未来研究 (1+ε)(1+\varepsilon)(1+ε) 近似误差的降维方法提供了方向。