LNCS-2009《Adaptive Sampling for $k$-Means Clustering》


核心思想

论文的核心思想是通过自适应采样(adaptive sampling)改进 k k k-means聚类的初始化过程,提出一种高效的算法,生成 O ( k ) O(k) O(k)个中心,以常数概率获得 k k k-means问题的常数因子双标准(bi-criteria)近似解,并在这些中心中通过线性规划(LP)技术提取 k k k个中心,获得常数因子近似解。传统 k k k-means++算法通过 D 2 D^2 D2采样获得期望上 O ( log ⁡ k ) O(\log k) O(logk)近似,但其时间复杂度为 Θ ( n k d ) \Theta(nkd) Θ(nkd),对大规模数据集计算成本高昂。论文通过采样 O ( k ) O(k) O(k)个中心(而非 k k k个),结合LP技术,绕过了 k k k-means++的归纳分析,实现了时间复杂度为 O ( n k d ) \mathcal{O}(nkd) O(nkd)的常数因子近似算法。该方法不仅提升了效率,还通过理论分析和简化证明,揭示了自适应采样的潜力,适用于 k k k-means及相关聚类问题(如 k k k-median)。


目标函数

k k k-means聚类的目标是最小化量化误差(平方误差和,Sum of Squared Error, SSE),将数据集 X ⊆ R d X \subseteq \mathbb{R}^d X⊆Rd(包含 n n n个点)划分为 k k k个簇。给定中心集合 C ⊆ R d C \subseteq \mathbb{R}^d C⊆Rd( ∣ C ∣ = k |C|=k ∣C∣=k),目标函数定义为:

ϕ ( C ) = ∑ x ∈ X min ⁡ c ∈ C ∥ x − c ∥ 2 \phi(C) = \sum_{x \in X} \min_{c \in C} \|x - c\|^2 ϕ(C)=x∈X∑c∈Cmin∥x−c∥2

其中, ∥ x − c ∥ 2 \|x - c\|^2 ∥x−c∥2表示点 x x x到中心 c c c的平方欧几里得距离, min ⁡ c ∈ C ∥ x − c ∥ 2 \min_{c \in C} \|x - c\|^2 minc∈C∥x−c∥2表示点 x x x到最近中心的平方距离。对于子集 A ⊆ X A \subseteq X A⊆X,定义其贡献为:

ϕ A ( C ) = ∑ x ∈ A min ⁡ c ∈ C ∥ x − c ∥ 2 \phi_A(C) = \sum_{x \in A} \min_{c \in C} \|x - c\|^2 ϕA(C)=x∈A∑c∈Cmin∥x−c∥2

令 C O P T C_{OPT} COPT为最优 k k k中心集,满足 ϕ ( C O P T ) = ϕ O P T \phi(C_{OPT}) = \phi_{OPT} ϕ(COPT)=ϕOPT为最小量化误差。一个解 C C C为 α \alpha α近似解,若:

ϕ ( C ) ≤ α ⋅ ϕ ( C O P T ) \phi(C) \leq \alpha \cdot \phi(C_{OPT}) ϕ(C)≤α⋅ϕ(COPT)

论文的目标是通过自适应采样生成中心集 S S S( ∣ S ∣ = O ( k ) |S|=O(k) ∣S∣=O(k)),使 ϕ ( S ) ≤ 20 ϕ ( C O P T ) \phi(S) \leq 20 \phi(C_{OPT}) ϕ(S)≤20ϕ(COPT)(双标准近似,中心数超过 k k k),并从中提取 k k k个中心 C C C,使 ϕ ( C ) ≤ O ( 1 ) ⋅ ϕ ( C O P T ) \phi(C) \leq \mathcal{O}(1) \cdot \phi(C_{OPT}) ϕ(C)≤O(1)⋅ϕ(COPT)(标准常数近似)。

此外,论文引入加权 k k k-means问题,用于从 S S S中选择 k k k个中心。给定点集 X ′ = { μ i } X' = \{\mu_i\} X′={μi}(每个 μ i \mu_i μi为簇 X i X_i Xi的均值)和权重 w i w_i wi,加权目标函数为:

ϕ ′ ( C ) = ∑ x i ∈ X ′ min ⁡ c ∈ C w i ∥ x i − c ∥ 2 \phi'(C) = \sum_{x_i \in X'} \min_{c \in C} w_i \|x_i - c\|^2 ϕ′(C)=xi∈X′∑c∈Cminwi∥xi−c∥2

其中, ϕ A ′ ( C ) = ∑ x i ∈ A min ⁡ c ∈ C w i ∥ x i − c ∥ 2 \phi'A(C) = \sum{x_i \in A} \min_{c \in C} w_i \|x_i - c\|^2 ϕA′(C)=∑xi∈Aminc∈Cwi∥xi−c∥2为子集 A ⊆ X ′ A \subseteq X' A⊆X′的贡献。


目标函数的优化过程

论文提出的算法通过两阶段优化目标函数 ϕ ( C ) \phi(C) ϕ(C):首先通过自适应采样生成 O ( k ) O(k) O(k)个中心(双标准近似),然后通过LP技术从这些中心中选择 k k k个中心(标准近似)。优化过程如下:

1. 双标准近似(自适应采样)
  • 输入 :数据集 X ⊆ R d X \subseteq \mathbb{R}^d X⊆Rd( n n n个点),簇数 k k k。
  • 输出 :中心集 S ⊆ X S \subseteq X S⊆X,大小 t = ⌈ 16 ( k + k ) ⌉ = O ( k ) t = \lceil 16(k + \sqrt{k}) \rceil = O(k) t=⌈16(k+k )⌉=O(k)。
  • 算法步骤
    1. 初始化 S 0 = ∅ S_0 = \emptyset S0=∅。
    2. 对于 i = 1 i = 1 i=1到 t t t:
      • 按概率分布采样点 x x x,概率与当前成本成正比:
        Pr ⁡ ( x ) ∝ ϕ { x } ( S i − 1 ) = min ⁡ c ∈ S i − 1 ∥ x − c ∥ 2 \operatorname{Pr}(x) \propto \phi_{\{x\}}(S_{i-1}) = \min_{c \in S_{i-1}} \|x - c\|^2 Pr(x)∝ϕ{x}(Si−1)=c∈Si−1min∥x−c∥2
        (当 i = 1 i=1 i=1时,均匀采样)。
      • 更新 S i ← S i − 1 ∪ { x } S_i \leftarrow S_{i-1} \cup \{x\} Si←Si−1∪{x}。
    3. 返回 S = S t S = S_t S=St。
  • 时间复杂度 :每次采样需计算所有点到 S i − 1 S_{i-1} Si−1的距离,复杂度 O ( n d ) \mathcal{O}(nd) O(nd),共 t = O ( k ) t = O(k) t=O(k)步,总复杂度 O ( n k d ) \mathcal{O}(nkd) O(nkd)。
  • 理论分析
    • 定义"好"簇和"坏"簇:
      Good ⁡ i = { A j : ϕ A j ( S i − 1 ) ≤ 10 ϕ A j ( C O P T ) } , Bad ⁡ i = { A 1 , ... , A k } ∖ Good ⁡ i \operatorname{Good}i = \{A_j : \phi{A_j}(S_{i-1}) \leq 10 \phi_{A_j}(C_{OPT})\}, \quad \operatorname{Bad}_i = \{A_1, \ldots, A_k\} \setminus \operatorname{Good}_i Goodi={Aj:ϕAj(Si−1)≤10ϕAj(COPT)},Badi={A1,...,Ak}∖Goodi
    • 引理1 :若 ϕ ( S i − 1 ) > 20 ϕ ( C O P T ) \phi(S_{i-1}) > 20 \phi(C_{OPT}) ϕ(Si−1)>20ϕ(COPT),则采样到 Bad ⁡ i \operatorname{Bad}_i Badi中某簇的概率 ≥ 1 / 2 \geq 1/2 ≥1/2。
    • 引理2 :对于坏簇 A ∈ Bad ⁡ i A \in \operatorname{Bad}i A∈Badi,若采样点 b ∈ B ( α ) = { x ∈ A : ∥ x − μ ∥ ≤ α r } b \in B(\alpha) = \{x \in A : \|x - \mu\| \leq \alpha r\} b∈B(α)={x∈A:∥x−μ∥≤αr}( μ \mu μ为 A A A的均值, r = ϕ A ( C O P T ) / ∣ A ∣ r = \sqrt{\phi_A(C{OPT})/|A|} r=ϕA(COPT)/∣A∣ , α ≤ 3 \alpha \leq 3 α≤3),则:
      ϕ A ( S i − 1 ∪ { b } ) ≤ 10 ϕ A ( C O P T ) \phi_A(S_{i-1} \cup \{b\}) \leq 10 \phi_A(C_{OPT}) ϕA(Si−1∪{b})≤10ϕA(COPT)
    • 引理3 : ∣ B ( α ) ∣ ≥ ∣ A ∣ ( 1 − 1 / α 2 ) |B(\alpha)| \geq |A|(1 - 1/\alpha^2) ∣B(α)∣≥∣A∣(1−1/α2),表明 B ( α ) B(\alpha) B(α)包含大部分点。
    • 引理4 :条件概率 Pr ⁡ ( x ∈ B ( α ) ∣ x ∈ A , A ∈ Bad ⁡ i ) ≥ ( 3 − α ) 2 10 ( 1 − 1 / α 2 ) \operatorname{Pr}(x \in B(\alpha) \mid x \in A, A \in \operatorname{Bad}_i) \geq \frac{(3-\alpha)^2}{10}(1 - 1/\alpha^2) Pr(x∈B(α)∣x∈A,A∈Badi)≥10(3−α)2(1−1/α2)。
    • 引理5 :若 x ∈ A ∈ Bad ⁡ i x \in A \in \operatorname{Bad}i x∈A∈Badi,则 Pr ⁡ ( ϕ A ( S i ) ≤ 10 ϕ A ( C O P T ) ) ≥ 0.126 \operatorname{Pr}(\phi_A(S_i) \leq 10 \phi_A(C{OPT})) \geq 0.126 Pr(ϕA(Si)≤10ϕA(COPT))≥0.126(取 α = 1.44225 \alpha = 1.44225 α=1.44225)。
    • 定理1 :采样 t = ⌈ 16 ( k + k ) ⌉ t = \lceil 16(k + \sqrt{k}) \rceil t=⌈16(k+k )⌉个点后, ϕ ( S ) ≤ 20 ϕ ( C O P T ) \phi(S) \leq 20 \phi(C_{OPT}) ϕ(S)≤20ϕ(COPT)的概率 ≥ 0.03 \geq 0.03 ≥0.03。通过重复 O ( log ⁡ ( 1 / δ ) ) \mathcal{O}(\log(1/\delta)) O(log(1/δ))次,可将成功概率提升至 1 − δ 1-\delta 1−δ。
    • 定理3 :推广到 ( 4 + ϵ ) (4+\epsilon) (4+ϵ)近似,需采样 t = O ( k / ϵ ⋅ log ⁡ ( 1 / ϵ ) ) t = \mathcal{O}(k/\epsilon \cdot \log(1/\epsilon)) t=O(k/ϵ⋅log(1/ϵ))个点。
  • 超鞅分析
    • 定义指示变量 X i X_i Xi:若 Bad ⁡ i + 1 = Bad ⁡ i \operatorname{Bad}_{i+1} = \operatorname{Bad}_i Badi+1=Badi,则 X i = 1 X_i = 1 Xi=1,否则 X i = 0 X_i = 0 Xi=0。
    • 构造超鞅 J i = ∑ j = 1 i ( X j − ( 1 − p ) ) J_i = \sum_{j=1}^i (X_j - (1-p)) Ji=∑j=1i(Xj−(1−p)),其中 p = 0.063 p = 0.063 p=0.063。
    • 应用Azuma-Hoeffding不等式,证明在 t = ( k + k ) / p t = (k + \sqrt{k})/p t=(k+k )/p步后,坏簇数降为0的概率 ≥ 0.03 \geq 0.03 ≥0.03。
2. 标准近似(加权 k k k-means)
  • 输入 :双标准解 S S S,诱导数据集 X X X的分区 X 1 ∪ ⋯ ∪ X t X_1 \cup \cdots \cup X_t X1∪⋯∪Xt,每个簇 X i X_i Xi的均值 μ i \mu_i μi和大小 n i n_i ni。
  • 加权 k k k-means问题
    • 点集 X ′ = { μ 1 , ... , μ t } X' = \{\mu_1, \ldots, \mu_t\} X′={μ1,...,μt},权重 w i = n i w_i = n_i wi=ni。
    • 目标:最小化 ϕ ′ ( C ) = ∑ i = 1 t n i min ⁡ c ∈ C ∥ μ i − c ∥ 2 \phi'(C) = \sum_{i=1}^t n_i \min_{c \in C} \|\mu_i - c\|^2 ϕ′(C)=∑i=1tniminc∈C∥μi−c∥2, ∣ C ∣ = k |C|=k ∣C∣=k。
  • 引理6
    • 加权问题的最优解 C O P T ′ C_{OPT}' COPT′满足:
      ϕ ′ ( C O P T ′ ) ≤ 2 ϕ ( S ) + 2 ϕ ( C O P T ) \phi'(C_{OPT}') \leq 2 \phi(S) + 2 \phi(C_{OPT}) ϕ′(COPT′)≤2ϕ(S)+2ϕ(COPT)
    • 证明基于三角不等式,分析 μ i \mu_i μi到 C O P T C_{OPT} COPT的距离。
  • 定理4
    • 若 C C C为加权 k k k-means问题的 β \beta β近似解(即 ϕ ′ ( C ) ≤ β ϕ ′ ( C O P T ′ ) \phi'(C) \leq \beta \phi'(C_{OPT}') ϕ′(C)≤βϕ′(COPT′)),则:
      ϕ ( C ) ≤ ( 2 β + 1 ) ϕ ( S ) + 2 β ϕ ( C O P T ) \phi(C) \leq (2\beta + 1) \phi(S) + 2\beta \phi(C_{OPT}) ϕ(C)≤(2β+1)ϕ(S)+2βϕ(COPT)
    • 结合 ϕ ( S ) ≤ 20 ϕ ( C O P T ) \phi(S) \leq 20 \phi(C_{OPT}) ϕ(S)≤20ϕ(COPT),若 β \beta β为常数,则 ϕ ( C ) = O ( 1 ) ⋅ ϕ ( C O P T ) \phi(C) = \mathcal{O}(1) \cdot \phi(C_{OPT}) ϕ(C)=O(1)⋅ϕ(COPT)。
  • LP技术
    • 使用Jain和Vazirani [JV01]或Charikar等人 [CGTS02]的LP方法解决加权 k k k-means问题。
    • 由于点数为 O ( k ) O(k) O(k),LP求解时间为 poly ( k , log ⁡ n ) \text{poly}(k, \log n) poly(k,logn),总时间仍为 O ( n k d ) \mathcal{O}(nkd) O(nkd)。
  • 理论保证
    • 双标准解 S S S以常数概率满足 ϕ ( S ) ≤ 20 ϕ ( C O P T ) \phi(S) \leq 20 \phi(C_{OPT}) ϕ(S)≤20ϕ(COPT)。
    • 从 S S S提取的 k k k个中心 C C C以常数概率满足 ϕ ( C ) = O ( 1 ) ⋅ ϕ ( C O P T ) \phi(C) = \mathcal{O}(1) \cdot \phi(C_{OPT}) ϕ(C)=O(1)⋅ϕ(COPT)。
3. 后续 k k k-means迭代(隐含):
  • 论文未明确讨论Lloyd算法,但生成的 k k k个中心可作为Lloyd算法的初始中心,进一步优化 ϕ ( C ) \phi(C) ϕ(C)。
  • 由于初始中心已接近常数近似,Lloyd迭代通常快速收敛至局部最优。

主要的贡献点

  1. 常数因子双标准近似
    • 提出自适应采样算法,生成 O ( k ) O(k) O(k)个中心,以常数概率( ≥ 0.03 \geq 0.03 ≥0.03)达到 20 20 20倍近似,可通过重复提升概率至 1 − δ 1-\delta 1−δ。
  2. 常数因子标准近似
    • 从 O ( k ) O(k) O(k)个中心中通过LP技术提取 k k k个中心,获得常数因子近似,时间复杂度为 O ( n k d ) \mathcal{O}(nkd) O(nkd),优于此前超线性时间的常数近似算法。
  3. 绕过复杂归纳
    • 相较于 k k k-means++的归纳分析,论文使用超鞅和简单概率分析,证明更简洁,适用于其他问题(如 k k k-median)。
  4. 加权 k k k-means框架
    • 提出将双标准解转化为加权 k k k-means问题,点数降至 O ( k ) O(k) O(k),显著降低LP求解复杂度。
  5. 简化下界证明
    • 提供Arthur和Vassilvitskii [AV07]中 Ω ( log ⁡ k ) \Omega(\log k) Ω(logk)期望误差下界的简化证明,揭示其误导性:尽管期望误差为 Ω ( log ⁡ k ) \Omega(\log k) Ω(logk),自适应采样以高概率获得常数近似。
  6. 广泛适用性
    • 证明技术可推广至 k k k-median和 ℓ p \ell_p ℓp聚类问题(最小化距离的 p p p次方和),因 p p p次方欧几里得距离满足弱三角不等式。

实验结果

论文为理论分析工作,未提供实验结果或数据集的实证评估。作者专注于算法的理论保证,包括:

  • 双标准近似的概率保证 :采样 t = ⌈ 16 ( k + k ) ⌉ t = \lceil 16(k + \sqrt{k}) \rceil t=⌈16(k+k )⌉个中心后, ϕ ( S ) ≤ 20 ϕ ( C O P T ) \phi(S) \leq 20 \phi(C_{OPT}) ϕ(S)≤20ϕ(COPT)的概率 ≥ 0.03 \geq 0.03 ≥0.03,可通过重复提升。
  • 标准近似的常数因子 :从 S S S提取 k k k个中心,获得 O ( 1 ) \mathcal{O}(1) O(1)近似,时间复杂度 O ( n k d ) \mathcal{O}(nkd) O(nkd)。
  • 下界分析 :通过简化证明,展示自适应采样在特定构造数据集( k k k个正则单纯形)上期望误差为 Ω ( log ⁡ k ) ϕ ( C O P T ) \Omega(\log k) \phi(C_{OPT}) Ω(logk)ϕ(COPT),但以高概率( 1 − Θ ( δ 2 Δ 2 k log ⁡ k ) 1 - \Theta(\frac{\delta^2}{\Delta^2} k \log k) 1−Θ(Δ2δ2klogk))获得常数近似。

由于缺乏实验,论文未比较算法在真实数据集上的性能(如量化误差、运行时间)或与其他方法(如 k k k-means++、 k k k-means||)的对比。这可能是因为工作重点在于理论突破,而非实证验证。


算法的实现过程

论文提出了两个主要算法:双标准近似算法(自适应采样生成 O ( k ) O(k) O(k)个中心)和标准近似算法(通过加权 k k k-means选择 k k k个中心)。以下详细解释实现过程,结合伪代码和说明。

1. 双标准近似算法(自适应采样)
pseudo 复制代码
Algorithm Bi-criteria Approximation by Adaptive Sampling
输入: 数据集 X ⊆ ℝ^d (n 个点),簇数 k
输出: 中心集 S ⊆ X,大小 t = ⌈16(k + √k)⌉

1. 初始化:
   S_0 ← ∅

2. 循环采样 t 个中心:
   for i = 1 to t do
      // 按当前成本采样
      计算每个点 x 的当前成本 φ_{{x}}(S_{i-1}) = min_{c ∈ S_{i-1}} ||x - c||^2
      if i = 1 then
         均匀随机选择 x ∈ X
      else
         按概率 Pr(x) ∝ φ_{{x}}(S_{i-1}) 采样 x
      S_i ← S_{i-1} ∪ {x}
   end

3. 返回 S ← S_t

实现细节

  • 初始化
    • 设置空中心集 S 0 S_0 S0,准备存储 t = ⌈ 16 ( k + k ) ⌉ t = \lceil 16(k + \sqrt{k}) \rceil t=⌈16(k+k )⌉个中心。
  • 概率采样
    • 对于 i = 1 i=1 i=1,由于 S 0 = ∅ S_0 = \emptyset S0=∅,无法计算距离,采用均匀采样( Pr ⁡ ( x ) = 1 / n \operatorname{Pr}(x) = 1/n Pr(x)=1/n)。
    • 对于 i ≥ 2 i \geq 2 i≥2,计算每个点 x x x到当前中心集 S i − 1 S_{i-1} Si−1的最近距离平方 ϕ { x } ( S i − 1 ) = min ⁡ c ∈ S i − 1 ∥ x − c ∥ 2 \phi_{\{x\}}(S_{i-1}) = \min_{c \in S_{i-1}} \|x - c\|^2 ϕ{x}(Si−1)=minc∈Si−1∥x−c∥2。
    • 归一化概率:
      Pr ⁡ ( x ) = ϕ { x } ( S i − 1 ) ∑ x ′ ∈ X ϕ { x ′ } ( S i − 1 ) \operatorname{Pr}(x) = \frac{\phi_{\{x\}}(S_{i-1})}{\sum_{x' \in X} \phi_{\{x'\}}(S_{i-1})} Pr(x)=∑x′∈Xϕ{x′}(Si−1)ϕ{x}(Si−1)
    • 使用累积分布函数(CDF)或轮盘赌选择法实现概率采样:
      • 计算所有点的成本总和 ϕ ( S i − 1 ) = ∑ x ∈ X ϕ { x } ( S i − 1 ) \phi(S_{i-1}) = \sum_{x \in X} \phi_{\{x\}}(S_{i-1}) ϕ(Si−1)=∑x∈Xϕ{x}(Si−1)。
      • 生成均匀随机数 u ∈ [ 0 , 1 ] u \in [0, 1] u∈[0,1],选择满足 ∑ j = 1 m − 1 Pr ⁡ ( x j ) < u ≤ ∑ j = 1 m Pr ⁡ ( x j ) \sum_{j=1}^{m-1} \operatorname{Pr}(x_j) < u \leq \sum_{j=1}^m \operatorname{Pr}(x_j) ∑j=1m−1Pr(xj)<u≤∑j=1mPr(xj)的点 x m x_m xm。
  • 距离计算
    • 每次迭代需计算 n n n个点到 S i − 1 S_{i-1} Si−1(最多 i − 1 i-1 i−1个中心)的距离,单点距离计算为 O ( d ) \mathcal{O}(d) O(d),总复杂度 O ( n d ) \mathcal{O}(nd) O(nd)。
    • 共 t = O ( k ) t = O(k) t=O(k)步,总复杂度 O ( n k d ) \mathcal{O}(nkd) O(nkd)。
  • 存储与更新
    • 存储中心集 S i S_i Si(最多 O ( k ) O(k) O(k)个点,每个点 d d d维),空间复杂度 O ( k d ) \mathcal{O}(kd) O(kd)。
    • 更新 S i S_i Si仅需添加新点 x x x,复杂度 O ( 1 ) \mathcal{O}(1) O(1)。
  • 随机性
    • 使用伪随机数生成器确保采样随机性,实验中可设置不同种子以重复运行。
  • 数值稳定性
    • 距离平方可能导致大数值,需使用双精度浮点数避免溢出。
    • 归一化概率时,成本总和 ϕ ( S i − 1 ) \phi(S_{i-1}) ϕ(Si−1)可能很大,需小心处理除法。

优化技巧

  • 增量距离计算 :在 S i − 1 S_{i-1} Si−1到 S i S_i Si时,仅更新每个点到新中心 x x x的距离,保留到 S i − 1 S_{i-1} Si−1中最近中心的距离,取最小值,降低单步复杂度。
  • 并行化 :计算 n n n个点的距离可并行分配到多核CPU,加速采样。
  • 数据结构:使用k-d树或ball树加速最近邻查询,降低距离计算复杂度(对高维数据效果有限)。

理论保证

  • 采样 t = O ( k ) t = O(k) t=O(k)个点后, S S S以概率 ≥ 0.03 \geq 0.03 ≥0.03满足 ϕ ( S ) ≤ 20 ϕ ( C O P T ) \phi(S) \leq 20 \phi(C_{OPT}) ϕ(S)≤20ϕ(COPT)。
  • 重复 O ( log ⁡ ( 1 / δ ) ) \mathcal{O}(\log(1/\delta)) O(log(1/δ))次,选择 ϕ ( S ) \phi(S) ϕ(S)最小的解,提升成功概率至 1 − δ 1-\delta 1−δ。
2. 标准近似算法(加权 k k k-means)
pseudo 复制代码
Algorithm Standard Approximation by Weighted k-Means
输入: 双标准中心集 S (|S|=t),数据集 X,簇数 k
输出: 中心集 C,|C|=k

1. 分区数据集:
   对每个点 x ∈ X,分配到最近的中心 s_i ∈ S,得到分区 X_1 ∪ ... ∪ X_t
   计算每个簇 X_i 的均值 μ_i 和大小 n_i

2. 构造加权 k-means 问题:
   点集 X' ← {μ_1, ..., μ_t}
   权重 w_i ← n_i for i=1 to t

3. 解决加权 k-means:
   使用 LP 方法([JV01], [CGTS02])求解:
      最小化 φ'(C) = ∑_{i=1}^t n_i min_{c ∈ C} ||μ_i - c||^2,|C|=k
   得到中心集 C

4. 返回 C

实现细节

  • 分区与均值计算
    • 对每个点 x ∈ X x \in X x∈X,计算到 S S S中最近中心的距离,分配到对应簇 X i X_i Xi,复杂度 O ( n t d ) \mathcal{O}(ntd) O(ntd)。
    • 计算每个簇 X i X_i Xi的均值:
      μ i = 1 n i ∑ x ∈ X i x \mu_i = \frac{1}{n_i} \sum_{x \in X_i} x μi=ni1x∈Xi∑x
      复杂度 O ( n d ) \mathcal{O}(nd) O(nd),共 t t t个簇,总复杂度 O ( n t d ) \mathcal{O}(ntd) O(ntd)。
    • 记录簇大小 n i = ∣ X i ∣ n_i = |X_i| ni=∣Xi∣。
  • 加权 k k k-means问题
    • 构造点集 X ′ = { μ 1 , ... , μ t } X' = \{\mu_1, \ldots, \mu_t\} X′={μ1,...,μt}( t = O ( k ) t = O(k) t=O(k)),权重 w i = n i w_i = n_i wi=ni。
    • 目标函数:
      ϕ ′ ( C ) = ∑ i = 1 t n i min ⁡ c ∈ C ∥ μ i − c ∥ 2 \phi'(C) = \sum_{i=1}^t n_i \min_{c \in C} \|\mu_i - c\|^2 ϕ′(C)=i=1∑tnic∈Cmin∥μi−c∥2
  • LP求解
    • 应用Jain和Vazirani [JV01]或Charikar等人 [CGTS02]的LP算法,针对平方欧几里得距离(满足弱三角不等式)。
    • LP问题规模为 O ( k ) O(k) O(k)个点,变量数和约束数为 poly ( k ) \text{poly}(k) poly(k),求解时间为 poly ( k , log ⁡ n ) \text{poly}(k, \log n) poly(k,logn)。
    • LP输出 k k k个中心 C C C,为加权问题的 β \beta β近似解( β \beta β为常数)。
  • 复杂度分析
    • 分区和均值计算: O ( n t d ) = O ( n k d ) \mathcal{O}(ntd) = \mathcal{O}(nkd) O(ntd)=O(nkd)( t = O ( k ) t = O(k) t=O(k))。
    • LP求解: poly ( k , log ⁡ n ) \text{poly}(k, \log n) poly(k,logn),通常远小于 O ( n k d ) \mathcal{O}(nkd) O(nkd)。
    • 总时间: O ( n k d + poly ( k , log ⁡ n ) ) ≈ O ( n k d ) \mathcal{O}(nkd + \text{poly}(k, \log n)) \approx \mathcal{O}(nkd) O(nkd+poly(k,logn))≈O(nkd)。
  • 数值稳定性
    • 均值计算需累加高维向量,建议使用Kahan求和算法减少误差。
    • LP求解需高质量线性规划库(如Gurobi、CPLEX),确保数值稳定性。

优化技巧

  • 快速分区 :使用k-d树或近似最近邻算法加速点到 S S S的分配。
  • LP并行化:LP求解可利用并行线性代数库(如Eigen、BLAS)。
  • 预处理 :若 S S S质量较高,可尝试启发式方法(如贪心选择 k k k个中心)代替LP,降低计算成本。

理论保证

  • 若 ϕ ( S ) ≤ 20 ϕ ( C O P T ) \phi(S) \leq 20 \phi(C_{OPT}) ϕ(S)≤20ϕ(COPT),则 ϕ ′ ( C O P T ′ ) ≤ 2 ϕ ( S ) + 2 ϕ ( C O P T ) \phi'(C_{OPT}') \leq 2 \phi(S) + 2 \phi(C_{OPT}) ϕ′(COPT′)≤2ϕ(S)+2ϕ(COPT)。
  • 若 C C C为 β \beta β近似解,则:
    ϕ ( C ) ≤ ( 2 β + 1 ) ϕ ( S ) + 2 β ϕ ( C O P T ) = O ( 1 ) ⋅ ϕ ( C O P T ) \phi(C) \leq (2\beta + 1) \phi(S) + 2\beta \phi(C_{OPT}) = \mathcal{O}(1) \cdot \phi(C_{OPT}) ϕ(C)≤(2β+1)ϕ(S)+2βϕ(COPT)=O(1)⋅ϕ(COPT)
3. 与 k k k-means++的对比
  • k k k-means++
    • 采样 k k k个中心,每次按 D 2 D^2 D2采样,概率 Pr ⁡ ( x ) ∝ min ⁡ c ∈ S i − 1 ∥ x − c ∥ 2 \operatorname{Pr}(x) \propto \min_{c \in S_{i-1}} \|x - c\|^2 Pr(x)∝minc∈Si−1∥x−c∥2。
    • 期望上获得 O ( log ⁡ k ) O(\log k) O(logk)近似,时间复杂度 Θ ( n k d ) \Theta(nkd) Θ(nkd)。
  • 本文算法
    • 采样 O ( k ) O(k) O(k)个中心,生成双标准解,概率上获得 20 20 20倍近似。
    • 通过加权 k k k-means提取 k k k个中心,获得常数近似,时间复杂度仍为 O ( n k d ) \mathcal{O}(nkd) O(nkd)。
    • 避免 k k k-means++的复杂归纳分析,使用超鞅和LP技术,理论更简洁。
4. 潜在扩展
  • Lloyd迭代 :将 C C C作为Lloyd算法的初始中心,进一步优化 ϕ ( C ) \phi(C) ϕ(C),通常只需少量迭代。
  • 并行实现:采样和LP求解可分布式实现,适用于大规模数据集。
  • 流式数据:自适应采样可改编为在线算法,处理数据流聚类。

总结

论文通过自适应采样和加权 k k k-means框架,提出了一种高效的 k k k-means聚类算法,以常数概率获得常数因子近似,时间复杂度为 O ( n k d ) \mathcal{O}(nkd) O(nkd)。其核心创新在于采样 O ( k ) O(k) O(k)个中心生成双标准解,并通过LP技术提取 k k k个中心,绕过了 k k k-means++的复杂分析。理论证明简洁,适用于多种聚类问题,但缺乏实验验证。算法实现清晰,结合概率采样和LP求解,适合理论研究和潜在的大规模应用。

相关推荐
远瞻。5 分钟前
【论文精读】2022 CVPR--RealBasicVSR现实世界视频超分辨率(RealWorld VSR)
论文阅读·算法·超分辨率重建
张彦峰ZYF8 分钟前
重塑数学边界:人工智能如何引领数学研究的新纪元
人工智能·aigc
牙牙要健康12 分钟前
【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之如何形成高斯椭球
人工智能·深度学习·3d
Kent_J_Truman13 分钟前
【羊圈——状压 + DP / 记忆化搜索DP】
算法
“初生”19 分钟前
想免费使用 AWS 云服务器?注册、验证及开通全攻略
服务器·人工智能·aws
PrDarcyLuo24 分钟前
【IEEE会议推荐】第五届区块链技术与信息安全国际会议
人工智能·安全·网络安全·区块链·信息与通信
<但凡.34 分钟前
题海拾贝:P1784 数独
算法·深度优先·图论
丶Darling.35 分钟前
Day125 | 灵神 | 二叉树 | 二叉树中的第K大层和
数据结构·c++·学习·算法·二叉树
西西阿西哥40 分钟前
【人工智障生成日记1】从零开始训练本地小语言模型
人工智能·语言模型·自然语言处理
李昊哲小课42 分钟前
matplotlib基本绘图
人工智能·数据分析·matplotlib·数据可视化·pyecharts·seaborn