| 第960行: |
第960行: |
| | ===最大化可逆性的谱分解方法=== | | ===最大化可逆性的谱分解方法=== |
| | | | |
| − | 动力学可逆性的文章<ref name="reversibility"/>提供了另一种基于奇异值分解的粗粒化方法,以获得宏观层面的简化TPM。其基本思想是将 <math>P</math> 中的行向量 <math>P_{i},\forall i \in [1,N]</math> 投影到 <math>P</math> 的几个较大奇异值对应的奇异向量所张成的子空间上,从而保留 <math>P</math> 的主要信息,并保持 <math>\Gamma</math> 不变。
| + | 张江等人<ref name="reversibility"/> 提供了另一种基于奇异值分解的粗粒化方法,出发点与上述方法不同:它不以恢复某种预设的结构性划分为目标,而是直接以'''最大化宏观动力学的可逆性'''为优化方向。其核心物理图像是:将马尔科夫动力学看作一个通信信道,每个状态下的概率转移看作一条信息通路(information pathway)。当系统的 <math>N</math> 条通路中存在线性相关的行向量时,这些通路是冗余的——它们要么传递极少的信息(对应接近零的奇异值),要么可以被其他通路的线性组合表示。 |
| | | | |
| − | 跟上面的方法类似,该方法的基本思路是将P中的所有行向量 <math>P_{i}</math> 视为维数为 <math>N</math> 的数据向量。首先对这些行向量进行PCA降维,其次将其聚类为 <math>r</math> 个簇,其中 <math>r</math> 是根据奇异值谱的阈值<math>\epsilon</math>截取的:
| + | 通过 SVD 可以识别出 <math>r_\epsilon</math> 条"核心通路",其余 <math>N - r_\epsilon</math> 条是可以消除的冗余通路。粗粒化就是把状态按照它们在核心通路上的表现进行归组,让宏观动力学只保留这些高效通道。其基本思想是将 <math>P</math> 中的行向量 <math>P_{i},\forall i \in [1,N]</math> 投影到 <math>P</math> 的几个较大奇异值对应的奇异向量所张成的子空间上,从而保留 <math>P</math> 的主要信息,并保持 <math>\Gamma</math> 不变。 |
| | + | |
| | + | 与 EI 相比,<math>\Gamma_\alpha</math> 能捕捉到 EI 无法感知的信息:EI 基于 KL 散度,只能度量行向量之间的'''相似性''';而 <math>\Gamma_\alpha</math> 基于线性代数,还能度量行向量之间的'''线性依赖性'''。两个行向量可以彼此很不像(KL 散度大),但仍然线性相关(一个是另一个的线性组合)。后一种情况下,EI 看不出冗余,但 <math>\Gamma_\alpha</math> 能通过秩亏反映出来。 |
| | + | |
| | + | |
| | + | |
| | + | 算法具体步骤如下: |
| | + | |
| | + | # 给定含有 <math>N</math> 个状态的马尔科夫矩阵 <math>P</math>,对其做 SVD 分解 <math>P = U \Sigma V^T</math>; |
| | + | # 根据奇异值谱设定阈值 <math>\epsilon</math>,取前 <math>r_\epsilon</math> 个右奇异向量,构成 <math>V_{N \times r_\epsilon}</math>; |
| | + | # 对 <math>P</math> 的行向量做 PCA 降维:<math>\tilde{P} = P \cdot V_{N \times r_\epsilon}</math>,得到每个状态在核心通路子空间上的投影;这一步的物理含义是:<math>P^T P</math> 是转移概率矩阵的自相关矩阵,其特征向量 <math>V</math> 给出了"哪些目的地模式是相关联的"这一信息的主轴。<math>\tilde{P}i = P_i \cdot V{N \times r_\epsilon}</math> 是状态 <math>i</math> 的出转移分布在这些主要模式上的投影——保留了该状态"在核心通路上的行为",滤去了冗余通路上的波动。 |
| | + | # 对 <math>\tilde{P}</math> 的行向量用 K-Means 聚类为 <math>r_\epsilon</math> 组,得到划分 <math>\Phi</math>; |
| | + | # 基于划分 <math>\Phi</math> 和稳态流矩阵 <math>F = \mathrm{diag}(\pi) P</math>,通过 <math>F' = \Phi^T F \Phi</math> 构建宏观稳态流矩阵,再对每行归一化得到宏观转移矩阵 <math>P'</math>。 |
| | + | |
| | + | 最后用 <math>F' = \Phi^T F \Phi</math> 而非直接对 <math>P</math> 做行列聚合,可以保证粗粒化操作和时间演化算子具有可交换性,从而确保宏观动力学仍是合法的马尔科夫链。 |
| | + | |
| | + | 虽然该工作与前面Zhang & Wang的方法都做了SVD + kmeans的步骤,但是两者之间存在差异。 |
| | + | |
| | + | # Zhang & Wang方法的 SVD 对象是 <math>V_F</math>,稳态流矩阵的右奇异向量,而动力学可逆性的SVD对象是 <math>V_P</math>,马尔科夫转移矩阵的右奇异向量。当 <math>P</math> 恰好是低秩的时,<math>V_F</math> 和 <math>V_P</math> 张成完全相同的子空间(因为 <math>F = \mathrm{diag}(\pi) P</math>,两者秩相同时列空间一致)。在近似低秩的情况下,<math>\mathrm{diag}(\pi)</math> 的不均匀缩放会使两者分离,此时两种方法可能给出不同的分组结果。 |
| | + | |
| | + | # 另外,两者的目标不同。Zhang & Wang的工作目标是在粗粒化过程中尽量保持马尔科夫性(成块性);而张江等人的工作目标是最大化动力学可逆性(<math>\Gamma_\alpha</math>),在粗粒化过程中减少 TPM 中的信道冗余性。 |
| | | | |
| − | # 对P进行SVD分解:<math>P=U\cdot \Sigma \cdot V^{T},</math>
| |
| − | # 选择一个<math>\epsilon</math>作为阈值来截断奇异值谱,并得到<math>r_{\epsilon}</math>作为保留状态的个数;
| |
| − | # 通过计算<math>\tilde{P}\equiv P\cdot V_{N\times r_{\epsilon}}</math>对P中的所有<math>P_{i}</math>进行降维,其中<math>V_{N\times r_{\epsilon}}</math>由<math>P\cdot P^{T}</math>的前<math>r_{\epsilon}</math>个特征向量构成;
| |
| − | # 通过 K-means 算法将 <math>\tilde{P}</math> 中的所有行向量聚类为 <math>r</math> 组,得到投影矩阵<math>\Phi</math>,其定义为:
| |
| − | <blockquote>
| |
| − | <math>
| |
| − | \Phi_{ij} =\begin{cases}
| |
| − | 1, & \text{如果}\tilde{P_{i}}\text{属于第r组}\\
| |
| − | 0, & \text{其他情况}
| |
| − | \end{cases}</math>
| |
| − | </blockquote>
| |
| | | | |
| | <br/> | | <br/> |