Clustering
Clustering ,翻译为"聚类",就是把相似的东西分为一组,同 Classification(分类)不同, classifier 从训练集中进行"学习",从而能够对未知数据进行分类,这种提供训练数据的过程叫做 supervised learning (监督学习),而在聚类的时候,我们并不关心某一类是什么,我们只需要把相似的东西聚到一起,因此,一个聚类算法通常只需要知道如何计算相似度就可以工作了,因此 clustering 通常并不需要使用训练数据进行学习,这在 Machine Learning 中被称作 unsupervised learning (无监督学习)。
一、聚类的两种常用的假设
1、基于中心的聚类(Center-based clusters)
- k-center clustering: 最小化数据点到其中心的最大距离,即minimize
Φ k c e n t e r ( C ) = max j = 1 max a i ∈ C j d ( a i , c j ) \Phi_{k c e n t e r}(\mathcal{C})=\max _{j=1} \max _{\mathbf{a}_{i} \in C_{j}} d\left(\mathbf{a}_{i}, \mathbf{c}_{j}\right) Φkcenter(C)=j=1maxai∈Cjmaxd(ai,cj)
例如,消防站位置问题(最小化消防站可能需要前往的最大距离)。 - k-median clustering: 最小化数据点到其中心的距离之和,即minimize
Φ
k
m
e
d
i
a
n
(
C
)
=
∑
j
=
1
k
∑
a
i
∈
C
j
d
(
a
i
,
c
j
)
\Phi_{k m e d i a n}(\mathcal{C})=\sum_{j=1}^{k} \sum_{\mathbf{a}_{i} \in C_{j}} d\left(\mathbf{a}_{i}, \mathbf{c}_{j}\right)
Φkmedian(C)=j=1∑kai∈Cj∑d(ai,cj)
k-median比k-center更具有抗噪性,因为少数异常值通常不会更改最佳解决方案。 - k-means clustering: 最小化数据点到其中心的距离平方和,即minimize
Φ
k
m
e
a
n
s
(
C
)
=
∑
j
=
1
k
∑
a
i
∈
C
j
d
2
(
a
i
,
c
j
)
\Phi_{k m e a n s}(\mathcal{C})=\sum_{j=1}^{k} \sum_{\mathbf{a}_{i} \in C_{j}} d^{2}\left(\mathbf{a}_{i}, \mathbf{c}_{j}\right)
Φkmeans(C)=j=1∑kai∈Cj∑d2(ai,cj)
k-means比k-median更重视异常值,因为对距离进行了平方,这会放大大的值。
当数据由 R d R^d Rd中的点组成时,更常使用k-means准则,而当我们具有有限度量时,k-median更常用,即数据是具有边距离的图中的节点。
2、高密度聚类
如果我们不相信我们的聚类是基于中心的,那么通常做出的的另一个假设是聚类由高密度区域组成,他们之间是低密度的“护城河”。
二、k-Means Clustering
1、动机
考虑使用k-means准则的最大似然动机。假设我们的数据是由k个良好分离的球形高斯密度等权混合生成的,这k个高斯密度的均值分别为
μ
2
,
μ
2
,
…
,
μ
k
\mathbf{\mu}_2, \mathbf{\mu}_2, \dots, \mathbf{\mu}_k
μ2,μ2,…,μk,方差都为1。从而混合分布的密度为
Prob
(
x
)
=
1
(
2
π
)
d
/
2
1
k
∑
i
=
1
k
e
−
∣
x
−
μ
i
∣
2
\operatorname{Prob}(\mathrm{x})=\frac{1}{(2 \pi)^{d / 2}} \frac{1}{k} \sum_{i=1}^{k} e^{-\left|\mathrm{x}-\mu_{i}\right|^{2}}
Prob(x)=(2π)d/21k1i=1∑ke−∣x−μi∣2
定义最接近x的中心为
μ
(
x
)
\mu(x)
μ(x),由于指数函数快速下降,我们可以用
e
−
∣
x
−
μ
(
x
)
∣
2
e^{-|\mathbf{x}-\boldsymbol{\mu}(\mathbf{x})|^{2}}
e−∣x−μ(x)∣2近似
∑
i
=
1
k
e
−
∣
x
−
μ
i
∣
2
\sum_{i=1}^{k} e^{-\left|\mathbf{x}-\boldsymbol{\mu}_{i}\right|^{2}}
∑i=1ke−∣x−μi∣2。因此,
Prob
(
x
)
≈
1
(
2
π
)
d
/
2
k
e
−
∣
x
−
μ
(
x
)
∣
2
\operatorname{Prob}(\mathbf{x}) \approx \frac{1}{(2 \pi)^{d / 2} k} e^{-|\mathbf{x}-\mu(\mathbf{x})|^{2}}
Prob(x)≈(2π)d/2k1e−∣x−μ(x)∣2
从而,从混合分布中选择样本点的可能性为
1
k
n
1
(
2
π
)
n
d
/
2
∏
i
=
1
n
e
−
∣
x
(
i
)
−
μ
(
x
(
i
)
)
∣
2
=
c
e
−
∑
i
=
1
n
∣
x
(
i
)
−
μ
(
x
(
i
)
)
∣
2
\frac{1}{k^{n}} \frac{1}{(2 \pi)^{n d / 2}} \prod_{i=1}^{n} e^{-\left|\mathbf{x}^{(\mathrm{i})}-\mu\left(\mathrm{x}^{(\mathrm{i})}\right)\right|^{2}}=c e^{-\sum_{i=1}^{n}\left|\mathrm{x}^{(\mathrm{i})}-\mu\left(\mathrm{x}^{(\mathrm{i})}\right)\right|^{2}}
kn1(2π)nd/21i=1∏ne−∣x(i)−μ(x(i))∣2=ce−∑i=1n∣x(i)−μ(x(i))∣2
因此,最小化到聚类中心的距离平方和得到最大似然
μ
2
,
μ
2
,
…
,
μ
k
\mathbf{\mu}_2, \mathbf{\mu}_2, \dots, \mathbf{\mu}_k
μ2,μ2,…,μk。
2、k-means目标的性质
引理2.1 当x是质心时,数据点到x的距离平方和得到最小化,即
x
=
1
n
∑
i
a
i
\mathbf{x}=\frac{1}{n} \sum_{i} \mathbf{a}_{\mathbf{i}}
x=n1∑iai。
证明:我们的目标是寻找x,最小化
∑
i
∣
a
i
−
x
∣
2
\sum_{i}\left|\mathbf{a}_{\mathbf{i}}-\mathbf{x}\right|^{2}
∑i∣ai−x∣2。通过简单计算可得
∑
i
∣
a
i
−
x
∣
2
=
∑
i
∣
a
i
−
c
∣
2
+
n
∣
c
−
x
∣
2
\sum_{i}\left|\mathrm{a}_{\mathrm{i}}-\mathrm{x}\right|^{2}=\sum_{i}\left|\mathrm{a}_{\mathrm{i}}-\mathrm{c}\right|^{2}+n|\mathrm{c}-\mathrm{x}|^{2}
i∑∣ai−x∣2=i∑∣ai−c∣2+n∣c−x∣2等式右边第一部分是确定的数,第二部分最小值为0,在
x
=
c
x=c
x=c处取得。
3、Lloyd’s Algorithm
k-means聚类一个常用的算法是Lloyd’s Algorithm。
Lloyd’s Algorithm:
- 初始化k个中心(随机选择?);
- 将每个点与最靠近它的中心聚类;
- 找到每个聚类的质心作为新中心替换旧中心;
- 重复Step 2和Step 3直到聚类中心收敛(根据一些准则,例如k-means得分不再提高)
Lloyd算法不一定能找到全局最优解,但会找到局部最优解。算法中一个重要的步骤是初始化。下面的例子说明了初始中心会显著影响聚类结果。
上图中有三个密集簇,分别以
(
0
,
1
)
,
(
0
,
−
1
)
(0,1),(0,-1)
(0,1),(0,−1)和
(
3
,
0
)
(3,0)
(3,0)为中心。但如果我们以一个中心
(
0
,
1
)
(0,1)
(0,1)和两个接近
(
3
,
0
)
(3,0)
(3,0)的中心初始化,那么
(
0
,
1
)
(0,1)
(0,1)处的中心会移到
(
0
,
0
)
(0,0)
(0,0),而
(
3
,
0
)
(3,0)
(3,0)处的两个中心会呆在那里,将这一簇分成两部分。
因此,对于初始中心的选择要遵循一定的策略。最常用的策略为“最远遍历”。首先选择一个数据点作为初始中心 c 1 c_1 c1,然后选择距离 c 1 c_1 c1最远的数据点作为 c 2 c_2 c2,然后选择距离 { c 1 , c 2 } \{c_1,c_2\} {c1,c2}最远的数据点作为 c 3 c_3 c3,等等。直到选足了k个点,将它们用作初始中心。注意到,这样可以在图7.2中得到正确的聚类。
“最远便利”会被少数异常值欺骗。k-means++对此进行改进,基于它们与已挑选中心的距离来加权数据点,具体而言,与距离平方成比例。然后根据这些权重概率地选择下一个中心。另一种方法是为k-means问题运行一些其他近似算法,然后使用其输出作为Lloyd算法的起点。
4、Ward’s Algorithm
从它自己的簇中的每个数据点开始,然后重复的合并成对的簇,直到只剩下k个簇。具体来说,Ward算法合并了最小化k-means成本增量的两个簇,即合并
(
C
,
C
′
)
\left(C, C^{\prime}\right)
(C,C′) minimizing
cost
(
C
∪
C
′
)
−
cost
(
C
)
−
cost
(
C
′
)
\operatorname{cost}\left(C \cup C^{\prime}\right)-\operatorname{cost}(C)-\operatorname{cost}\left(C^{\prime}\right)
cost(C∪C′)−cost(C)−cost(C′)
4、一维中的k-Means聚类
假设已经得到了
a
1
,
…
,
a
i
a_{1}, \dots, a_{i}
a1,…,ai的所有最优k’-means聚类(
∀
k
′
≤
k
\forall k'\le k
∀k′≤k), 要计算
a
1
,
…
,
a
i
+
1
a_{1}, \dots, a_{i+1}
a1,…,ai+1的最优k’-means聚类,即寻找
j
j
j,最小化
d
i
s
t
(
a
1
,
⋯
 
,
a
j
−
1
)
+
d
i
s
t
(
a
j
,
⋯
 
,
a
i
+
1
)
dist(a_1,\cdots,a_{j-1})+dist(a_j,\cdots,a_{i+1})
dist(a1,⋯,aj−1)+dist(aj,⋯,ai+1)
前者聚成
k
′
−
1
k'-1
k′−1类,后者聚成1类。
对于给定的 i i i,我们需要计算 k ′ = 1 , ⋯   , k k'=1,\cdots,k k′=1,⋯,k,每次计算 a 1 , … , a i a_{1}, \dots, a_{i} a1,…,ai的k’-means聚类时,需要运行 i i i个 j j j( i ≤ n i\le n i≤n)。因此运行时间为 O ( k n ) O(kn) O(kn)。而一共有 n n n个 i i i,因此总的运行时间为 O ( k n 2 O(kn^2 O(kn2)。
三、k-Center Clustering
将任意点到聚类中心的最大距离称为聚类的半径。存在半径为r的k聚类当且仅当存在k个半径为r的球体将所有的点覆盖。下面,我们给出一个简单的算法来寻找k个球覆盖所有点。
The Farthest Traversal k-clustering Algorithm
- 任意选择一个点作为第一个聚类中心;
- 对 t = 2 , 3 , ⋯   , k t=2,3,\cdots,k t=2,3,⋯,k,选择距离当前聚类中心最远的点,作为第 t t t个聚类中心。
该算法相当于初始化Lloyd算法的最远遍历策略。下面的引理表明该算法仅需要使用最多为最佳k-center解的两倍的半径。
Theorem 7.3 如果存在半径为
r
2
\frac{r}{2}
2r的
k
k
k聚类,那么上面的算法找到的
k
k
k聚类的半径至多为
r
r
r。
证明:若不然,即存在数据点
x
x
x,它距离所有中心
>
r
>r
>r
⇒
\Rightarrow
⇒ 每次产生的新中心距离当前中心
>
r
>r
>r (否则它就不是距离当前中心最远的点,因为
x
x
x距离当前中心
>
r
>r
>r )。从而,
k
k
k个中心加上一个数据点
x
x
x,共有
k
+
1
k+1
k+1个数据点,它们的距离成对的比
r
r
r更大。但在半径为
r
2
\frac{r}{2}
2r的
k
k
k聚类中,没有两个这样的点可以属于同一簇,矛盾。
四、Spectral Clustering(谱聚类)
Spectral Clustering 其实就是通过 Laplacian Eigenmap 的降维方式降维之后再做 K-means 的一个过程。
谱聚类遵循以下步骤:
- 寻找由A的前k个右奇异向量生成的空间V
- 将数据点投影到V上
- 对投影点聚类
1、为什么要投影?
投影会使数据点更接近其聚类中心。
令数据矩阵
A
A
A的第
i
i
i行表示第
i
i
i个数据点,C的第
i
i
i行表示第
i
i
i个数据点属于的中心点。(对于
k
k
k聚类问题有且仅有
k
k
k个不同行)那么,数据点到其聚类中心的距离平方和为
∑
i
=
1
n
∣
a
i
−
c
i
∣
2
=
∥
A
−
C
∥
F
2
\sum_{i=1}^{n}\left|\mathbf{a}_{\mathbf{i}}-\mathbf{c _ { i }}\right|^{2}=\|A-C\|_{F}^{2}
i=1∑n∣ai−ci∣2=∥A−C∥F2
通过聚类能够将到聚类中心的距离平方和由
∥
A
−
C
∥
F
2
\|A-C\|_{F}^{2}
∥A−C∥F2减小到投影中的8
k
∥
A
−
C
∥
2
2
k\|A-C\|_{2}^{2}
k∥A−C∥22.。
Theorem 7.4 对任意秩小于等于k的矩阵
C
C
C,有
∥
A
k
−
C
∥
F
2
≤
8
k
∥
A
−
C
∥
2
2
\left\|A_{k}-C\right\|_{F}^{2} \leq 8 k\|A-C\|_{2}^{2}
∥Ak−C∥F2≤8k∥A−C∥22
证明:
r
a
n
k
(
A
k
−
C
)
≤
r
a
n
k
(
A
k
)
+
r
a
n
k
(
C
)
≤
k
+
k
=
2
k
rank(A_k-C)\le rank(A_k) + rank(C)\le k+k=2k
rank(Ak−C)≤rank(Ak)+rank(C)≤k+k=2k
由于
∥
A
∥
2
2
≤
∥
A
∥
F
2
≤
k
∥
A
∥
2
2
\|A\|_{2}^{2} \leq\|A\|_{F}^{2} \leq k\|A\|_{2}^{2}
∥A∥22≤∥A∥F2≤k∥A∥22,所以
∥
A
k
−
C
∥
F
2
≤
2
k
∥
A
k
−
C
∥
2
2
\left\|A_{k}-C\right\|_{F}^{2} \leq 2 k\left\|A_{k}-C\right\|_{2}^{2}
∥Ak−C∥F2≤2k∥Ak−C∥22
又
∥
A
k
−
C
∥
2
≤
∥
A
k
−
A
∥
2
+
∥
A
−
C
∥
2
≤
2
∥
A
−
C
∥
2
\left\|A_{k}-C\right\|_{2} \leq\left\|A_{k}-A\right\|_{2}+\|A-C\|_{2} \leq 2\|A-C\|_{2}
∥Ak−C∥2≤∥Ak−A∥2+∥A−C∥2≤2∥A−C∥2
得证。
2、算法
定义
σ
(
C
)
=
∥
A
−
C
∥
2
/
n
\sigma(C)=\|A-C\|_{2} / \sqrt{n}
σ(C)=∥A−C∥2/n。
Spectral Clustering - The Algorithm
- 寻找A的前k个奇异值向量,然后将A的列投影到由这向量生成的空间上,得到 A k A_k Ak;
- 从 A k A_k Ak中选择一行进行聚类,使得 A k A_k Ak的所有行与该行的距离都小于 6 k σ ( C ) / ε 6k \sigma(C) / \varepsilon 6kσ(C)/ε;
- 重复Step 2 k k k次。
Theorem 7.5 如果在
k
k
k聚类
C
C
C中,每对中心间隔至少15
k
σ
(
C
)
/
ε
k \sigma(C) / \varepsilon
kσ(C)/ε,并且每一类中至少有
ε
n
\varepsilon n
εn个点,则以至少
1
−
ε
1-\varepsilon
1−ε的概率,谱聚类找到的聚类
C
′
C'
C′与
C
C
C至多有
ε
2
n
\varepsilon^{2} n
ε2n个点不同。
证明:首先证明对大多数的数据点,数据点的投影与其聚类中心的距离在
3
k
σ
(
C
)
/
ε
3k \sigma(C) / \varepsilon
3kσ(C)/ε以内。令
M
=
{
i
:
∣
v
i
−
c
i
∣
≥
3
k
σ
(
C
)
/
ε
}
M=\left\{i :\left|\mathbf{v}_{\mathrm{i}}-\mathbf{c}_{\mathrm{i}}\right| \geq 3 k \sigma(C) / \varepsilon\right\}
M={i:∣vi−ci∣≥3kσ(C)/ε}
其中
v
i
\mathbf{v}_i
vi表示
A
k
A_k
Ak的第
i
i
i行。下面证明
∣
M
∣
|M|
∣M∣是小的。
由于
∥
A
k
−
C
∥
F
2
=
∑
i
∣
v
i
−
c
i
∣
2
≥
∑
i
∈
M
∣
v
i
−
c
i
∣
2
≥
∣
M
∣
9
k
2
σ
2
(
C
)
ε
2
\left\|A_{k}-C\right\|_{F}^{2}=\sum_{i}\left|\mathrm{v}_{\mathrm{i}}-\mathrm{c}_{\mathrm{i}}\right|^{2} \geq \sum_{i \in M}\left|\mathrm{v}_{\mathrm{i}}-\mathrm{c}_{\mathrm{i}}\right|^{2} \geq|M| \frac{9 k^{2} \sigma^{2}(C)}{\varepsilon^{2}}
∥Ak−C∥F2=∑i∣vi−ci∣2≥∑i∈M∣vi−ci∣2≥∣M∣ε29k2σ2(C),所以,由定理7.4,有
∣
M
∣
9
k
2
σ
2
(
C
)
ε
2
≤
∥
A
k
−
C
∥
F
2
≤
8
k
n
σ
2
(
C
)
⟹
∣
M
∣
≤
8
ε
2
n
9
k
|M| \frac{9 k^{2} \sigma^{2}(C)}{\varepsilon^{2}} \leq\left\|A_{k}-C\right\|_{F}^{2} \leq 8 k n \sigma^{2}(C) \quad \Longrightarrow \quad|M| \leq \frac{8 \varepsilon^{2} n}{9 k}
∣M∣ε29k2σ2(C)≤∥Ak−C∥F2≤8knσ2(C)⟹∣M∣≤9k8ε2n
如果
i
∉
M
i \notin M
i∈/M,称数据点
i
i
i是好的。对于属于同一簇的两个好点
i
i
i和
j
j
j,由于它们的投影与中心距离在
3
k
σ
(
C
)
/
ε
3k \sigma(C) / \varepsilon
3kσ(C)/ε以内,所以两个点的投影距离在
6
k
σ
(
C
)
/
ε
6k \sigma(C) / \varepsilon
6kσ(C)/ε以内。另一方面,对于属于不同簇的两个好点
i
i
i和
k
k
k,由于两个簇的中心间隔至少15
k
σ
(
C
)
/
ε
k \sigma(C) / \varepsilon
kσ(C)/ε,所以两个点的投影距离一定比
15
k
σ
(
C
)
/
ε
−
6
k
σ
(
C
)
/
ε
=
9
k
σ
(
C
)
/
ε
15 k \sigma(C) / \varepsilon-6 k \sigma(C) / \varepsilon=9 k \sigma(C) / \varepsilon
15kσ(C)/ε−6kσ(C)/ε=9kσ(C)/ε大。因此,如果我们在Step 2中选择了一个好点(如点
i
i
i),那么我们算法放置在它的簇中的好点就确为与
i
i
i在同一簇中的好点。因此,如果在Step 2的第k次执行中,我们选择了一个好点,那么所有好点都被正确聚类。又由于
∣
M
∣
≤
ε
2
n
|M| \leq \varepsilon^{2} n
∣M∣≤ε2n,定理即成立。
为了完成证明,,我们还需说明Step 2中选择坏点的可能性很小。有上面证明,可知每一类中好点的个数至少
(
ε
−
ε
2
)
n
(\varepsilon-\varepsilon^2)n
(ε−ε2)n。因此,从每一类中挑出好点的概率至少为
(
ε
−
ε
2
)
n
/
(
ε
n
)
=
1
−
ε
(\varepsilon-\varepsilon^2)n/(\varepsilon n)=1-\varepsilon
(ε−ε2)n/(εn)=1−ε。
3、由 Ω ( 1 ) \Omega(1) Ω(1)标准差分离的均值
对于实线上的概率分布,“由
6
6
6标准差分离的均值”足够区分不同的分布。如果
k
∈
O
(
1
)
k \in O(1)
k∈O(1)并且
6
6
6被一些常数代替,则谱聚类能够使我们在更高维度上做同样的事。首先定义标准偏差为数据点到聚类中心的平方均值在所有单位方向
v
\mathrm{v}
v上的最大值,即
σ
(
C
)
2
=
1
n
max
∣
v
∣
=
1
∑
i
=
1
n
[
(
a
i
−
c
i
)
⋅
v
]
2
=
1
n
max
∣
v
∣
=
1
∣
(
A
−
C
)
v
∣
2
=
1
n
∥
A
−
C
∥
2
2
\sigma(C)^{2}=\frac{1}{n} \max\limits_{|\mathbf{v}|=1} \sum_{i=1}^{n}\left[\left(\mathbf{a}_{\mathbf{i}}-\mathbf{c}_{\mathbf{i}}\right) \cdot \mathbf{v}\right]^{2}=\frac{1}{n} \max\limits_{|\mathbf{v}|=1}|(A-C) \mathbf{v}|^{2}=\frac{1}{n}\|A-C\|_{2}^{2}
σ(C)2=n1∣v∣=1maxi=1∑n[(ai−ci)⋅v]2=n1∣v∣=1max∣(A−C)v∣2=n1∥A−C∥22
这也与我们之前对
σ
(
C
)
\sigma(C)
σ(C)的定义相同。
现在,很容易看出Theorem 7.5可以重新表述(假设
k
∈
O
(
1
)
k \in O(1)
k∈O(1))为
- 如果 C C C中的聚类中心可以由 Ω ( σ ( C ) ) \Omega(\sigma(C)) Ω(σ(C))分离,那么谱聚类算法找到的聚类 C ′ C' C′与 C C C只有很小一部分数据点不同。
可以看出,对于许多随机模型,“均值由 Ω ( 1 ) \Omega(1) Ω(1)标准差分离”条件成立。在这里用两个例子说明。
首先,假设我们有 k ∈ O ( 1 ) k \in O(1) k∈O(1)个球面高斯的混合,其标准差均为1。数据由这个混合产生。如果高斯的均值是 Ω ( 1 ) \Omega(1) Ω(1)分离的,那么条件“均值由 Ω ( 1 ) \Omega(1) Ω(1)标准差分离”是满足的,因此当我们投影到SVD子空间并聚类,我们将得到(接近)正确的聚类。
我们再讨论第二个例子。随机块模型是关于社区的模型。假设再
n
n
n个人中有
k
k
k个社区
C
1
,
C
2
,
…
,
C
k
C_{1}, C_{2}, \ldots, C_{k}
C1,C2,…,Ck。假设两个人在同一社区认识对方的概率为
p
p
p,在不同社区认识对方的概率为
q
q
q,其中,
q
<
p
q<p
q<p。假设事件人
i
i
i认识人
j
j
j是互相独立的。具体地,我们给出
n
×
n
n\times n
n×n数据矩阵,其中
a
i
j
=
1
a_{ij}=1
aij=1当且仅当
i
i
i和
j
j
j彼此认识。可以将A视为图的邻接矩阵。在实际中,图形相当稀疏,即
p
p
p和
q
q
q很小,即
O
(
1
/
n
)
O(1 / n)
O(1/n) or
O
(
ln
n
/
n
)
O(\ln n / n)
O(lnn/n)。
考虑简单情形:两个社区各有
n
/
2
n/2
n/2个人,且
p
=
α
n
q
=
β
n
p=\frac{\alpha}{n} \quad q=\frac{\beta}{n} \quad
p=nαq=nβ ,其中
α
,
β
∈
O
(
ln
n
)
\alpha, \beta \in O(\ln n)
α,β∈O(lnn)。令
u
\mathbf{u}
u和
v
\mathbf{v}
v分别为社区一和二的数据点的质心,所以
u
i
≈
p
u_{i} \approx p
ui≈p for
i
∈
C
1
i \in C_{1}
i∈C1和
u
j
≈
q
u_{j} \approx q
uj≈q for
j
∈
C
2
j \in C_{2}
j∈C2 并且
v
i
≈
q
v_{i} \approx q
vi≈q for
i
∈
C
1
i \in C_{1}
i∈C1 和
v
j
≈
p
v_{j} \approx p
vj≈p for
j
∈
C
2
j \in C_{2}
j∈C2。我们有
∣
u
−
v
∣
2
=
∑
j
=
1
n
(
u
j
−
v
j
)
2
≈
(
α
−
β
)
2
n
2
n
=
(
α
−
β
)
2
n
|\mathbf{u}-\mathbf{v}|^{2}=\sum_{j=1}^{n}\left(u_{j}-v_{j}\right)^{2} \approx \frac{(\alpha-\beta)^{2}}{n^{2}} n=\frac{(\alpha-\beta)^{2}}{n}
∣u−v∣2=j=1∑n(uj−vj)2≈n2(α−β)2n=n(α−β)2
I
n
t
e
r
−
c
e
n
t
r
o
i
d
d
i
s
t
a
n
c
e
≈
α
−
β
n
Inter-centroid distance\approx \frac{\alpha-\beta}{\sqrt{n}}
Inter−centroiddistance≈nα−β
我们要求
∥
A
−
C
∥
2
\|A-C\|_{2}
∥A−C∥2的上界。这是非平凡的,因为我们必须对所有单位向量
v
\mathbf{v}
v证明一个统一的上界。随机矩阵(RMT)理论已经为我们做了这个。RMT告诉我们
∥
A
−
C
∥
2
≤
O
∗
(
n
p
)
=
O
∗
(
α
)
\|A-C\|_{2} \leq O^{*}(\sqrt{n p})=O^{*}(\sqrt{\alpha})
∥A−C∥2≤O∗(np)=O∗(α)
因此,只要
α
−
β
∈
Ω
∗
(
α
)
\alpha-\beta \in \Omega^{*}(\sqrt{\alpha})
α−β∈Ω∗(α),我们有
Ω
(
1
)
\Omega(1)
Ω(1)标准差分离的均值,从而谱聚类工作。
4、拉普拉斯算子
谱聚类的一个重要特例是当
k
=
2
k=2
k=2时。如果我们一个算法将数据分成两部分,这可以递归的应用。一种使用该谱算法的情形是应用在图的拉普拉斯矩阵L上,其被定义为
L
=
D
−
A
L=D-A
L=D−A
其中
A
A
A是邻接矩阵,
D
D
D是自由度的对角矩阵。我们令
A
A
A为负号。
对任意向量
x
x
x,我们有
x
T
L
x
=
∑
i
d
i
i
x
i
2
−
∑
(
i
,
j
)
∈
E
x
i
x
j
=
1
2
∑
(
i
,
j
)
∈
E
(
x
i
−
x
j
)
2
\mathbf{x}^{T} L \mathbf{x}=\sum_{i} d_{i i} x_{i}^{2}-\sum_{(i, j) \in E} x_{i} x_{j}=\frac{1}{2} \sum_{(i, j) \in E}\left(x_{i}-x_{j}\right)^{2}
xTLx=i∑diixi2−(i,j)∈E∑xixj=21(i,j)∈E∑(xi−xj)2
由于
L
L
L的所有行和为0,因此其最小特征值为0,对应的特征向量为
1
\mathbf{1}
1。所有数据点对此向量的投影点仅仅是原点,因此不能提供任何信息。如果我们采用第二低的奇异向量并进行投影,我们得到非常简单的将
n
n
n个实数进行聚类的问题。