上一讲我们完成了Stochastic Block Model与社区发现问题的建模,并描述了目标:Community detection in networks的目标是给定一个某个随机矩阵的样本数据集,要还原随机矩阵的期望的特征向量。同时我们明确了算法分析的基本方法是摄动方法,这里描述一个大致思路:
我们对社区发现算法进行理论分析的目的是说明这样的算法能够提供一个一致的、误差可以被控制的输出,也就是要说明算法还原出来的特征向量(算法输出)与随机矩阵期望的特征向量(理论结果)之差的范数足够小,在理论分析的时候,我们可以认为算法与理论的区别在于算法计算特征向量时用的是带噪声的数据,因此我们需要能分析矩阵噪声对特征值的影响的工具,于是我们选择了摄动方法。
Davis-Kahan定理 假设 S , T S,T S,T是对称矩阵,假设 min j ≠ i ∣ λ i ( S ) − λ j ( S ) ∣ = δ > 0 \min_{j \ne i}|\lambda_i(S)-\lambda_j(S)| = \delta>0 minj=i∣λi(S)−λj(S)∣=δ>0,用 v i ( S ) v_i(S) vi(S)表示矩阵 S S S的第 i i i个特征值对应的标准化的特征向量,用 θ i ( S , T ) \theta_{i}(S,T) θi(S,T)表示矩阵 S , T S,T S,T的第 i i i个特征值对应的特征向量形成的夹角,则
sin θ i ( S , T ) ≤ 2 ∥ S − T ∥ δ \sin \theta_i(S,T) \le \frac{2\left\| S-T \right\|}{\delta} sinθi(S,T)≤δ2∥S−T∥
评注
i) 虽然这个结果看起来只能说明当 S , T S,T S,T两个矩阵相差不大时,它们的特征向量的夹角也不大,但我们可以进一步得到它们特征向量之差的范数的结果:
因为 θ i ( S , T ) ∈ [ 0 , π / 2 ] \theta_i(S,T) \in [0,\pi/2] θi(S,T)∈[0,π/2],于是
1 ≤ ∥ v i ( S ) − v i ( T ) ∥ 2 sin θ i ( S , T ) ≤ 2 1 \le \frac{\left\|v_i(S) - v_i(T) \right\|_2}{\sin \theta_i(S,T)} \le \sqrt{2} 1≤sinθi(S,T)∥vi(S)−vi(T)∥2≤2
所以
∥ v i ( S ) − v i ( T ) ∥ 2 ≤ 2 2 ∥ S − T ∥ δ \left\|v_i(S) - v_i(T) \right\|_2 \le \frac{2\sqrt{2}\left\| S-T \right\|}{\delta} ∥vi(S)−vi(T)∥2≤δ22∥S−T∥
Spectral Clustering
假设我们使用Spectral Clustering来做Community detection in networks,根据上一讲的简单分析:
如果 A A A表示一个随机网络,计算它的 v 2 ( A ) v_2(A) v2(A),则 v 2 ( A ) v_2(A) v2(A)的某个元素的符号表示对应节点所属的社区。
定理 考虑随机网络 G ( n , p , q ) G(n,p,q) G(n,p,q),如果 min ( q , p − q ) = μ > 0 \min(q,p-q)=\mu>0 min(q,p−q)=μ>0,则 ∃ c > 0 \exists c>0 ∃c>0,Spectral Clustering最多搞错 c / μ 2 c/\mu^2 c/μ2个节点的概率至少是 1 − 4 e − n 1-4e^{-n} 1−4e−n。
证明
用 A A A表示这个随机网络的伴随矩阵,做分解
A = D + R A = D+R A=D+R
其中 D D D是一个不含随机性的矩阵, r a n k D = 2 rank D=2 rankD=2, ∥ D ∥ = λ 1 = ( p + q ) n 2 \left\| D \right\|=\lambda_1 = \frac{(p+q)n}{2} ∥D∥=λ1=2(p+q)n并且 λ 2 = ( p − q ) n 2 \lambda_2 = \frac{(p-q)n}{2} λ2=2(p−q)n; P ( ∥ R ∥ ≤ 2 C K n ) ≥ 1 − 4 e − n P(\left\| R \right\| \le 2CK\sqrt{n}) \ge 1-4e^{-n} P(∥R∥≤2CKn)≥1−4e−n
记 δ = min ( λ 1 − λ 2 , λ 2 ) = n μ > 0 \delta = \min(\lambda_1-\lambda_2,\lambda_2)=n\mu>0 δ=min(λ1−λ2,λ2)=nμ>0,于是我们可以使用Davis-Kahan定理以及上面这个概率不等式: ∃ C ′ > 0 \exists C'>0 ∃C′>0
∥ v 2 ( D ) − v 2 ( A ) ∥ 2 ≤ 2 2 C ′ n μ n \left\| v_2(D)-v_2(A) \right\|_2 \le \frac{2\sqrt{2}C'\sqrt{n}}{\mu n} ∥v2(D)−v2(A)∥2≤μn22C′n
这个不等式成立的概率是 1 − e − 4 n 1-e^{-4n} 1−e−4n,要考虑搞错的节点个数,需要考虑 n \sqrt{n} n乘以特征向量,于是
n ∥ v 2 ( D ) − v 2 ( A ) ∥ 2 ≤ 2 2 C ′ μ n ∥ v 2 ( D ) − v 2 ( A ) ∥ 2 2 ≤ 8 C ′ 2 μ 2 \sqrt{n}\left\| v_2(D)-v_2(A) \right\|_2 \le \frac{2\sqrt{2}C'}{\mu} \\ \sqrt{n}\left\| v_2(D)-v_2(A) \right\|^2_2 \le \frac{8C'^2}{\mu^2} n∥v2(D)−v2(A)∥2≤μ22C′n∥v2(D)−v2(A)∥22≤μ28C′2
记 c = 8 C ′ 2 c = 8C'^2 c=8C′2,则定理得证。