9.8 KiB
如何确定kmeans的簇数?节点之间的流量,空间转为时间的图。
压缩感知 函数拟合 采样定理 傅里叶变换
谱分解与网络重构
实对称矩阵性质:
对于任意 n \times n
的实对称矩阵 $A$:
-
秩可以小于 $n$(即存在零特征值,矩阵不可逆)。
-
但仍然有
n
个线性无关的特征向量(即可对角化)。
一个实对称矩阵可以通过其特征值和特征向量进行分解。对于一个 n \times n
的对称矩阵 $A$,
完整谱分解可以表示为:
A = Q \Lambda Q^T \\
A = \sum_{i=1}^{n} \lambda_i x_i x_i^T
$Q$是$n \times n$的正交矩阵,每一列是一个特征向量;$\Lambda$是$n \times n$的对角矩阵,对角线元素是特征值\lambda_i
,其余为0。
其中,\lambda_i
是矩阵 A
的第 i
个特征值,x_i
是对应的特征向量。
事实上,如果矩阵 A
的秩为 r
,就只需要用前 r
个特征值和特征向量就可以精确重构出。因为零特征值对矩阵重构不提供任何贡献。
截断的谱分解(取前 r 个特征值和特征向量)
如果我们只保留前 r
个最大的(或最重要的)特征值和对应的特征向量,那么:
- 特征向量矩阵 $U_r$:取
U
的前r
列,维度为 $n \times r$。 - 特征值矩阵 $\Lambda_r$:取
\Lambda
的前r \times r
子矩阵(即前r
个对角线元素),维度为 $r \times r$。
因此,截断后的近似分解为:
A \approx U_r \Lambda_r U_r^T\\
A \approx \sum_{i=1}^{r} \lambda_i x_i x_i^T
推导过程
- 特征值和特征向量的定义
对于一个对称矩阵 $A$,其特征值和特征向量满足:
A x_i = \lambda_i x_i
其中,\lambda_i
是特征值,x_i
是对应的特征向量。
-
谱分解
将这些特征向量组成一个正交矩阵Q
A = Q \Lambda Q^T
Q = \begin{bmatrix} x_1 & x_2 & \cdots & x_n \end{bmatrix},
Q \Lambda = \begin{bmatrix} \lambda_1 x_1 & \lambda_2 x_2 & \cdots & \lambda_n x_n \end{bmatrix}.
Q \Lambda Q^T = \begin{bmatrix} \lambda_1 x_1 & \lambda_2 x_2 & \cdots & \lambda_n x_n \end{bmatrix} \begin{bmatrix} x_1^T \\ x_2^T \\ \vdots \\ x_n^T \end{bmatrix}.
Q \Lambda Q^T = \lambda_1 x_1 x_1^T + \lambda_2 x_2 x_2^T + \cdots + \lambda_n x_n x_n^T.
可以写为
A = \sum_{i=1}^{n} \lambda_i x_i x_i^T.
- 网络重构
在随机网络中,网络的邻接矩阵A
通常是对称的。利用预测算法得到的谱参数\{\lambda_i, x_i\}
后,就可以用以下公式重构网络矩阵:
A(G) = \sum_{i=1}^{n} \lambda_i x_i x_i^T
性质 | 特征分解/谱分解 | 奇异值分解(SVD) |
---|---|---|
适用矩阵 | 仅限方阵($n \times n$) | 任意矩阵($m \times n$,包括矩形矩阵) |
分解形式 | A = P \Lambda P^{-1} |
A = U \Sigma V^* |
矩阵类型 | 可对角化矩阵(如对称、正规矩阵) | 所有矩阵(包括不可对角化的方阵和非方阵) |
输出性质 | 特征值($\lambda_i$)可能是复数 | 奇异值($\sigma_i$)始终为非负实数 |
正交性 | 仅当 A 正规时 P 是酉矩阵 |
U 和 V 始终是酉矩阵(正交) |
谱分解的对象为实对称矩阵,
网络重构分析
基于扰动理论的特征向量估算方法
设原矩阵为 $A$,扰动后矩阵为 $A+\zeta C$(扰动矩阵 $\zeta C$,$\zeta$是小参数),令其第 i
个特征值、特征向量分别为 \lambda_i,x_i
和 $\tilde\lambda_i,\tilde x_i$。
特征向量的一阶扰动公式:
\Delta x_i
=\tilde x_i - x_i
\;\approx\;
\zeta \sum_{k\neq i}
\frac{x_k^T\,C\,x_i}{\lambda_i - \lambda_k}\;x_k,
- 输出:对应第
i
个特征向量修正量 $\Delta x_i$。
特征值的一阶扰动公式:
\Delta\lambda_i = \tilde\lambda_i - \lambda_i \;\approx\;\zeta\,x_i^T\,C\,x_i
**关键假设:**当扰动较小( $\zeta\ll1$) 且各模态近似正交均匀时,常作进一步近似
x_k^T\,C\,x_i \;\approx\; x_i^T\,C\,x_i \;
正交: \{x_k\}
本身是正交基,这是任何对称矩阵特征向量天然具有的属性。
均匀:我们把 C
看作“不偏向任何特定模态”的随机小扰动——换句话说,投影到任何两个方向 (x_i,x_k)
上的耦合强度 x_k^T\,C\,x_i\quad\text{和}\quad x_i^T\,C\,x_i
在数值量级上应当差不多,因此可以互相近似。
因此,将所有的 x_k^T C x_i
替换为 $x_i^T C x_i$:
\Delta x_i \approx \zeta \sum_{k\neq i} \frac{x_i^T C x_i}{\lambda_i - \lambda_k} x_k = \zeta (x_i^T C x_i) \sum_{k\neq i} \frac{1}{\lambda_i - \lambda_k} x_k = \sum_{k\neq i} \frac{\Delta \lambda_i}{\lambda_i - \lambda_k} x_k \tag{*}
\Delta x_i \approx\sum_{k\neq i} \frac{\Delta \lambda_i}{\lambda_i - \lambda_k} x_k \tag{*}
问题:
-
当前时刻的邻接矩阵
A^{(1)}\in\mathbb R^{n\times n},\qquad A^{(1)}\,x_i^{(1)}=\lambda_i^{(1)}\,x_i^{(1)},\quad \|x_i^{(1)}\|=1.
-
下一时刻的邻接矩阵
A^{(2)}\in\mathbb R^{n\times n},
已知它的第
i
个特征值 $\lambda_i^{(2)}$(卡尔曼滤波得来). 求当前时刻的特征向量 $x_i^{(2)}$。
下一时刻第 i
个特征向量的预测为
\boxed{
x_i^{(2)}
\;=\;
x_i^{(1)}+\Delta x_i
\;\approx\;
x_i^{(1)}
+\sum_{k\neq i}
\frac{\lambda_i^{(2)}-\lambda_i^{(1)}}
{\lambda_i^{(1)}-\lambda_k^{(1)}}\;
x_k^{(1)}.
}
通过该估算方法可以依次求出下一时刻的所有特征向量。
矩阵符号说明
-
原始(真实)邻接矩阵:
A = \sum_{m=1}^n \lambda_m\,x_m x_m^T, \quad \lambda_1\ge\lambda_2\ge\cdots\ge\lambda_n\;
-
滤波估计得到的矩阵及谱分解:
\widetilde A = \sum_{m=1}^r \widetilde\lambda_m\,\widetilde x_m\widetilde x_m^T, \quad \widetilde\lambda_1\ge\cdots\ge\widetilde\lambda_n\;
-
只取前
r
项重构 :A_r \;=\;\sum_{m=1}^r \widetilde\lambda_m\,\widetilde x_m\widetilde x_m^T,
-
对
A_r
进行K-means聚类,得到A_{final}
目标是让 A_{final}
= A
0/1矩阵
其中 \widetilde{\lambda}_i
和 \widetilde{x}_i
分别为通过预测得到矩阵 \widetilde A
的第 i
个特征值和对应特征向量。 然而预测值和真实值之间存在误差,直接进行矩阵重构会使得重构误差较大。 对于这个问题,文献提出一种 0/1 矩阵近似恢复算法。
a_{ij} =
\begin{cases}
1, & \text{if}\ \lvert a_{ij} - 1 \rvert < 0.5 \\
0, & \text{else}
\end{cases}
只要我们的估计值与真实值之间差距小于 0.5,就能保证阈值处理以后准确地恢复原边信息。
文中提出网络特征值扰动与邻接矩阵扰动具有相同的规律
真实矩阵 A
与预测矩阵 \widetilde{A}
之间的差为
A - \widetilde{A}=\sum_{m=1}^n \lambda_m\,x_m x_m^T-\sum_{m=1}^n \widetilde\lambda_m\,\widetilde x_m\widetilde x_m^T
若假设特征向量扰动可忽略,即\widetilde x_m\approx x_m
,扰动可简化为(这里可能有问题,特征向量的扰动也要计算)
A - \widetilde{A} = \sum_{m=1}^n \Delta \lambda_m \widetilde{x}_m \widetilde{x}_m^T.
对于任意元素 (i, j)
上有
|a_{ij} - \widetilde{a}_{ij}|=\left| \sum_{m=1}^n \Delta \lambda_m (\widetilde{x}_m \widetilde{x}_m^T)_{ij} \right| < \frac{1}{2}
于一个归一化的特征向量 $\widetilde{x}_m$,其外积矩阵 \widetilde{x}_m \widetilde{x}_m^T
的元素理论上满足
|(\widetilde{x}_m \widetilde{x}_m^T)_{ij}| \leq 1.
经过分析推导可以得出发生特征扰动时,网络精准重构条件为:
\sum_{m=1}^n \Delta \lambda_m < \frac{1}{2}
\Delta {\lambda} < \frac{1}{2n}
0-1 矩阵能够精准重构的容忍上界与网络中的节点数量成反比,网络中节点数量越多,实现精准重构的要求也就越高。
如果在高层次(特征值滤波)的误差累积超过了一定阈值,就有可能在低层次(邻接矩阵元素)中出现翻转。公式推导了只要谱参数的误差之和不超过 0.5,就可以保证0-1矩阵的精确重构。
非0/1矩阵
全局误差度量
对估计矩阵 \widetilde{A}
的所有元素 \{\tilde{a}_{ij}\}
进行 $K$-means 聚类,得到中心 ${c_k}_{k=1}^K$。
-
簇内平均偏差:
\text{mean}_k = \frac{1}{|\mathcal{S}_k|} \sum_{(i,j)\in\mathcal{S}_k} |\tilde{a}_{ij} - c_k|
-
全局允许误差:
\delta_{\max} = \frac{1}{K} \sum_{k=1}^K \text{mean}_k
带权重构需控制两类误差:
-
截断谱分解误差$\epsilon$:
\epsilon = \bigl\|\widetilde A - A_r\bigr\|_F = \Bigl\|\sum_{m=r+1}^n \widetilde\lambda_m\,\widetilde x_m \widetilde x_m^T\Bigr\|_F.
-
滤波误差$\eta$:
来源:滤波器在谱域对真实特征值/向量的估计偏差,包括
- 特征值偏差
\Delta\lambda_m=\lambda_m-\widetilde\lambda_m
- 特征向量:矩阵扰动得来
A - \widetilde A=\sum_{m=1}^n \Delta \lambda_m \hat{x}_m \hat{x}_m^T.
\eta \approx \Bigl\|\sum_{m=1}^n \Delta\lambda_m\,\widetilde x_m\widetilde x_m^T\Bigr\|_F
- 特征值偏差
最终约束条件:
\boxed{
\underbrace{\eta}_{\text{滤波误差}}
\;+\;
\underbrace{\epsilon}_{\text{谱分解截断误差}}
\;\le\;
\underbrace{\delta_{\max}}_{\text{聚类量化容限}}
}
量化的间隔是不是就和分布有关,有无其他影响因素。
通信原理,采样量化。
压缩感知的话量化分隔不是均匀的。
假设都是破松分布