| 第938行: |
第938行: |
| | 下面介绍具体的方法。首先,我们用[[扩散方程]] <math>\frac{d\psi}{d\tau}=-L\psi</math> 来描述网络的扩散过程,其中[[拉普拉斯矩阵]] <math>L=D-A</math> 描述网络的拓扑结构,<math>A</math> 是邻接矩阵,<math>D</math> 是[[度矩阵]]。扩散方程的解为 <math>\psi_{\tau}=e^{-\tau L}\psi_0</math>,体现了信息随时间的演化,其中 <math>e^{-\tau L}</math> 为时间演化算子,<math>[e^{-\tau L}]_{ij}</math> 表示经过时间 <math>\tau</math> 后从节点 <math>j</math> 到节点 <math>i</math> 的流量。 | | 下面介绍具体的方法。首先,我们用[[扩散方程]] <math>\frac{d\psi}{d\tau}=-L\psi</math> 来描述网络的扩散过程,其中[[拉普拉斯矩阵]] <math>L=D-A</math> 描述网络的拓扑结构,<math>A</math> 是邻接矩阵,<math>D</math> 是[[度矩阵]]。扩散方程的解为 <math>\psi_{\tau}=e^{-\tau L}\psi_0</math>,体现了信息随时间的演化,其中 <math>e^{-\tau L}</math> 为时间演化算子,<math>[e^{-\tau L}]_{ij}</math> 表示经过时间 <math>\tau</math> 后从节点 <math>j</math> 到节点 <math>i</math> 的流量。 |
| | | | |
| − | 其次,利用[[复杂网络的配分函数]] <math>Z_{\tau}=Tr(e^{-\tau L})</math>,我们能量化矩阵的全局信息量<ref name='coarse-graining'/>。矩阵 <math>e^{-\tau L}</math> 的每个对角元 <math>[e^{-\tau L}]_{ii}</math> 是第 <math>i</math> 个节点的信息保留量,对所有对角元求和则能得到所有节点的信息保留量。 | + | 其次,利用[[复杂网络的配分函数]] <math>Z_{\tau}=Tr(e^{-\tau L})</math>,我们能量化矩阵的全局信息量<ref name='coarse-graining'/>。矩阵 <math>e^{-\tau L}</math> 的每个对角元 <math>[e^{-\tau L}]_{ii}</math> 是第 <math>i</math> 个节点经过[math]\tau[/math]步信息扩散之后,该同一节点上的信息保留量,求矩阵的迹,即对所有对角元求和则能得到所有节点经过[math]\tau[/math]时间后的信息保留量。 |
| | | | |
| − | 通过[[图神经网络]]([[GNN]])的[[消息传递]]机制,得到每个节点的向量表征,对节点向量应用[[Softmax]]函数,得到分组矩阵 <math>S_{N\times M}</math>,其中元素 <math>s_{ij}</math> 表示节点 <math>i</math> 分到第 <math>j</math> 个超级节点的概率。 | + | 通过[[图神经网络]]([[GNN]])的[[消息传递]]机制,得到每个节点的向量表征,对节点向量应用[[Softmax函数]],得到[[分组矩阵]] <math>S_{N\times M}</math>,其中元素 <math>s_{ij}</math> 表示节点 <math>i</math> 分到第 <math>j</math> 个超级节点的概率。这个[[分组矩阵]]就是一个候选的粗粒化策略。 |
| | | | |
| − | 通过 <math>\hat{A}=\frac{M}{N}S^{T}AS</math> 得到[[宏观邻接矩阵]] <math>\hat{A}_{M\times M}</math>,其中 <math>A_{N\times N}</math> 原始网络的邻接矩阵。归一化[[配分函数]] <math>\frac{Z}{N}</math> 的[[平均绝对误差]](MAE)作为训练[[图神经网络]]的损失函数,通过[[梯度下降]]优化GNN的参数。 | + | 通过 <math>\hat{A}=\frac{M}{N}S^{T}AS</math> 得到[[宏观邻接矩阵]](即粗粒化后的矩阵) <math>\hat{A}_{M\times M}</math>,其中 <math>A_{N\times N}</math> 原始网络的邻接矩阵。归一化[[配分函数]] <math>\frac{Z}{N}</math> 的[[平均绝对误差]](MAE)作为训练[[图神经网络]]的损失函数,通过[[梯度下降]]优化[[GNN]]的参数。 |
| | | | |
| − | 网络规模从 <math>N</math> 压缩到 <math>N^{'}</math> 后,得到新的[[拉普拉斯矩阵]] <math>L^{'}</math> 和配分函数 <math>Z^{'}</math>,原始网络和压缩后的网络的配分函数的关系是 <math>Z=\gamma Z^{'}</math>,并且压缩后的配分函数和原始网络的配分函数要尽可能相似,不随时间变化而且误差最小。当 <math>\tau=0</math> 时,<math>Z=N,Z^{'}=N^{'}</math>,为了使之成立,<math>\gamma=\frac{N}{N^{'}}</math>,所以乘数的有效值为 <math>\frac{N}{N^{'}}</math>。 | + | 网络规模从 <math>N</math> 压缩到 <math>N^{'}</math> 后,得到新的[[拉普拉斯矩阵]] <math>L^{'}</math> 和[[配分函数]] <math>Z^{'}</math>,原始网络和压缩后的网络的配分函数的关系应该是 <math>Z=\gamma Z^{'}</math>,这里[math]\gamma[/math]为一个乘数因子。我们可以通过设 <math>\tau=0</math> 时,得到<math>Z=N,Z^{'}=N^{'}</math>,为了使之成立,<math>\gamma=\frac{N}{N^{'}}</math>,即为乘数的有效值。 |
| | + | |
| | + | 也就是说,我们应该尽可能保证压缩后的配分函数和原始网络的配分函数要尽可能相似,且对于所有的时间尺度[math]\tau[/math]都成立。为了实现这一点,我们可以对原始的和新的配分函数做归一化,并且让归一化后的粗粒化函数之间的误差最小,从而利用梯度反传优化分组矩阵。 |
| | | | |
| | 马尔科夫链是描述状态仅依赖当前状态的[[随机过程]],通过拉普拉斯矩阵与转移概率的关系,将上述方法应用到马尔科夫链中,在[[离散时间马尔科夫链]]中,转移概率矩阵为 <math>P</math>;在[[连续时间马尔科夫链]]中,<math>P(t)=e^{-tL}</math> 是经过时间 <math>t</math> 的转移概率矩阵。配分函数 <math>Z_t=Tr(e^{-tL})</math> 可以理解为马尔科夫链的所有状态的信息保留总和。 | | 马尔科夫链是描述状态仅依赖当前状态的[[随机过程]],通过拉普拉斯矩阵与转移概率的关系,将上述方法应用到马尔科夫链中,在[[离散时间马尔科夫链]]中,转移概率矩阵为 <math>P</math>;在[[连续时间马尔科夫链]]中,<math>P(t)=e^{-tL}</math> 是经过时间 <math>t</math> 的转移概率矩阵。配分函数 <math>Z_t=Tr(e^{-tL})</math> 可以理解为马尔科夫链的所有状态的信息保留总和。 |