| 第411行: |
第411行: |
| | | | |
| | ==TPM矩阵的粗粒化方法== | | ==TPM矩阵的粗粒化方法== |
| − | 虽然无需粗粒化也能定义和量化清晰或模糊因果涌现,但在一些场合,我们仍然需要对原始系统进行更简单的粗粒化描述,以便与通过最大化EI得出的结果进行比较。因此,该理论提供了一种基于奇异值分解的粗粒化方法,以获得宏观层面的简化TPM。其基本思想是将P中的行向量 <math>P_{i},\forall i \in [1,N]</math>投影到<math>P\cdot P^{T}</math>的几个较大特征值对应的特征向量所张成的子空间上,从而保留P的主要信息,并保持<math>\Gamma</math>不变。
| + | 虽然无需粗粒化也能定义和量化清晰或模糊因果涌现,但在一些场合,我们仍然需要对原始系统进行更简单的粗粒化描述,以便与通过最大化EI得出的结果进行比较。因此,文章<ref name="reversibility"/>提供了一种基于奇异值分解的粗粒化方法,以获得宏观层面的简化TPM。其基本思想是将P中的行向量 <math>P_{i},\forall i \in [1,N]</math>投影到<math>P</math>的几个较大奇异值对应的奇异向量所张成的子空间上,从而保留P的主要信息,并保持<math>\Gamma</math>不变。 |
| | | | |
| − | 该方法的基本思路是将P中的所有行向量<math>P_{i}</math>视为维数为N的数据向量,然后首先对这些行向量进行PCA降维,其次将其聚类为r个簇,其中r是根据奇异值频谱的阈值<math>\epsilon</math>选取的。有了这个聚类方案,我们就可以根据平稳概率分布所对应的流矩阵保持流量守恒的原则,对原始TPM进行进一步的粗粒化。 | + | 该方法的基本思路是将P中的所有行向量<math>P_{i}</math>视为维数为N的数据向量,然后首先对这些行向量进行PCA降维,其次将其聚类为r个簇,其中r是根据奇异值谱的阈值<math>\epsilon</math>截取的。有了这个聚类方案,我们还需要指定TPM的简化过程。文章<ref name="reversibility"/>给出了一种基于稳态分布和对应的流矩阵的简化TPM的方案。具体地,就是将P对应的稳态流矩阵F按照聚类方案进行状态归并,并将被归并为一类的列上的流量进行相加,从而得到一个简化的[math]r\times r[/math]维度的流矩阵[math]F'[/math],然后将其归一化得到粗粒化后的TPM:[math]P'[/math]。这样做的好处是为了保证状态归并过程中的流量守恒(由于马尔可夫链可以看作是一种随机游走的粒子流,因此这种流应该在粗粒化的过程中保持流量守恒)。 |
| | | | |
| | '''1)''' 对P进行SVD分解(假设P是不可归约的,且具有周期性,从而存在平稳分布): | | '''1)''' 对P进行SVD分解(假设P是不可归约的,且具有周期性,从而存在平稳分布): |
| 第421行: |
第421行: |
| | 其中,<math>U</math>和<math>V</math>是两个尺寸为N×N的正交归一化矩阵,<math>\Sigma = diag(\sigma_{1},\sigma_{2},...,\sigma_{N})</math> 是一个对角矩阵,包含所有有序奇异值。 | | 其中,<math>U</math>和<math>V</math>是两个尺寸为N×N的正交归一化矩阵,<math>\Sigma = diag(\sigma_{1},\sigma_{2},...,\sigma_{N})</math> 是一个对角矩阵,包含所有有序奇异值。 |
| | | | |
| − | '''2)'''选择一个<math>\epsilon</math>作为阈值来切断奇异值谱,并得到<math>r_{\epsilon}</math>作为保留状态的个数; | + | '''2)'''选择一个<math>\epsilon</math>作为阈值来截断奇异值谱,并得到<math>r_{\epsilon}</math>作为保留状态的个数; |
| | | | |
| − | '''3)'''通过计算<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>特征向量构成; | + | '''3)'''通过计算<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>个特征向量构成; |
| | | | |
| | '''4)''' 通过 K-means 算法将<math>\tilde{P}</math>中的所有行向量聚类为r组,得到投影矩阵<math>\Phi</math>,其定义为: | | '''4)''' 通过 K-means 算法将<math>\tilde{P}</math>中的所有行向量聚类为r组,得到投影矩阵<math>\Phi</math>,其定义为: |
| 第437行: |
第437行: |
| | '''5)''' 利用<math>\Phi</math>和P得到新的TPM。 | | '''5)''' 利用<math>\Phi</math>和P得到新的TPM。 |
| | | | |
| − | 为了说明如何获得简化的TPM,首先定义一个矩阵,称为平稳流矩阵,如下所示:
| + | 为了说明如何获得简化的TPM,首先定义一个矩阵,称为稳态流矩阵,如下所示: |
| | <blockquote> | | <blockquote> |
| | <math>F_{ij} \equiv \mu_i \cdot P_{ij}, \, \forall i,j \in [1, N], | | <math>F_{ij} \equiv \mu_i \cdot P_{ij}, \, \forall i,j \in [1, N], |
| | </math> | | </math> |
| | </blockquote> | | </blockquote> |
| − | 其中,<math>\mu</math>是P的稳态分布,满足<math>P\cdot\mu=\mu</math>。 | + | 其中,<math>\mu</math>是P的稳态分布,即满足<math>P\cdot\mu=\mu</math>。 |
| | | | |
| − | 其次,我们将根据 <math>\Phi</math>和<math>F</math>推导出简化平稳流矩阵: | + | 其次,我们将根据 <math>\Phi</math>和<math>F</math>得到粗粒化后的稳态流矩阵: |
| | <blockquote> | | <blockquote> |
| | <math>F' = \Phi^T \cdot F \cdot \Phi, | | <math>F' = \Phi^T \cdot F \cdot \Phi, |
| | </math> | | </math> |
| | </blockquote> | | </blockquote> |
| − | 其中,F'是粗粒化后的平稳流矩阵。最后,粗粒化后的TPM可直接通过以下公式得出: | + | 其中,F'是粗粒化后的平稳流矩阵。在归并的过程中,保持所有矩阵上的流量总量是不变的。 |
| | + | |
| | + | 最后,粗粒化后的TPM可直接通过归一化每一行得到: |
| | <blockquote> | | <blockquote> |
| | <math>P'_i = F'_i / \sum_{j=1}^{N} (F'_i)_j, \, \forall i \in [1, N]. | | <math>P'_i = F'_i / \sum_{j=1}^{N} (F'_i)_j, \, \forall i \in [1, N]. |
| 第456行: |
第458行: |
| | 将N个[math]P'_i[/math]拼在一起就能得到最终的TPM。 | | 将N个[math]P'_i[/math]拼在一起就能得到最终的TPM。 |
| | | | |
| − | 可以证明,这样的粗粒化方案可以保证让粗粒化操作和时间演化操作具有可交换的性质(参见<ref name=""/>。
| + | 可以证明,这样的粗粒化方案可以保证让粗粒化操作和时间演化操作具有可交换的性质(证明可以参考<ref name="reversibility"/>)。 |
| | | | |
| | ==与基于最大化有效信息的因果涌现的近似关系== | | ==与基于最大化有效信息的因果涌现的近似关系== |