NIPS-2013《Distributed PCA and $k$-Means Clustering》

核心思想

该论文的核心思想是将主成分分析(PCA)分布式kkk-均值聚类相结合,提出一种分布式PCA算法,用于处理大规模高维数据的分布式聚类问题。论文解决了分布式环境中高维数据通信成本高的问题,通过以下步骤实现:

  1. 分布式PCA降维:在每个分布式节点上进行局部PCA,将高维数据投影到低维空间,降低通信成本。
  2. 全局PCA整合:基于局部PCA的结果,构建全局协方差矩阵,提取全局主成分,进一步投影数据。
  3. 结合分布式核集(coreset):在降维后的数据上应用分布式核集构造方法,生成数据摘要,从而在不牺牲聚类质量的情况下显著降低通信成本。
  4. 理论保证:证明降维后的数据在kkk-均值聚类中的近似解与原始数据的解在误差范围内接近。

该方法的关键创新在于,投影后的数据的kkk-均值聚类成本与原始数据接近,且通信成本与原始数据的大小和维度无关。这对于分布式数据库、传感器网络等需要处理大规模高维数据的场景尤为重要。

目标函数

论文的目标函数是kkk-均值聚类的目标函数,定义为最小化数据集P⊆RdP \subseteq \mathbb{R}^dPRdkkk个聚类中心的平方欧几里得距离之和:
cost⁡(P,x)=∑p∈Pd(p,x)2,其中d(p,x)=min⁡x∈xd(p,x), \operatorname{cost}(P, \mathbf{x}) = \sum_{p \in P} d(p, \mathbf{x})^2, \quad \text{其中} \quad d(p, \mathbf{x}) = \min_{x \in \mathbf{x}} d(p, x), cost(P,x)=pPd(p,x)2,其中d(p,x)=xxmind(p,x),
其中x={x1,x2,…,xk}\mathbf{x} = \{x_1, x_2, \dots, x_k\}x={x1,x2,,xk}kkk个聚类中心的集合,d(p,x)d(p, x)d(p,x)表示点ppp与中心xxx的欧几里得距离。

在分布式设置中,数据分布在nnn个节点上,每个节点viv_ivi拥有局部数据集PiP_iPi,全局数据集为P=⋃i=1nPiP = \bigcup_{i=1}^n P_iP=i=1nPi。目标是优化全局的cost⁡(P,x)\operatorname{cost}(P, \mathbf{x})cost(P,x),同时最小化通信成本。

此外,分布式PCA的目标是通过降维保留数据的关键信息,确保投影数据P^\hat{P}P^kkk-均值聚类成本满足:
(1−ϵ)cost⁡(P,x)≤cost⁡(P^,x)+c0≤(1+ϵ)cost⁡(P,x), (1-\epsilon) \operatorname{cost}(P, \mathbf{x}) \leq \operatorname{cost}(\hat{P}, \mathbf{x}) + c_0 \leq (1+\epsilon) \operatorname{cost}(P, \mathbf{x}), (1ϵ)cost(P,x)cost(P^,x)+c0(1+ϵ)cost(P,x),
其中c0≥0c_0 \geq 0c00是一个常数,ϵ∈(0,1]\epsilon \in (0,1]ϵ(0,1]是误差参数。这表明投影数据上的聚类解是原始数据的(1+ϵ)(1+\epsilon)(1+ϵ)近似解。

目标函数的优化过程

优化过程分为两个主要阶段:分布式PCA分布式核集构建与聚类

1. 分布式PCA优化

分布式PCA算法(算法1)通过以下步骤实现降维:

  • 局部PCA
    • 在每个节点viv_ivi上,对局部数据集PiP_iPi进行奇异值分解(SVD):Pi=UiDi(Ei)TP_i = U_i D_i (E_i)^TPi=UiDi(Ei)T
    • 保留前ttt个奇异值和对应的奇异向量,得到降维后的局部数据Pi(t)=UiDi(t)(Ei)TP_i^{(t)} = U_i D_i^{(t)} (E_i)^TPi(t)=UiDi(t)(Ei)T,其中Di(t)D_i^{(t)}Di(t)是仅保留前ttt个奇异值的对角矩阵。
    • 每个节点广播Di(t)D_i^{(t)}Di(t)和前ttt个奇异向量Ei(t)E_i^{(t)}Ei(t)
  • 全局PCA
    • 各节点利用接收到的Di(t)D_i^{(t)}Di(t)Ei(t)E_i^{(t)}Ei(t),计算局部协方差矩阵Si(t)=(Pi(t))TPi(t)S_i^{(t)} = (P_i^{(t)})^T P_i^{(t)}Si(t)=(Pi(t))TPi(t)
    • 汇总全局协方差矩阵S(t)=∑i=1nSi(t)S^{(t)} = \sum_{i=1}^n S_i^{(t)}S(t)=i=1nSi(t),并对其进行特征值分解:S(t)=EΛETS^{(t)} = E \Lambda E^TS(t)=EΛET
    • 取前ttt个特征向量构成矩阵E(t)E^{(t)}E(t),将局部数据Pi(t)P_i^{(t)}Pi(t)投影到E(t)E^{(t)}E(t)上,得到最终投影数据P^i=Pi(t)E(t)(E(t))T\hat{P}_i = P_i^{(t)} E^{(t)} (E^{(t)})^TP^i=Pi(t)E(t)(E(t))T
    • 全局投影数据为P^T=[P^1T,…,P^nT]\hat{P}^T = [\hat{P}_1^T, \dots, \hat{P}_n^T]P^T=[P^1T,,P^nT]

优化目标是通过选择适当的投影维度ttt(满足d−1≥t≥k+⌈50k/ϵ2⌉d-1 \geq t \geq k + \lceil 50k / \epsilon^2 \rceild1tk+50k/ϵ2),确保投影数据P^\hat{P}P^与原始数据PPPkkk-均值聚类成本上的误差控制在ϵ\epsilonϵ范围内。

2. 分布式核集与kkk-均值聚类
  • 在投影数据P^\hat{P}P^上应用文献[3]中的分布式核集构造算法,生成一个ϵ\epsilonϵ-核集SSS,其大小与原始数据维度和大小无关。
  • 核集SSS满足:对于任意中心集x\mathbf{x}x,存在常数c0≥0c_0 \geq 0c00,使得
    (1−ϵ)cost⁡(P,x)≤∑p∈Sw(p)cost⁡(p,x)+c0≤(1+ϵ)cost⁡(P,x), (1-\epsilon) \operatorname{cost}(P, \mathbf{x}) \leq \sum_{p \in S} w(p) \operatorname{cost}(p, \mathbf{x}) + c_0 \leq (1+\epsilon) \operatorname{cost}(P, \mathbf{x}), (1ϵ)cost(P,x)pSw(p)cost(p,x)+c0(1+ϵ)cost(P,x),
    其中w:S→Rw: S \rightarrow \mathbb{R}w:SR是核集点的权重。
  • 在核集SSS上运行kkk-均值聚类算法(如Lloyd算法),得到一个α\alphaα-近似解,进而通过核集的性质保证对原始数据的(1+3ϵ)α(1+3\epsilon)\alpha(1+3ϵ)α-近似解。
  • 通信成本分析:通信量主要包括局部PCA的广播(O(mt2)O(m t^2)O(mt2))和核集构造的通信(O(mnklog⁡(nk/δ))O(m n k \log (n k / \delta))O(mnklog(nk/δ))),总通信成本为
    O(m(k2ϵ2+1ϵ2log⁡1δ)+mnklog⁡nkδ), O\left(m\left(\frac{k^2}{\epsilon^2} + \frac{1}{\epsilon^2} \log \frac{1}{\delta}\right) + m n k \log \frac{n k}{\delta}\right), O(m(ϵ2k2+ϵ21logδ1)+mnklogδnk),
    其中mmm是通信图的边数,δ\deltaδ是失败概率。

主要贡献点

  1. 提出分布式PCA算法:设计了一种分布式PCA算法,通过局部和全局PCA结合,显著降低高维数据的通信成本。
  2. 理论保证:通过定理1和定理2,证明了投影数据的kkk-均值聚类成本与原始数据的成本在(1±ϵ)(1 \pm \epsilon)(1±ϵ)范围内接近,且所需投影维度ttt与原始维度ddd无关,仅依赖于聚类数kkk和误差ϵ\epsilonϵ
  3. 结合核集降低通信成本:将分布式PCA与核集方法结合,提出了一种通信成本与数据大小和维度无关的分布式kkk-均值聚类算法。
  4. 实验验证:在真实数据集上验证了算法的有效性,展示了在大幅降低维度和通信成本的同时,聚类质量仅略有下降。

实验结果

实验在以下数据集上进行:

  • Daily and Sports Activities:9210个点,维度5625,k=10k=10k=10
  • MNIST:70,000个点,维度784,k=10k=10k=10
  • Bag of Words (NYTimes):300,000个点,维度102,660,k=20k=20k=20

实验设置

  • 通信图:随机图(边概率0.3)和网格图(3×3或10×10)。
  • 数据分布:通过加权分区将数据分配到节点,权重服从∣N(0,1)∣|N(0,1)|N(0,1)
  • 方法:对不同投影维度ttt,在投影数据上构建核集(使用[3]中的COMBINE或分布式核集算法),然后运行Lloyd算法,计算聚类成本与原始数据成本的比率。

结果

  • 图2展示了投影维度降低时kkk-均值成本(归一化后)与通信成本的关系。
  • Daily and Sports Activities:当维度从5625降至40时,聚类成本仅增加不到4%。
  • Bag of Words:维度从102,660降至约20时,成本增加幅度较小,通信成本大幅降低。
  • 分布式核集算法在与分布式PCA结合时,性能优于COMBINE算法。
  • 结论:算法在大幅降低通信成本的同时,保持了高质量的聚类结果,特别是在高维数据上效果显著。

算法实现过程详细解释

以下是对算法1(分布式PCA)的详细实现过程解释,结合数学推导和实现步骤:

1. 输入
  • 局部数据集{Pi,1≤i≤n}\{P_i, 1 \leq i \leq n\}{Pi,1in},每个Pi⊆RdP_i \subseteq \mathbb{R}^dPiRd是节点viv_ivi上的数据矩阵,行表示数据点。
  • 投影维度ttt,满足d−1≥t≥k+⌈50k/ϵ2⌉d-1 \geq t \geq k + \lceil 50k / \epsilon^2 \rceild1tk+50k/ϵ2
2. 局部PCA(Round 1)
  • SVD分解
    • 每个节点viv_iviPiP_iPi进行SVD:Pi=UiDi(Ei)TP_i = U_i D_i (E_i)^TPi=UiDi(Ei)T,其中:
      • UiU_iUi是左奇异向量矩阵,列为正交单位向量。
      • DiD_iDi是对角矩阵,包含非递增的奇异值s1,…,sd\sqrt{s_1}, \dots, \sqrt{s_d}s1,,sd
      • EiE_iEi是右奇异向量矩阵,列为正交单位向量。
    • 保留前ttt个奇异值,构造Di(t)D_i^{(t)}Di(t),其中前ttt个对角元素为DiD_iDi的奇异值,其余为0。
    • 计算降维后的局部数据:Pi(t)=UiDi(t)(Ei)TP_i^{(t)} = U_i D_i^{(t)} (E_i)^TPi(t)=UiDi(t)(Ei)T
    • 提取EiE_iEi的前ttt列,得到Ei(t)E_i^{(t)}Ei(t)
  • 通信
    • 每个节点广播Di(t)D_i^{(t)}Di(t)Ei(t)E_i^{(t)}Ei(t)到所有其他节点(通过ANNOUNCE操作)。
    • 通信成本:每个节点广播ttt个奇异值和t×dt \times dt×d矩阵Ei(t)E_i^{(t)}Ei(t),总通信量为O(mt2)O(m t^2)O(mt2),其中mmm是通信图边数。
3. 全局PCA(Round 2)
  • 计算局部协方差矩阵
    • 每个节点利用收到的Di(t)D_i^{(t)}Di(t)Ei(t)E_i^{(t)}Ei(t),计算Si(t)=(Pi(t))TPi(t)S_i^{(t)} = (P_i^{(t)})^T P_i^{(t)}Si(t)=(Pi(t))TPi(t)
    • 由于Pi(t)=UiDi(t)(Ei)TP_i^{(t)} = U_i D_i^{(t)} (E_i)^TPi(t)=UiDi(t)(Ei)T,且UiU_iUi具有正交列,计算简化为:
      Si(t)=(Pi(t))TPi(t)=(Ei(t)Di(t)UiT)(UiDi(t)(Ei)T)=Ei(t)(Di(t))2(Ei(t))T。 S_i^{(t)} = (P_i^{(t)})^T P_i^{(t)} = (E_i^{(t)} D_i^{(t)} U_i^T) (U_i D_i^{(t)} (E_i)^T) = E_i^{(t)} (D_i^{(t)})^2 (E_i^{(t)})^T。 Si(t)=(Pi(t))TPi(t)=(Ei(t)Di(t)UiT)(UiDi(t)(Ei)T)=Ei(t)(Di(t))2(Ei(t))T
  • 汇总全局协方差矩阵
    • 各节点计算全局协方差矩阵:S(t)=∑i=1nSi(t)S^{(t)} = \sum_{i=1}^n S_i^{(t)}S(t)=i=1nSi(t)
  • 特征值分解
    • S(t)S^{(t)}S(t)进行特征值分解:S(t)=EΛETS^{(t)} = E \Lambda E^TS(t)=EΛET,其中Λ\LambdaΛ是对角矩阵,包含特征值,EEE是特征向量矩阵。
    • 取前ttt个特征向量,构成E(t)E^{(t)}E(t)
  • 投影
    • 将局部数据Pi(t)P_i^{(t)}Pi(t)投影到E(t)E^{(t)}E(t)上:P^i=Pi(t)E(t)(E(t))T\hat{P}_i = P_i^{(t)} E^{(t)} (E^{(t)})^TP^i=Pi(t)E(t)(E(t))T
    • 全局投影数据为P^T=[P^1T,…,P^nT]\hat{P}^T = [\hat{P}_1^T, \dots, \hat{P}_n^T]P^T=[P^1T,,P^nT]
4. 输出
  • 输出投影后的全局数据集P^\hat{P}P^,维度为ttt,可用于后续的分布式核集构造和kkk-均值聚类。
5. 理论保证
  • 定理1:对于任意d×jd \times jd×j正交矩阵XXX,投影数据满足:
    0≤∥PX∥22−∥P^X∥22≤ϵd2(P,L(X)),0≤∥PX−P^X∥22≤ϵd2(P,L(X)), 0 \leq \|P X\|_2^2 - \|\hat{P} X\|_2^2 \leq \epsilon d^2(P, L(X)), \quad 0 \leq \|P X - \hat{P} X\|_2^2 \leq \epsilon d^2(P, L(X)), 0PX22P^X22ϵd2(P,L(X)),0PXP^X22ϵd2(P,L(X)),
    其中L(X)L(X)L(X)XXX列张成的子空间,t≥j+⌈4j/ϵ⌉−1t \geq j + \lceil 4j / \epsilon \rceil - 1tj+4j/ϵ1
  • 证明思路
    • 局部PCA误差:由引理1(来自[8])保证,PiP_iPiPi(t)P_i^{(t)}Pi(t)的投影误差满足∥PiX∥22−∥Pi(t)X∥22≤ϵd2(Pi,L(X))\|P_i X\|_2^2 - \|P_i^{(t)} X\|_2^2 \leq \epsilon d^2(P_i, L(X))PiX22Pi(t)X22ϵd2(Pi,L(X))
    • 全局PCA误差:类似地,P(t)P^{(t)}P(t)P^\hat{P}P^的投影误差满足∥P(t)X∥22−∥P^X∥22≤ϵ(1+ϵ)d2(P,L(X))\|P^{(t)} X\|_2^2 - \|\hat{P} X\|_2^2 \leq \epsilon (1+\epsilon) d^2(P, L(X))P(t)X22P^X22ϵ(1+ϵ)d2(P,L(X))
    • 综合两步误差,得到定理1的结论。
  • 定理2:投影数据P^\hat{P}P^kkk-均值成本满足:
    (1−ϵ)cost⁡(P,x)≤cost⁡(P^,x)+c0≤(1+ϵ)cost⁡(P,x), (1-\epsilon) \operatorname{cost}(P, \mathbf{x}) \leq \operatorname{cost}(\hat{P}, \mathbf{x}) + c_0 \leq (1+\epsilon) \operatorname{cost}(P, \mathbf{x}), (1ϵ)cost(P,x)cost(P^,x)+c0(1+ϵ)cost(P,x),
    其中t≥k+⌈50k/ϵ2⌉t \geq k + \lceil 50k / \epsilon^2 \rceiltk+50k/ϵ2。这保证了投影数据的聚类解是原始数据的近似解。
6. 后续处理
  • P^\hat{P}P^上应用分布式核集算法[3],生成大小与维度无关的核集SSS
  • SSS上运行kkk-均值算法,得到近似解,通信成本显著降低。

总结

该论文通过分布式PCA和核集的结合,解决了分布式kkk-均值聚类中的高维数据通信成本问题。算法通过局部和全局PCA降维,结合核集构造,实现了与数据大小和维度无关的通信成本,同时理论上保证了聚类质量。实验结果验证了算法在真实数据集上的有效性,特别是在高维数据场景下,通信成本降低显著,聚类成本增加极小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Christo3

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值