当前位置: 首页 > news >正文

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

推荐深蓝学院的《深度神经网络加速:cuDNN 与 TensorRT》,课程面向就业,细致讲解CUDA运算的理论支撑与实践,学完可以系统化掌握CUDA基础编程知识以及TensorRT实战,并且能够利用GPU开发高性能、高并发的软件系统,感兴趣可以直接看看链接:深蓝学院《深度神经网络加速:cuDNN 与 TensorRT》
在这里插入图片描述

核心思想

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

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

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

目标函数

论文的目标函数是 k k k-均值聚类的目标函数,定义为最小化数据集 P ⊆ R d P \subseteq \mathbb{R}^d PRd k k k个聚类中心的平方欧几里得距离之和:
cost ⁡ ( P , x ) = ∑ p ∈ P d ( p , x ) 2 , 其中 d ( p , x ) = min ⁡ x ∈ x d ( 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 = { x 1 , x 2 , … , x k } \mathbf{x} = \{x_1, x_2, \dots, x_k\} x={x1,x2,,xk} k k k个聚类中心的集合, d ( p , x ) d(p, x) d(p,x)表示点 p p p与中心 x x x的欧几里得距离。

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

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

目标函数的优化过程

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

1. 分布式PCA优化

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

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

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

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

主要贡献点

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

实验结果

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

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

实验设置

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

结果

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

算法实现过程详细解释

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

1. 输入
  • 局部数据集 { P i , 1 ≤ i ≤ n } \{P_i, 1 \leq i \leq n\} {Pi,1in},每个 P i ⊆ R d P_i \subseteq \mathbb{R}^d PiRd是节点 v i v_i vi上的数据矩阵,行表示数据点。
  • 投影维度 t t t,满足 d − 1 ≥ t ≥ k + ⌈ 50 k / ϵ 2 ⌉ d-1 \geq t \geq k + \lceil 50k / \epsilon^2 \rceil d1tk+50k/ϵ2
2. 局部PCA(Round 1)
  • SVD分解
    • 每个节点 v i v_i vi P i P_i Pi进行SVD: P i = U i D i ( E i ) T P_i = U_i D_i (E_i)^T Pi=UiDi(Ei)T,其中:
      • U i U_i Ui是左奇异向量矩阵,列为正交单位向量。
      • D i D_i Di是对角矩阵,包含非递增的奇异值 s 1 , … , s d \sqrt{s_1}, \dots, \sqrt{s_d} s1 ,,sd
      • E i E_i Ei是右奇异向量矩阵,列为正交单位向量。
    • 保留前 t t t个奇异值,构造 D i ( t ) D_i^{(t)} Di(t),其中前 t t t个对角元素为 D i D_i Di的奇异值,其余为0。
    • 计算降维后的局部数据: P i ( t ) = U i D i ( t ) ( E i ) T P_i^{(t)} = U_i D_i^{(t)} (E_i)^T Pi(t)=UiDi(t)(Ei)T
    • 提取 E i E_i Ei的前 t t t列,得到 E i ( t ) E_i^{(t)} Ei(t)
  • 通信
    • 每个节点广播 D i ( t ) D_i^{(t)} Di(t) E i ( t ) E_i^{(t)} Ei(t)到所有其他节点(通过ANNOUNCE操作)。
    • 通信成本:每个节点广播 t t t个奇异值和 t × d t \times d t×d矩阵 E i ( t ) E_i^{(t)} Ei(t),总通信量为 O ( m t 2 ) O(m t^2) O(mt2),其中 m m m是通信图边数。
3. 全局PCA(Round 2)
  • 计算局部协方差矩阵
    • 每个节点利用收到的 D i ( t ) D_i^{(t)} Di(t) E i ( t ) E_i^{(t)} Ei(t),计算 S i ( t ) = ( P i ( t ) ) T P i ( t ) S_i^{(t)} = (P_i^{(t)})^T P_i^{(t)} Si(t)=(Pi(t))TPi(t)
    • 由于 P i ( t ) = U i D i ( t ) ( E i ) T P_i^{(t)} = U_i D_i^{(t)} (E_i)^T Pi(t)=UiDi(t)(Ei)T,且 U i U_i Ui具有正交列,计算简化为:
      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 。 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 = 1 n S i ( t ) S^{(t)} = \sum_{i=1}^n S_i^{(t)} S(t)=i=1nSi(t)
  • 特征值分解
    • S ( t ) S^{(t)} S(t)进行特征值分解: S ( t ) = E Λ E T S^{(t)} = E \Lambda E^T S(t)=EΛET,其中 Λ \Lambda Λ是对角矩阵,包含特征值, E E E是特征向量矩阵。
    • 取前 t t t个特征向量,构成 E ( t ) E^{(t)} E(t)
  • 投影
    • 将局部数据 P i ( t ) P_i^{(t)} Pi(t)投影到 E ( t ) E^{(t)} E(t)上: P ^ i = P i ( t ) E ( t ) ( E ( t ) ) T \hat{P}_i = P_i^{(t)} E^{(t)} (E^{(t)})^T P^i=Pi(t)E(t)(E(t))T
    • 全局投影数据为 P ^ T = [ P ^ 1 T , … , P ^ n T ] \hat{P}^T = [\hat{P}_1^T, \dots, \hat{P}_n^T] P^T=[P^1T,,P^nT]
4. 输出
  • 输出投影后的全局数据集 P ^ \hat{P} P^,维度为 t t t,可用于后续的分布式核集构造和 k k k-均值聚类。
5. 理论保证
  • 定理1:对于任意 d × j d \times j d×j正交矩阵 X X X,投影数据满足:
    0 ≤ ∥ P X ∥ 2 2 − ∥ P ^ X ∥ 2 2 ≤ ϵ d 2 ( P , L ( X ) ) , 0 ≤ ∥ P X − P ^ X ∥ 2 2 ≤ ϵ d 2 ( 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) X X X列张成的子空间, t ≥ j + ⌈ 4 j / ϵ ⌉ − 1 t \geq j + \lceil 4j / \epsilon \rceil - 1 tj+4j/ϵ1
  • 证明思路
    • 局部PCA误差:由引理1(来自[8])保证, P i P_i Pi P i ( t ) P_i^{(t)} Pi(t)的投影误差满足 ∥ P i X ∥ 2 2 − ∥ P i ( t ) X ∥ 2 2 ≤ ϵ d 2 ( P i , 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 ∥ 2 2 − ∥ P ^ X ∥ 2 2 ≤ ϵ ( 1 + ϵ ) d 2 ( 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^ k k k-均值成本满足:
    ( 1 − ϵ ) cost ⁡ ( P , x ) ≤ cost ⁡ ( P ^ , x ) + c 0 ≤ ( 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 + ⌈ 50 k / ϵ 2 ⌉ t \geq k + \lceil 50k / \epsilon^2 \rceil tk+50k/ϵ2。这保证了投影数据的聚类解是原始数据的近似解。
6. 后续处理
  • P ^ \hat{P} P^上应用分布式核集算法[3],生成大小与维度无关的核集 S S S
  • S S S上运行 k k k-均值算法,得到近似解,通信成本显著降低。

总结

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

相关文章:

  • 【go】程序启动时发生了什么?为什么选择go语言开发,优势劣势
  • 如何优化 MySQL 存储过程的性能?
  • 历史数据分析——宁波港
  • 【Python】【电网规划】基于经济与可靠性双目标的混合配电系统规划及可靠性评估
  • 主从复制启动
  • 如何设计Agent的记忆系统
  • docker commit除了提交容器成镜像,还能搞什么之修改cmd命令
  • 怎么开发一个网络协议模块(C语言框架)之(二) 数据结构设计
  • 稳固基石 - Prometheus 与 Alertmanager 运维考量
  • STM32中断优先级分组有哪几种?
  • Java中使用Stream API优化for循环
  • ELF格式·链接与加载
  • 网络协议与通信安全
  • Spring MVC深度解析:控制器与视图解析及RESTful API设计最佳实践
  • Linux常用下载资源命令
  • 互联网大厂Java求职面试实录 —— 严肃面试官遇到搞笑水货程序员
  • 动态IP:像变色龙一样自由切换网络身份
  • 深度学习实战:从图像分类到文本生成的完整案例解析
  • python项目和依赖管理工具uv简介
  • 行为型:迭代器模式
  • 商丘网站建设哪家专业/百度卖货平台
  • 网站建设一条龙/信阳seo推广
  • 手游门户网站建设/黄页网
  • 免费网站代理访问/色盲测试图片
  • 购物网站前台功能模块/百度搜索广告
  • 代做网站平台/上海最新新闻