A Simple Linear Time (1 + ε)-Approximation Algorithm for k-Means Clustering in Any Dimensions
第三十九次写博客,本人数学基础不是太好,如果有幸能得到读者指正,感激不尽,希望能借此机会向大家学习。由于K-Means算法本身的时间复杂度很高,特别是在处理大数据集时,因此这篇文章主要介绍一种具有线性时间复杂度的近似K-Means算法,其他有关于原型聚类算法的讨论可以移步到该类算法的导航页《原型聚类算法综述(原型聚类算法开篇)》。
K-Means问题定义?
给定数据集 P ∈ R n × d P\in{\Bbb{R}^{n\times{d}}} P∈Rn×d、质心(centroid)集合 K ∈ R k × d K\in{\Bbb{R}^{k\times{d}}} K∈Rk×d, K K K中的每个样本点都是某个数据子集的质心,那么K-Means问题可以表示为,在给定数据集 P P P以及聚类个数 k k k时,求得可以最小化下式的质心集合,
∑ p ∈ P d ( p , K ) 2 \sum_{p\in{P}}{d\left({\bf{p}},K\right)^{2}} p∈P∑d(p,K)2
其中, d ( p , K ) d\left({\bf{p}},K\right) d(p,K)是指样本点 p \bf{p} p与集合 K K K中距离其最近的质心之间的距离。
给定数据集 P ∈ R n × d P\in{\Bbb{R}^{n\times{d}}} P∈Rn×d、中位点(median)集合 K ∈ R k × d K\in{\Bbb{R}^{k\times{d}}} K∈Rk×d, K K K中的每个样本点都是某个数据子集的中位点,那么K-Median问题可以表示为,在给定数据集 P P P以及聚类个数 k k k时,求得可以最小化下式的中位点集合,
∑ p ∈ P d ( p , K ) \sum_{p\in{P}}{d\left({\bf{p}},K\right)} p∈P∑d(p,K)
其中, d ( p , K ) d\left({\bf{p}},K\right) d(p,K)是指样本点 p \bf{p} p与集合 K K K中距离其最近的中位点之间的距离。
本文提出的算法?
本文基于“随机采样”(Random Sampling)技术,得到了一种针对K-Means问题的、时间复杂度为线性的(具体来说是与输入大小呈线性的,即 O ( 2 ( k / ε ) O ( 1 ) n d ) O\left(2^{\left(k/\varepsilon\right)^{O\left(1\right)}}nd\right) O(2(k/ε)O(1)nd))“ ( 1 + ε ) − \left(1+\varepsilon\right)- (1+ε)−近似”( ( 1 + ε ) − \left(1+\varepsilon\right)- (1+ε)−approximate)算法。针对于2-Means聚类问题,本文还提出一个在恒定不变的概率下,以 O ( 2 ( 1 / ε ) O ( 1 ) n d ) O\left(2^{\left(1/\varepsilon\right)^{O\left(1\right)}}nd\right) O(2(1/ε)O(1)nd)时间复杂度运行的 ( 1 + ε ) − \left(1+\varepsilon\right)- (1+ε)−近似算法。
( k , ε ) − \left(k,\varepsilon\right)- (k,ε)−不可化简与 ( k , ε ) − \left(k,\varepsilon\right)- (k,ε)−可化简?
首先,令 Δ ( P , K ) \Delta\left(P,K\right) Δ(P,K)表示K-Means问题中的目标函数,令 Δ k ( P ) \Delta_{k}\left(P\right) Δk(P)表示该问题的最优解,引出下述定义,
定义1 如果数据集 P P P满足不等式
Δ k − 1 ( P ) ≥ ( 1 + 32 ε ) Δ k ( P ) \Delta_{k-1}\left(P\right)\geq{\left(1+32\varepsilon\right)\Delta_{k}\left(P\right)} Δk−1(P)≥(1+32ε)Δk(P)
那么就称 P P P是“ ( k , ε ) − \left(k,\varepsilon\right)- (k,ε)−不可化简”的,否则称其为“ ( k , ε ) − \left(k,\varepsilon\right)- (k,ε)−可化简”的。
直观上讲,可化简是指能否找到一个最优解,这个解比当前最优解的簇个数小,并且更接近数据的真实聚类结构。
1-Means问题的一些性质?
首先给出下述定义,
┌定义2 给定样本点集合 P P P, P P P的“质心”可以表示为 c ( P ) c\left(P\right) c(P),即 c ( P ) = ∑ p ∈ P p ∣ P ∣ c\left(P\right)=\frac{\sum_{\bf{p}\in{P}}{\bf{p}}}{|P|} c(P)=∣P∣∑p∈Pp(时间复杂度为 O ( n d ) O\left(nd\right) O(nd)),其中 ∣ P