“马尔科夫链的粗粒化”的版本间的差异
| 第1行: | 第1行: | ||
| − | [[马尔科夫链]] | + | [[马尔科夫链]]是一类特殊的随机过程:在给定当前状态后,对未来状态的预测不再依赖更早的过去状态。一般的[[马尔科夫链]]包括 <math>N</math> 个状态,所有状态之间的概率转移构成一个转移概率矩阵 <math>P</math>。该矩阵有 <math>N</math> 行 <math>N</math> 列,且满足概率归一化条件(所有元素位于 0 到 1 之间,所有行的和为 1)。本词条限定在 '''平稳马尔科夫链''' 上讨论,也就是[math]P[/math]不随时间和状态而变。 |
| − | + | 所谓马尔科夫链的粗粒化,是指找到一个新的马尔科夫链,它具有 <math>1<M<N</math> 个状态,其对应的 <math>M</math> 行 <math>M</math> 列概率转移矩阵为<math>P'</math>。它同样满足概率归一化条件,可以看作对 <math>P</math> 所描述动力学过程的一种抽象近似约简。 | |
文献中一般着重强调对马尔科夫链做粗粒化的意义包括: | 文献中一般着重强调对马尔科夫链做粗粒化的意义包括: | ||
| − | # | + | # 当我们研究一个状态极多的[[复杂系统]]时,往往并不会关注每一个微观状态。在粗粒化中,我们希望过滤掉不感兴趣的噪声和异质性,从微观尺度中总结出一些中尺度或宏观尺度的规律; |
# 有些状态的转移概率非常相似,所以可以被看成同一类状态。对这些状态进行划分和归并可以减少马尔科夫链的冗余性,得到一个更简洁有效的表示; | # 有些状态的转移概率非常相似,所以可以被看成同一类状态。对这些状态进行划分和归并可以减少马尔科夫链的冗余性,得到一个更简洁有效的表示; | ||
# 在用到[[马尔科夫决策过程]]的[[强化学习]]算法中,对马尔科夫链做粗粒化可以减少[[状态空间]]的大小,提高训练过程的样本效率和任务表现<ref name=":10">Hafner, Danijar, et al. "Mastering atari with discrete world models." arXiv preprint arXiv:2010.02193 (2020).</ref>。 | # 在用到[[马尔科夫决策过程]]的[[强化学习]]算法中,对马尔科夫链做粗粒化可以减少[[状态空间]]的大小,提高训练过程的样本效率和任务表现<ref name=":10">Hafner, Danijar, et al. "Mastering atari with discrete world models." arXiv preprint arXiv:2010.02193 (2020).</ref>。 | ||
| − | + | 对任意马尔科夫链的转移概率矩阵做约简,都存在无穷多种可能的方法。然而在实际粗粒化过程中,我们必须从这些方法中做筛选,使约简后的矩阵[math]P'[/math]尽可能保留原矩阵的主要特征。为刻画这些特征是否被保留,人们提出了不同的标准,包括: | |
# 首先,我们想尽量'''降低'''动力学在压缩后的'''维度'''; | # 首先,我们想尽量'''降低'''动力学在压缩后的'''维度'''; | ||
| 第21行: | 第21行: | ||
=粗粒化= | =粗粒化= | ||
| − | + | 马尔科夫链不只是一个马尔科夫矩阵。它还涉及不同的状态,以及状态之间的转移概率,所以我们可以从不同角度来看待粗粒化: | |
# 对马尔科夫矩阵做粗粒化:在看待一个方阵时,我们可以把它想象成一个网络的邻接矩阵。节点为状态,连边为状态转移概率,状态转移的过程为一个粒子在节点间跳转,而粗粒化则是对这个网络做降维。 | # 对马尔科夫矩阵做粗粒化:在看待一个方阵时,我们可以把它想象成一个网络的邻接矩阵。节点为状态,连边为状态转移概率,状态转移的过程为一个粒子在节点间跳转,而粗粒化则是对这个网络做降维。 | ||
| 第27行: | 第27行: | ||
# 对概率空间做粗粒化:从概率论出发,把状态的发生看作事件,通过计算事件发生的频率来构建概率空间。在降维表达事件的同时也构建了新的概率空间。 | # 对概率空间做粗粒化:从概率论出发,把状态的发生看作事件,通过计算事件发生的频率来构建概率空间。在降维表达事件的同时也构建了新的概率空间。 | ||
| − | + | 这三种出发点彼此相关,但具体关注的对象不同:第一种关注状态之间的连边拓扑结构,第二种关注不同状态的历史分布和相似性,第三种关注如何降维表达整个系统中的事件概率分布。 | |
| − | + | 对马尔科夫链做粗粒化并没有统一定义,目前该主题也没有完整的文献综述。在许多文献中,粗粒化(coarse-graining)、聚类/聚合(partitioning/lumping/clustering/aggregation)和降维(dimension reduction)往往是重叠乃至近似等价的。 | |
| − | 本词条只讨论离散时间马尔科夫链,且动力学 <math>P</math> | + | 本词条只讨论离散时间马尔科夫链,且动力学 <math>P</math> 是时齐(不随时间变化)的,不讨论连续马尔科夫过程。我们定义微观状态空间为<math>S=\{s_1, s_2, ... ,s_n\}</math>,微观转移函数<math>P \in \mathcal{R}_{n \times n}</math>是一个大小为 n 的马尔科夫矩阵。同样,粗粒化后的宏观状态空间为<math>S'=\{s'_1, s'_2, ... ,s'_r\}</math>,宏观转移函数<math>P' \in \mathcal{R}_{r \times r}</math>。 |
多数文献中会出现如图1的定义<ref name=":2">Coarse graining. ''Encyclopedia of Mathematics.'' URL: <nowiki>http://encyclopediaofmath.org/index.php?title=Coarse_graining&oldid=16170</nowiki></ref>: | 多数文献中会出现如图1的定义<ref name=":2">Coarse graining. ''Encyclopedia of Mathematics.'' URL: <nowiki>http://encyclopediaofmath.org/index.php?title=Coarse_graining&oldid=16170</nowiki></ref>: | ||
| 第40行: | 第40行: | ||
对状态空间 <math>S</math> 和转移函数 <math>P(t):S \rightarrow S</math>,我们需要'''一个状态分组的投影函数 <math>\Phi:S \rightarrow S'</math>''',和'''一个在新状态空间上的转移函数 <math>P'(t):S' \rightarrow S'</math>''',而且 '''<math>S'</math> 和<math>P'</math> 要符合马尔科夫链定义'''。 | 对状态空间 <math>S</math> 和转移函数 <math>P(t):S \rightarrow S</math>,我们需要'''一个状态分组的投影函数 <math>\Phi:S \rightarrow S'</math>''',和'''一个在新状态空间上的转移函数 <math>P'(t):S' \rightarrow S'</math>''',而且 '''<math>S'</math> 和<math>P'</math> 要符合马尔科夫链定义'''。 | ||
| − | + | 如果把这个降维/粗粒化过程拆开看,它可以分为三步。 | |
# '''划分'''(对状态空间进行粗粒化):对状态进行分组,得出<math>\Phi</math>,决定 <math>S</math> 空间中的状态要如何被投影到 <math>S'</math> 空间上。 | # '''划分'''(对状态空间进行粗粒化):对状态进行分组,得出<math>\Phi</math>,决定 <math>S</math> 空间中的状态要如何被投影到 <math>S'</math> 空间上。 | ||
| 第52行: | 第52行: | ||
我们假设投影函数 <math>\Phi</math> 是一个 <math>n \times r</math> 的线性投影矩阵,且符合下列两个条件:'''(1)所有元素非负;(2)每行加和等于1。''' | 我们假设投影函数 <math>\Phi</math> 是一个 <math>n \times r</math> 的线性投影矩阵,且符合下列两个条件:'''(1)所有元素非负;(2)每行加和等于1。''' | ||
| − | 马尔科夫链的粗粒化可以分成硬划分(Hard partitioning)和软划分(Soft | + | 马尔科夫链的粗粒化可以分成硬划分(Hard partitioning)和软划分(Soft partitioning)。硬划分是指把若干个微观状态分成一个宏观状态类,且一个微观状态不能同时属于多个宏观状态类;软划分则可能出现一个微观状态同时属于多个宏观类的情况。 |
| − | 在硬划分的情况下,<math>\Phi_{i, j} = \begin{cases} 1\text{, if}\ s_i \in s_j', \\ 0\text{, otherwise} \end{cases}</math>,即一个表示<math>i</math>属于<math>j</math> | + | 在硬划分的情况下,<math>\Phi_{i, j} = \begin{cases} 1\text{, if}\ s_i \in s_j', \\ 0\text{, otherwise} \end{cases}</math>,即一个表示 <math>i</math> 属于 <math>j</math> 类的零一分组矩阵。如果是软划分,<math>\Phi</math> 则不一定是零一矩阵<ref name=":12" />。 |
在这个词条里,我们主要讨论硬划分<ref name=":4" />。对软划分感兴趣的朋友可以自行参阅这两篇论文<ref>Singh, Satinder, Tommi Jaakkola, and Michael Jordan. "Reinforcement learning with soft state aggregation." ''Advances in neural information processing systems'' 7 (1994).</ref> <ref name=":11">Duan, Yaqi, Tracy Ke, and Mengdi Wang. "State aggregation learning from markov transition data." ''Advances in Neural Information Processing Systems'' 32 (2019).</ref>。 | 在这个词条里,我们主要讨论硬划分<ref name=":4" />。对软划分感兴趣的朋友可以自行参阅这两篇论文<ref>Singh, Satinder, Tommi Jaakkola, and Michael Jordan. "Reinforcement learning with soft state aggregation." ''Advances in neural information processing systems'' 7 (1994).</ref> <ref name=":11">Duan, Yaqi, Tracy Ke, and Mengdi Wang. "State aggregation learning from markov transition data." ''Advances in Neural Information Processing Systems'' 32 (2019).</ref>。 | ||
| 第74行: | 第74行: | ||
其中 <math>W \in \mathbb{R}^{r \times n}</math>。Buchholz<ref name=":12">Buchholz, Peter. "Exact and ordinary lumpability in finite Markov chains." ''Journal of applied probability'' 31.1 (1994): 59-75.</ref>的文章中把 <math>W</math> 称作distributor matrix,而 <math>\Phi \in \mathbb{R}^{n \times r}</math> 称作collector matrix。 | 其中 <math>W \in \mathbb{R}^{r \times n}</math>。Buchholz<ref name=":12">Buchholz, Peter. "Exact and ordinary lumpability in finite Markov chains." ''Journal of applied probability'' 31.1 (1994): 59-75.</ref>的文章中把 <math>W</math> 称作distributor matrix,而 <math>\Phi \in \mathbb{R}^{n \times r}</math> 称作collector matrix。 | ||
| − | + | 我们假设<math>W, \Phi, P, P'</math>都是线性的,所以可以这样理解这个公式:从图1左上角的 t 时刻宏观状态出发,先经过一个“逆向粗粒化”操作<math>W</math>得到 t 时刻微观状态,再经微观动力学 <math>P</math> 得到 t+1 时刻的微观状态,最后经粗粒化 <math>\Phi</math> 得到 t+1 时刻的宏观状态。 | |
| − | + | 从式子{{EquationRef|1}}可以看到,<math>\Phi</math> 和 <math>P</math> 都是给定的,所以这一步要做的是决定 <math>W</math>。<math>W</math> 的基本限制是使 <math>P'</math> 符合马尔科夫矩阵定义;在此基础上,<math>W</math> 仍有无限多种选项,我们可以从中挑出更符合目标特征的方案。 | |
<br/> | <br/> | ||
| 第82行: | 第82行: | ||
=粗粒化方案的要求和优化目标= | =粗粒化方案的要求和优化目标= | ||
| − | + | 目前还没有一个严格、完备的马尔科夫链粗粒化定义。在这一章中,我们将简要梳理一些基本概念,以及不同粗粒化方法中用到的要求、优化目标和评价指标。 | |
==问题拆分== | ==问题拆分== | ||
| − | + | 粗粒化并不只是“把若干状态聚成几类”的聚类问题。我们需要同时考虑多个层面:'''保留什么尺度上的信息、如何保证宏观动力学仍然自洽、以及如何在压缩和保真之间做权衡'''。我们需要区分:'''哪些微观差异只是会被快速混合掉的局部噪声、快变量或冗余通路,哪些差异则决定了系统未来的主要演化方向、稳态概率流以及跨尺度的因果结构'''。 | |
| − | + | 更直观地说,一个好的宏观态应当把'''“对外行为几乎一样”的微观状态并在一起,把“长期命运明显不同”的状态分开'''。后文提到的成块性、因果态、尺度闭合、有效信息和动力学可逆性,分别对应这个问题的不同侧面:有的在回答“哪些状态适合合并”,有的在回答“合并后是否仍然自洽”,有的则在回答“哪个尺度最有信息价值”。 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
<br/> | <br/> | ||
| 第141行: | 第94行: | ||
==粗粒化与时间演化算子的可交换性== | ==粗粒化与时间演化算子的可交换性== | ||
| − | + | 首先,一个重要的粗粒化标准是:'''粗粒化操作和时间演化操作应当是可交换(commutative)的两个算符'''。以图(1)所示情形为例,我们从某个微观状态 <math>s^{(t)}</math> 出发,到达下一刻宏观状态 <math>A^{(t+1)}</math> 有两条不同路径<ref name=":7">Coarse graining. ''Encyclopedia of Mathematics.'' URL: <nowiki>http://encyclopediaofmath.org/index.php?title=Coarse_graining&oldid=16170</nowiki></ref>: | |
| − | # 先经过微观动力学的时间演化达到 <math>s^{(t+1)}</math>,再进行粗粒化得到 <math>A^{(t+1)}</math> | + | # 先经过微观动力学的时间演化达到 <math>s^{(t+1)}</math>,再进行粗粒化得到 <math>A^{(t+1)}</math>; |
| − | # 先通过状态的粗粒化得到 <math>A^{(t)}</math>,再经过宏观动力学的演化到达 <math>A^{(t+1)}</math> | + | # 先通过状态的粗粒化得到 <math>A^{(t)}</math>,再经过宏观动力学的演化到达 <math>A^{(t+1)}</math>。 |
如果我们把粗粒化和(宏观/微观)动力学看作是两个算子,那这两个算子的可交换性指的是:'''从任意一个微观状态分布 <math>s^{(t)}</math> 出发,走这两条路径得到的 <math>A^{(t+1)}</math> 的分布是一样的''',即 | 如果我们把粗粒化和(宏观/微观)动力学看作是两个算子,那这两个算子的可交换性指的是:'''从任意一个微观状态分布 <math>s^{(t)}</math> 出发,走这两条路径得到的 <math>A^{(t+1)}</math> 的分布是一样的''',即 | ||
| 第155行: | 第108行: | ||
|{{EquationRef|2}}}} | |{{EquationRef|2}}}} | ||
| − | + | 这两条路径的一致性在粗粒化领域中非常重要,也被反复提及。满足一致性的粗粒化方案能够充分保留动力学中的有效信息,并丢弃无用信息。具体来说,宏观状态已经捕捉了与未来演化相关的所有“慢变量”或“相关信息”,而被粗粒化掉的那些微观细节,只影响瞬时噪声或快速弛豫过程,不会长期、系统性地改变宏观演化。 | |
对于马尔科夫链,粗粒化时我们通常希望得到一个新的马尔科夫过程:宏观态的转移只依赖当前宏观态,而不依赖更久远的历史。式子(2)说明了,如果粗粒化满足可交换性,那么宏观过程可以写成一个真正意义上的马尔科夫链,拥有一个明确的宏观转移矩阵 <math>P'</math>,而且宏观态的演化不需要记忆“刚才具体是哪个微观态导致了这个宏观态”。如果不满足,那宏观态的演化一般会带有记忆效应,未来的转移概率还会依赖这个宏观态是如何形成的,也就是依赖过去的轨迹。 | 对于马尔科夫链,粗粒化时我们通常希望得到一个新的马尔科夫过程:宏观态的转移只依赖当前宏观态,而不依赖更久远的历史。式子(2)说明了,如果粗粒化满足可交换性,那么宏观过程可以写成一个真正意义上的马尔科夫链,拥有一个明确的宏观转移矩阵 <math>P'</math>,而且宏观态的演化不需要记忆“刚才具体是哪个微观态导致了这个宏观态”。如果不满足,那宏观态的演化一般会带有记忆效应,未来的转移概率还会依赖这个宏观态是如何形成的,也就是依赖过去的轨迹。 | ||
| 第163行: | 第116行: | ||
==成块性== | ==成块性== | ||
| − | [[马尔科夫链的成块性]] | + | [[马尔科夫链的成块性]](Lumpability)是一种描述马尔科夫链是否可聚类或可粗粒化的概念,最早由Kemeny和Snell在其1969年著作Finite Markov Chains<ref name=":1">Kemeny, John G., and J. Laurie Snell. ''Finite markov chains''. Vol. 26. Princeton, NJ: van Nostrand, 1969. https://www.math.pku.edu.cn/teachers/yaoy/Fall2011/Kemeny-Snell_Chapter6.3-4.pdf</ref>中阐述。Lump一词有“块”的意思。判断一个[[马尔科夫链]]是否可成块(lumpable),就是判定是否存在一种状态划分方式,能够将原始马尔科夫链压缩为一条保留其动力学特征的简化链。这种划分需确保:虽然抹除了聚类内部状态的微观差异,但能精确保持块间转移机制。这一特性为状态空间的合理划分提供了严格的数学判据。 |
符合成块性的粗粒化方案有很多很好的性质,如保证了对宏观层面上的最大预测性、保证了微观与宏观过程的一致性等。这使得成块性成为马尔科夫链维度约简研究中最常用的标准之一。 | 符合成块性的粗粒化方案有很多很好的性质,如保证了对宏观层面上的最大预测性、保证了微观与宏观过程的一致性等。这使得成块性成为马尔科夫链维度约简研究中最常用的标准之一。 | ||
| − | + | 成块性的原始定义比较复杂,详见[[马尔科夫链的成块性]]。这里我们介绍其充分必要条件,作为一个更直观的解析。在一些文献中,作者会直接使用这一通俗版解释,而且它与原定义之间存在充分必要条件关系<ref name=":1" />。 | |
===成块性的充分必要条件=== | ===成块性的充分必要条件=== | ||
| 第173行: | 第126行: | ||
设<math>p_{s_k \rightarrow s_m} = p(s^{(t)} = s_m | s^{(t-1)} = s_k)</math>,<math>p_{s_k \rightarrow A_i} = p(s^{(t)} \in A_i | s^{(t-1)} = s_k) = \sum_{s_m \in A_i} p_{s_k \rightarrow s_m}</math>,<math>p_{A_i \rightarrow A_j} = p(A^{(t)} = A_j | A^{(t-1)} = A_i)</math>,作者<ref name=":1" />提出了判断一个马尔科夫链对'''给定划分 <math>A</math>''' 是否成块的充分必要条件为: | 设<math>p_{s_k \rightarrow s_m} = p(s^{(t)} = s_m | s^{(t-1)} = s_k)</math>,<math>p_{s_k \rightarrow A_i} = p(s^{(t)} \in A_i | s^{(t-1)} = s_k) = \sum_{s_m \in A_i} p_{s_k \rightarrow s_m}</math>,<math>p_{A_i \rightarrow A_j} = p(A^{(t)} = A_j | A^{(t-1)} = A_i)</math>,作者<ref name=":1" />提出了判断一个马尔科夫链对'''给定划分 <math>A</math>''' 是否成块的充分必要条件为: | ||
| − | '''对于任意一对<math>A_i, A_j</math>,每一个属于<math>A_i</math>的状态<math>s_k</math>的<math>p_{s_k \rightarrow A_j}</math> | + | '''对于任意一对<math>A_i, A_j</math>,每一个属于<math>A_i</math>的状态<math>s_k</math>的<math>p_{s_k \rightarrow A_j}</math>都相同。也就是说,<math>A_i</math>里的每一个状态<math>s_k</math>转移到<math>A_j</math>中所有状态的转移概率之和是相同的。''' |
{{NumBlk|:| | {{NumBlk|:| | ||
| 第186行: | 第139行: | ||
满足这个条件后,我们就可以将<math>A_j</math>中的所有微观状态<math>s_l</math>合并为一个宏观状态<math>A_j</math>,因为它们从其他宏观状态的转入概率是一致的。同样的,我们也可以将<math>A_i</math>中的所有微观状态<math>s_k</math>合并为一个宏观状态<math>A_i</math>,因为这些微观状态<math>s_k</math>(和<math>A_i</math>)到其他宏观状态的转出概率是一致的。 | 满足这个条件后,我们就可以将<math>A_j</math>中的所有微观状态<math>s_l</math>合并为一个宏观状态<math>A_j</math>,因为它们从其他宏观状态的转入概率是一致的。同样的,我们也可以将<math>A_i</math>中的所有微观状态<math>s_k</math>合并为一个宏观状态<math>A_i</math>,因为这些微观状态<math>s_k</math>(和<math>A_i</math>)到其他宏观状态的转出概率是一致的。 | ||
| − | 例如,在下图中,<math>s_1</math>和<math>s_2</math>都属于<math>A_1</math>,它们到<math>A_1</math>和<math> | + | 例如,在下图中,<math>s_1</math>和<math>s_2</math>都属于<math>A_1</math>,它们到<math>A_1</math>和<math>A_2</math>的转移概率相同;同样,<math>s_3</math>和<math>s_4</math>都属于<math>A_2</math>,它们到各宏观状态的转移概率也相同。因此,<math>[[1,2], [3, 4]]</math>是<math>P</math>的一个成块划分。 |
基于这个条件,我们可以定义成块划分的宏观动力学<math>A^{(t)} = A^{(t-1)} P'</math>: | 基于这个条件,我们可以定义成块划分的宏观动力学<math>A^{(t)} = A^{(t-1)} P'</math>: | ||
| 第200行: | 第153行: | ||
|{{EquationRef|4}}}} | |{{EquationRef|4}}}} | ||
| − | 这个公式表明,群组<math>A_i</math>到群组<math>A_j</math>的转移概率 = 群组<math>A_i</math>中任意状态<math>s_k</math>到群组<math>A_j</math>的转移概率 = 群组<math>A_i</math>中任意状态<math>s_k</math>到群组<math>A_j</math>中的所有状态的转移概率之和。 | + | 这个公式表明,群组 <math>A_i</math> 到群组 <math>A_j</math> 的转移概率 = 群组 <math>A_i</math> 中任意状态 <math>s_k</math> 到群组 <math>A_j</math> 的转移概率 = 群组 <math>A_i</math> 中任意状态 <math>s_k</math> 到群组 <math>A_j</math> 中的所有状态的转移概率之和。 |
| − | 我们也可以直接定义<math>P</math>和<math>P'</math>之间的关系: | + | 我们也可以直接定义 <math>P</math> 和 <math>P'</math> 之间的关系: |
<math>P' = \Phi^T P (\Phi^T)^{-1} = \Phi^T P \Phi (\Phi^T \Phi)^{-1}</math>, | <math>P' = \Phi^T P (\Phi^T)^{-1} = \Phi^T P \Phi (\Phi^T \Phi)^{-1}</math>, | ||
| − | 其中,<math>\Phi^T \Phi</math>是一个对角阵,对角线上的元素为每个<math>A_i</math>包括了多少个微观状态的计数,其逆矩阵就是把对角线上的元素全部取倒数。 | + | 其中,<math>\Phi^T \Phi</math> 是一个对角阵,对角线上的元素为每个 <math>A_i</math> 包括了多少个微观状态的计数,其逆矩阵就是把对角线上的元素全部取倒数。 |
| − | + | 在讨论成块性时,必须明确状态划分的方式。不同的划分方式可能导致不同的结论。一个马尔科夫链可能在某种划分下是成块的,而在另一种划分下则不成块。比如上图例子中,分组 <math>\{\{s_1,s_2\}, \{s_3,s_4\}\}</math> 是成块的,但是当我们考虑分组 <math>\{\{s_1,s_2,s_3\}, \{s_4\}\}</math> 时,组内状态的 <math>p_{s_k \rightarrow A_j}</math> 并不相同,因此不满足成块性的条件定义。 | |
| − | |||
| − | |||
| − | |||
| − | <math> | ||
| − | \ | ||
| − | |||
| − | \ | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | \ | ||
| − | |||
| − | </math> | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| 第273行: | 第197行: | ||
===定义=== | ===定义=== | ||
| − | + | 在计算力学中,状态被理解为智能体接收到的全部历史信息,因此系统从过去到未来的变化被描述为一个离散的平稳[[随机过程]]。状态空间为双(向)无限序列的集合 <math>\overleftrightarrow{S}=\{\cdots, s_{-2}, s_{-1}, s_0, s_1, s_2, \cdots\}</math>,即无限长的时间序列。基于当前时刻 <math>t</math>,我们可以将 <math>\overleftrightarrow{S}</math> 分为单侧前向序列 <math>\overleftarrow{s_t}=\{\cdots, s_{t-3}, s_{t-2}, s_{t-1}\}</math> 和单侧后向序列 <math>\overrightarrow{s_t}=\{s_t, s_{t+1}, s_{t+2}, s_{t+3},\cdots\}</math> 两部分。所有可能的未来序列 <math>\overrightarrow{s_t}</math> 形成的集合记作 <math>\overrightarrow{S}</math>,所有可能的历史序列 <math>\overleftarrow{s_t}</math> 形成的集合记作 <math>\overleftarrow{S}</math>。 | |
| − | + | 因果态是一种对系统状态的粗粒化描述,并不预设系统具有马尔科夫性。为了把因果态和马尔科夫链的粗粒化理论进行比较,可以定义马尔科夫链的因果态:假设系统是一个<math>K</math>阶的马尔科夫链(系统在<math>t</math>时刻的状态分布由前 K 个时刻的状态决定),则可将 <math>\overleftarrow{S}</math> 重新定义为 <math>S^K</math>。 | |
[[文件:因果态的定义.jpg|缩略图|因果态示意图, t = 9 和 t = 13 为同一因果态 |400x400px|替代=]] | [[文件:因果态的定义.jpg|缩略图|因果态示意图, t = 9 和 t = 13 为同一因果态 |400x400px|替代=]] | ||
| 第293行: | 第217行: | ||
| − | 因果态可定义为映射 <math>\epsilon{:}\overleftarrow{S}\mapsto2^{\ | + | 因果态可定义为映射 <math>\epsilon{:}\overleftarrow{S}\mapsto2^{\overleftarrow{S}}</math>,满足:<math> |
\epsilon(\stackrel{\leftarrow}{s})\equiv\{\stackrel{\leftarrow}{s}^{\prime}|\mathrm{P}(\overrightarrow{S}=\overrightarrow{s}\mid\stackrel{\leftarrow}{S}=\stackrel{\leftarrow}{s})=\mathrm{P}(\overrightarrow{S}=\overrightarrow{s}\mid\stackrel{\leftarrow}{S}=\stackrel{\leftarrow}{s}^{\prime}),\mathrm{for~all~}\overrightarrow{s}\in\overrightarrow{S},\stackrel{\leftarrow}{s}^{\prime}\in\stackrel{\leftarrow}{S}\} | \epsilon(\stackrel{\leftarrow}{s})\equiv\{\stackrel{\leftarrow}{s}^{\prime}|\mathrm{P}(\overrightarrow{S}=\overrightarrow{s}\mid\stackrel{\leftarrow}{S}=\stackrel{\leftarrow}{s})=\mathrm{P}(\overrightarrow{S}=\overrightarrow{s}\mid\stackrel{\leftarrow}{S}=\stackrel{\leftarrow}{s}^{\prime}),\mathrm{for~all~}\overrightarrow{s}\in\overrightarrow{S},\stackrel{\leftarrow}{s}^{\prime}\in\stackrel{\leftarrow}{S}\} | ||
</math> | </math> | ||
| 第304行: | 第228行: | ||
===因果态的主要性质=== | ===因果态的主要性质=== | ||
| − | + | 为什么我们要关注因果态这样一种特定的宏观态?下面是因果态的两个主要性质,它们体现了因果态为何是一种理想的宏观态: | |
| 第330行: | 第254行: | ||
==尺度闭合性== | ==尺度闭合性== | ||
| − | + | 尺度闭合性讨论的是:粗粒化后的宏观动力学,能否在不反复回到底层微观细节的情况下,自洽地演化、预测和解释。换句话说,我们关心的是:在给定粗粒化 <math>Z_t=f(X_t)</math> 后,宏观尺度是否已经“足够独立”,可以单独承担预测、干预和机制描述的任务<ref name="closure">Rosas, F. E., Geiger, B. C., Luppi, A. I., Seth, A. K., Polani, D., Gastpar, M., & Mediano, P. A. (2024). Software in the natural world: A computational approach to hierarchical emergence. arXiv preprint arXiv:2402.09090.</ref>。关于尺度闭合性的详细讨论请见[[不同尺度之间的闭合性]]。 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
===跨尺度因果态和υ-机器=== | ===跨尺度因果态和υ-机器=== | ||
| − | + | 前文已经介绍过因果态和 ϵ-机器。在跨尺度问题里,我们还需要一个专门处理“微观历史预测宏观未来”的对象。 | |
| − | + | 设微观过程为 <math>X_t</math>,粗粒化后的宏观过程为 <math>Z_t=f(X_t)</math>。宏观的 ϵ-机器是用宏观历史 <math>\overleftarrow{Z_t}</math> 去预测宏观未来 <math>\overrightarrow{Z_t}</math>;而 Rosas 等人提出的 υ-机器,则是用微观历史 <math>\overleftarrow{X_t}</math> 去预测宏观未来 <math>\overrightarrow{Z_t}</math>。它在微观历史上定义的等价关系为: | |
| − | |||
| − | |||
{{NumBlk|:| | {{NumBlk|:| | ||
<math> | <math> | ||
| − | \overleftarrow{x_t} \equiv \overleftarrow{x_{t'}} \ \ \text{iff}\ \ p( \overrightarrow{z_t} | \overleftarrow{x_t}) = p(\overrightarrow{z_{t'}}| \overleftarrow{x_{t'}}) | + | \overleftarrow{x_t} \equiv \overleftarrow{x_{t'}} \ \ \text{iff}\ \ p(\overrightarrow{z_t}|\overleftarrow{x_t}) = p(\overrightarrow{z_{t'}}|\overleftarrow{x_{t'}}) |
</math> | </math> | ||
|{{EquationRef|5}}}} | |{{EquationRef|5}}}} | ||
| − | + | 也就是说,若两段微观历史对宏观未来给出的预测分布完全相同,它们就属于同一个跨尺度因果态。把这些等价类记作 <math>U_t=υ(\overleftarrow{X_t})</math>。直观地看,υ-机器保留的是“对宏观未来真正有用的那部分微观信息”,因此可以把它理解为一种面向跨尺度预测的最优压缩。 | |
| − | + | 在给定粗粒化 <math>Z_t=f(X_t)</math> 后,可以同时出现三种相关状态表征: | |
| + | # 微观 ϵ-机器的因果态 <math>E_t</math>,保留了对微观未来最完整的预测信息; | ||
| + | # 宏观 ϵ-机器的因果态 <math>E'_t</math>,只保留宏观历史中的信息; | ||
| + | # 跨尺度 υ-机器的因果态 <math>U_t</math>,保留了微观历史中对宏观未来仍然有用的信息。 | ||
| − | + | ===三种闭合=== | |
| − | + | ====因果闭合 Causal Closure==== | |
| − | + | 若宏观过程 <math>Z_t</math> 的 ϵ-机器因果态 <math>E'_t</math> 与跨尺度 υ-机器的因果态 <math>U_t</math> 之间存在一一对应关系,那么称该粗粒化满足'''因果闭合'''。 | |
| − | + | 它的物理意义是:微观层面上那些会影响宏观未来的因果差异,已经被宏观历史完整表达出来了。因此,在宏观层面实施干预,与在微观层面做出对应干预后再投影到宏观层,二者在宏观结果上是等价的。若因果闭合成立,我们就不必为了分析宏观干预效果而不断回到底层微观细节。 | |
| − | + | ====信息闭合 Information Closure==== | |
| − | |||
| − | |||
| − | + | 信息闭合强调的不是“干预”,而是“预测”。它要求宏观历史与微观历史对宏观未来提供的信息量相同,即 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
{{NumBlk|:| | {{NumBlk|:| | ||
<math> | <math> | ||
| − | I( \overleftarrow{Z_t} ; \overrightarrow{Z_t}) = I( \overleftarrow{X_t} ; \overrightarrow{Z_t}) | + | I(\overleftarrow{Z_t};\overrightarrow{Z_t}) = I(\overleftarrow{X_t};\overrightarrow{Z_t}) |
</math> | </math> | ||
|{{EquationRef|6}}}} | |{{EquationRef|6}}}} | ||
| − | + | 这意味着:若我们已经知道宏观历史 <math>\overleftarrow{Z_t}</math>,再额外补充微观历史 <math>\overleftarrow{X_t}</math>,也不会提升对宏观未来的预测能力。它的物理意义是,宏观尺度在信息上已经“自给自足”,微观细节对宏观预测来说是冗余的。 | |
| + | 对给定的粗粒化函数 <math>f</math> 而言,因果闭合和信息闭合是等价的<ref name="closure" />。前者从干预与因果的角度表达同一件事,后者从预测与信息的角度表达同一件事。 | ||
| + | ====计算闭合 Computational Closure==== | ||
| − | + | 计算闭合更关注“机制能否一起被粗粒化”。若存在一个对应于机制层的粗粒化函数 <math>f^*</math>,使得微观 ϵ-机器的因果态 <math>E_t</math> 可以被粗粒化成宏观 ϵ-机器的因果态 <math>E'_t</math>,即 <math>E'_t=f^*(E_t)</math>,那么称该粗粒化满足'''计算闭合'''。 | |
| + | 它的物理意义是:宏观动力学不只是状态层面上的简化,也可以看作微观计算机制的一种简化版。也就是说,先找微观机制再粗粒化,与先粗粒化再找宏观机制,在原则上是兼容的。 | ||
| + | 三者之间的关系可以概括为:对同一个粗粒化 <math>Z_t=f(X_t)</math>,'''因果闭合 = 信息闭合''',而它们又都会推出计算闭合;反过来则未必成立。因此,计算闭合是三者中相对更宽松的条件。 | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
===尺度闭合 与 成块性=== | ===尺度闭合 与 成块性=== | ||
| − | + | 成块性和尺度闭合都关心“粗粒化后是否仍然自洽”,但它们关注的角度不同。'''成块性'''是马尔科夫链内部的严格结构条件,强调宏观过程仍然是一个真正的马尔科夫链;'''尺度闭合'''则更强调跨尺度的预测、干预和机制是否能够独立成立。 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Geiger 和 Temmel 的工作<ref name=":Geiger">B. C. Geiger and C. Temmel, “Lumpings of Markov chains, entropy rate preservation, and higher-order lumpability,” J. Appl. Probab., vol. 51, no. 4, pp. 1114–1132, Dec. 2014, extended version: arXiv:1212.4375.</ref>,以及 Rosas 等人的工作<ref name="closure" />,给出了两者之间的联系,如下图所示。'''在稳态条件下,强成块通常会对应更强的闭合性质:粗略地说,若一个马尔科夫链对给定粗粒化是强成块的,那么宏观层往往也会满足因果/信息闭合;而计算闭合则更宽松,未必要求达到成块性那么严格的结构条件'''。 | |
| − | |||
| − | |||
[[文件:闭合性的概念.png|500px]] | [[文件:闭合性的概念.png|500px]] | ||
| − | + | 因此,可以把二者的关系理解为:'''成块性更像“严格的单尺度动力学闭合”,尺度闭合性则更像“跨尺度上的自洽与独立”'''。前者要求更强,但结论也更干净;后者覆盖的情形更广,更适合讨论涌现、跨尺度预测和机制简化等问题。关于该概念更详细丰富的讨论请见[[不同尺度之间的闭合性]]。 | |
| − | |||
| − | |||
| − | |||
| − | |||
<br/> | <br/> | ||
| 第504行: | 第323行: | ||
==因果涌现:最大化有效信息== | ==因果涌现:最大化有效信息== | ||
| − | [[因果涌现]](causal | + | [[因果涌现]](causal emergence)是指动力系统中的一类特殊[[涌现]]现象,即系统在宏观尺度展现出更强的因果特性。特别地,对于一类[[马尔科夫动力系统]]来说,在对其状态空间进行适当[[粗粒化]]以后,形成的宏观动力学会展现出比微观更强的因果特性,也就是更大的[[有效信息]],那么我们称该系统发生了因果涌现<ref name="ei">Hoel E P, Albantakis L, Tononi G. Quantifying causal emergence shows that macro can beat micro[J]. Proceedings of the National Academy of Sciences, 2013, 110(49): 19790-19795.</ref><ref name=":25">Hoel E P. When the map is better than the territory[J]. Entropy, 2017, 19(5): 188.</ref>。 |
===定义=== | ===定义=== | ||
| 第513行: | 第332行: | ||
<math> | <math> | ||
| − | + | EI = I(X_t,X_{t+1}|do(X_t\sim U(\mathcal{X})))=\frac{1}{N}\sum_{i=1}^N D_{KL}(P_i||\bar{P}) | |
| − | EI | ||
| − | |||
| − | |||
| − | |||
| − | |||
</math> | </math> | ||
| − | 其中 <math>\ | + | 其中 <math>\bar{P}</math> 是转移矩阵各行的平均转移向量。这个表达式说明,EI 本质上度量的是:不同初始状态所对应的转移分布,与“平均转移分布”之间到底有多可区分。若各行彼此差异很大,动力学的因果效应就更强;若各行非常相似,EI 就会较小。 |
| 第530行: | 第344行: | ||
</math> | </math> | ||
| − | + | 确定性是指,在动力学作用下,我们根据系统前一时刻的状态能在多大程度上预测它下一时刻的状态;简并性是指:如果知道了系统当前状态,能否反推系统上一时刻状态的能力。如果可以较好地推断,则这个马尔科夫矩阵的简并性较低,也就是非简并;如果很难推断,则马尔科夫矩阵就是简并的,也即退化的。如果确定性越大,或简并性越小,则系统的有效信息就越大。其他相关详情请参照[[有效信息]]词条。 | |
下表展示的是三个不同的转移概率矩阵,以及它们的EI数值: | 下表展示的是三个不同的转移概率矩阵,以及它们的EI数值: | ||
| 第573行: | 第387行: | ||
===最大化有效信息的划分=== | ===最大化有效信息的划分=== | ||
| − | + | 开头提到,对马尔科夫链做粗粒化的一个动机,就是想抹除一些微观动力学上的噪音,从而得到在宏观上更具规律性和因果性的动力学。所以,我们可以利用 EI 这一马尔科夫链的因果效应度量,来衡量聚类后宏观动力学的因果强度。 | |
| − | + | 但是,EI 的大小和状态空间大小有关,这一性质在比较不同尺度的[[马尔科夫链]]时很不方便。我们需要一个尽可能不受尺度效应影响的[[因果效应度量]],因此需要对有效信息 EI 做归一化处理,得到一个和系统尺寸无关的量化指标。根据[[Erik Hoel]]和[[Tononi]]等人的工作,应使用[[均匀分布]]即[[最大熵分布]]下的熵值 <math>\log N</math> 作为分母对 EI 进行归一化,这里的[math]N[/math]为状态空间[math]\mathcal{X}[/math]中的状态数<ref name="hoel_2013">{{cite journal|last1=Hoel|first1=Erik P.|last2=Albantakis|first2=L.|last3=Tononi|first3=G.|title=Quantifying causal emergence shows that macro can beat micro|journal=Proceedings of the National Academy of Sciences|volume=110|issue=49|page=19790–19795|year=2013|url=https://doi.org/10.1073/pnas.1314922110}}</ref>。那么归一化后的 EI 为: | |
<math> | <math> | ||
| 第585行: | 第399行: | ||
| − | + | 有了有效信息这一度量指标后,我们便可以讨论马尔科夫链上的因果涌现。对于一个马尔科夫链,观察者可以建立多尺度视角来区分微观和宏观。首先,原始的马尔科夫概率转移矩阵 <math>P_N</math> 定义了微观动力学;其次,经过对微观态的粗粒化映射(coarse-graining)后,观察者可以得到对应的宏观状态(即分组),这些宏观状态彼此之间的概率转移可以用宏观的马尔科夫概率转移矩阵 <math>P_M</math> 来刻画。对两个动力学分别计算 EI 后,如果宏观的 EI 大于微观 EI,我们就说该系统发生了因果涌现。 | |
[[文件:CE.png|缩略图|因果涌现示意图|500x500像素]] | [[文件:CE.png|缩略图|因果涌现示意图|500x500像素]] | ||
| 第622行: | 第436行: | ||
|} | |} | ||
| − | + | 在这个例子中,微观态的转移矩阵是一个 4×4 的矩阵,其中前三个状态彼此以 1/3 的概率相互转移。这导致该转移矩阵的确定性较小,因此 EI 也不高,仅为 0.81。对该矩阵进行粗粒化时,我们把前三个状态合并为一个状态 a,把最后一个状态视为另一个宏观态 b。这样,原本三个微观态之间的转移就变成了宏观态 a 的内部转移,因此转移概率矩阵变成了[math]P_M[/math],其 EI 为 1。在这个例子中,可以计算其[[因果涌现度量]]为: | |
<math> | <math> | ||
| 第636行: | 第450行: | ||
===最大化动力学可逆性 Dynamical Reversibility=== | ===最大化动力学可逆性 Dynamical Reversibility=== | ||
| − | [[基于可逆性的因果涌现理论]]是一种量化[[因果涌现 Causal Emergence|因果涌现]]的新框架,提出了近似动力学可逆性(<math>\Gamma_{\alpha}</math>)的概念,用于量化[[马尔科夫动力学]]接近可逆动力学的程度<ref name="reversibility">Zhang, J., Tao, R., Leong, K.H. et al. Dynamical reversibility and a new theory of causal emergence based on SVD. npj Complex 2, 3 (2025).</ref> | + | [[基于可逆性的因果涌现理论]]是一种量化[[因果涌现 Causal Emergence|因果涌现]]的新框架,提出了近似动力学可逆性(<math>\Gamma_{\alpha}</math>)的概念,用于量化[[马尔科夫动力学]]接近可逆动力学的程度<ref name="reversibility">Zhang, J., Tao, R., Leong, K.H. et al. Dynamical reversibility and a new theory of causal emergence based on SVD. npj Complex 2, 3 (2025).</ref>。该理论的核心思想是:'''因果涌现其实等价于动力学可逆性的涌现'''。'''该指标与[[有效信息]]高度相关,因此也可以用来刻画动力学的[[因果效应强度]]。''' |
| − | |||
| − | + | 直观地说,如果把一个马尔科夫动力学看作通信信道,那么每一状态下的概率转移就可以看作一条信息通路(information pathway)。于是,系统发生因果涌现就等价于系统中存在冗余的信息通路,也就是某些状态转移彼此相似或线性相关。消除这些冗余通路的最好办法,就是利用 SVD 找到等于零或接近于零的奇异值及其对应的奇异向量,这实际上正是最大化有效信息的精髓所在。事实上,我们可以证明,最大化宏观动力学有效信息的粗粒化方案,近似等价于将系统动力学投影到较大奇异值对应的奇异向量方向上的方案。而系统所能达到的最大信息传输效率提升(归一化的近似动力学可逆性),就可以定义为因果涌现的强度。 | |
| − | 所以,给定一个系统的马尔科夫转移矩阵,通过对它进行[[奇异值分解]] | + | 所以,给定一个系统的马尔科夫转移矩阵,通过对它进行[[奇异值分解]],我们把奇异值 <math>\sigma_i</math> 的 <math>\alpha</math> 次方之和定义为马尔科夫动力学的近似可逆性度量(<math>\Gamma_{\alpha}\equiv \sum_{i=1}^N\sigma_i^{\alpha}</math>),用以刻画最终指标更偏向衡量确定性还是简并性。通常取 <math>\alpha=1</math>,表示平权考虑确定性和简并性对最终可逆性度量的影响。 |
| − | + | 基于可逆性的因果涌现理论与其他因果涌现理论最大的区别在于:它不需要指定粗粒化策略,仅从马尔科夫转移矩阵的奇异值谱就能判断因果涌现是否发生,并直接定义'''清晰因果涌现'''(clear causal emergence)和'''模糊因果涌现'''(vague causal emergence)的概念。这在一定程度上规避了因果涌现结果依赖粗粒化策略、以及最大化有效信息难以优化求解的问题。其次,这套理论指出,一个动力系统的因果涌现特性仅由系统线性化算符的奇异值谱决定,因而是一套更能反映系统动力学特性本身的因果涌现理论。相关详情请参照[[基于可逆性的因果涌现理论]]词条。 | |
| − | + | 在实际使用中,我们通常直接把矩阵 <math>P</math> 的 <math>\alpha</math> 阶近似动力学可逆性定义为: | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
<blockquote> | <blockquote> | ||
<math>\begin{aligned} | <math>\begin{aligned} | ||
| 第659行: | 第466行: | ||
</math> | </math> | ||
</blockquote> | </blockquote> | ||
| − | 其中<math>\ | + | 其中 <math>\sigma_i</math> 是 <math>P</math> 的奇异值。对本文来说,保留这个直观定义就够了:'''<math>\Gamma_{\alpha}</math> 越大,说明动力学越接近可逆、冗余通路越少。''' 更进一步的范数性质和技术证明,请详见[[基于可逆性的因果涌现理论]]。 |
| − | 张江等人<ref name="reversibility"/> | + | 张江等人<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> 不变。 |
| − | + | 最大化动力学可逆性的合理性,来源于这套 SVD 方案定义的因果涌现与“最大化有效信息”的因果涌现定义之间的密切关系。在[[基于有效信息的因果涌现理论|Erik Hoel 因果涌现理论]]的框架内,给定马尔科夫动力学系统的因果涌现大小依赖于粗粒化策略的选择,而最优粗粒化策略可以通过最大化宏观动力学的 EI 来寻找。 | |
| − | + | 我们可以证明,要获得最大化有效信息的粗粒化策略,近似等价于采用向最大奇异值对应的奇异向量方向投影的策略。严格推导可见[[基于有效信息的因果涌现理论]]。由于对离散马尔科夫链来说,粗粒化策略往往是由比较严格的 0 或 1 构成的向量,因此不能简单地按奇异向量直接投影。但是,如果粗粒化策略尽可能与最大的几个奇异向量平行,就可以让粗粒化后动力学的 EI 尽可能更大。因此,最大化 EI 的必要条件近似可以理解为:向最大奇异值对应的奇异向量空间做投影。在实际应用中,粗粒化策略 <math>\phi</math> 的约束(例如宏观动力学 TPM 的分组和归一化)会阻止 <math>\phi_j</math> 与奇异向量完美对齐。因此,基于 SVD 的粗粒化策略只是最大化 EI 的近似必要条件。 | |
| 第673行: | 第480行: | ||
===动力学一致性=== | ===动力学一致性=== | ||
| − | + | 好的粗粒化方案,应当尽可能保证原始网络(或转移矩阵)和粗粒化后网络(或转移矩阵)彼此相似。Erik Hoel 和 Klein <ref name=":19" /> 提出使用动力学一致性来衡量状态轨迹在原始网络和粗粒化后网络上的一致程度。详情请见[[复杂网络中的因果涌现]]词条。 | |
以下关于[[动力学的一致性检验]]的描述节选自[[复杂网络中的因果涌现]]: | 以下关于[[动力学的一致性检验]]的描述节选自[[复杂网络中的因果涌现]]: | ||
| 第679行: | 第486行: | ||
定义微观网络 <math>G</math> 与宏观网络 <math>G_M</math>,分别在两个网络上进行[[随机游走]]。在某个时间 <math>t</math>,<math>G</math> 上的预期分布为 <math>P_m(t)</math>,而 <math>G_M</math> 上的预期分布为 <math>P_M(t)</math>。 | 定义微观网络 <math>G</math> 与宏观网络 <math>G_M</math>,分别在两个网络上进行[[随机游走]]。在某个时间 <math>t</math>,<math>G</math> 上的预期分布为 <math>P_m(t)</math>,而 <math>G_M</math> 上的预期分布为 <math>P_M(t)</math>。 | ||
| − | 将 <math>P_m(t)</math> | + | 将 <math>P_m(t)</math> 分布叠加到宏观网络 <math>G_M</math> 的相同节点上,得到 <math>P_{M|m}(t)</math> 分布。通过计算 <math>P_M(t)</math> 和 <math>P_{M|m}(t)</math> 之间的 KL 散度来衡量其不一致性(inconsistency)。如果结果为零,则表示动力学一致。公式如下: |
<math>inconsistency=\sum_{t=0}^T D_{KL}[P_M(t)||P_{M|m}(t)]</math> | <math>inconsistency=\sum_{t=0}^T D_{KL}[P_M(t)||P_{M|m}(t)]</math> | ||
| − | + | 也就是说,不一致性表示宏观和微观网络节点在不同时刻概率分布的[[KL散度]]之和。 | |
| − | + | 动力学一致性在某种程度上反映了动力学与粗粒化算子的可交换性,但比可交换性更灵活、更宽松,可以计算“不可交换但近似交换”的程度。 | |
<br/> | <br/> | ||
| 第693行: | 第500行: | ||
随机动力学为我们提供了另一个视角来讨论马尔科夫链的 '''状态分布'''。 | 随机动力学为我们提供了另一个视角来讨论马尔科夫链的 '''状态分布'''。 | ||
| − | + | 当我们观察马尔科夫链的一个具体样本时,其在每一步都处于某个'''确定状态'''。而所谓状态分布,是指给定初始分布 <math>\mu</math> 后,系统在 <math>t</math> 时刻落在各个状态的概率。若存在分布 <math>\pi</math> 满足 <math>\pi P = \pi</math>,则称其为'''稳态分布'''。它表示系统在到达稳态后,再继续演化,整体分布会保持不变。 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | 这样,我们就能把马尔科夫链放进'''随机动力系统(Random Dynamical System)'''的框架中来理解。简单来说,随机动力系统由两部分组成:<math>\theta</math> 表示噪声序列随时间的推进,<math>\phi</math> 表示状态在当前噪声作用下的演化规则。对马尔科夫链而言,每一步按 TPM 进行随机选择,就对应着由噪声驱动的演化过程 <math>(\theta,\phi)</math>。 | |
| − | + | 在这个框架里,'''不变性(Invariance)'''是理解稳态分布的关键。稳态分布描述的是'''分布层面'''的不变,而随机吸引子描述的则是'''状态集合层面'''的不变:一个随机集合 <math>A(\omega)</math> 若要成为随机吸引子,通常需要满足三点: | |
| − | |||
| − | |||
| + | # '''紧致性 (Compactness)''':对有限状态马尔科夫链,这一点天然满足; | ||
| + | # '''不变性 (Invariance)''':系统从 <math>A(\omega)</math> 出发演化后,仍落在下一时刻的吸引子中; | ||
| + | # '''吸引性 (Pullback Attraction)''':从足够久远的过去出发,系统最终会被拉回到该集合附近。 | ||
| − | + | 因此,随机吸引子刻画的是系统长期反复停留、且不会轻易逃离的结构。也正是在这个意义上,可约、周期、滑过态这些概念可以被理解为'''稳态下的自然分组规律'''。 | |
| − | |||
| − | |||
===基础划分=== | ===基础划分=== | ||
| − | + | 从长期行为看,马尔科夫链中的状态可以先分成两类:'''滑过态(Transient)'''和'''常返态(Recurrent)'''。滑过态只是在过渡阶段被访问,离开后最终可能不再返回;常返态则会被反复访问。常返态进一步组成'''闭合常返类''':同一类中的状态彼此可达,而且一旦进入该类就不会再离开。若一个常返类的返回步数存在公因子 <math>d>1</math>,它还可以继续分解为 <math>d</math> 个'''周期子类''',系统按固定顺序在这些子类之间循环。 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | ===随机吸引子和对应分组=== | |
| − | + | 在稳态视角下,马尔科夫链常见有三种情形: | |
| + | # '''不可约、非周期''':整个状态空间形成唯一的平凡吸引子 <math>A(\omega)=X</math>。这说明系统的长期活动遍及整个空间,因此随机动力学本身并不给出更细的自然分组。 | ||
| + | # '''可约''':设 <math>S=T \cup R_1 \cup \cdots \cup R_m</math>,其中 <math>T</math> 是滑过态集,<math>R_i</math> 是闭合常返类。此时每个 <math>R_i</math> 都对应一个确定性的吸引子 <math>A_i=R_i</math>。因此,自然分组就是把不同常返类分开;而滑过态属于过渡区,应与这些吸引子分开看待。 | ||
| + | # '''不可约、周期为 <math>d>1</math>''':状态空间可分解为 <math>X=C_0 \cup C_1 \cup \cdots \cup C_{d-1}</math>,并按 <math>C_0 \to C_1 \to \cdots \to C_{d-1} \to C_0</math> 循环。此时吸引子不再是固定集合,而是随时间在各周期子类之间切换的非平凡随机吸引子;相应的自然分组就是这些周期子类。 | ||
| − | + | 所以,随机动力学的意义不只是重新表述马尔科夫链,而是把'''长期命运相同的状态'''显式区分出来:常返类、周期类和滑过态之间的边界,本身就提供了一种值得优先尊重的粗粒化基准。详细的数学公式和证明可参考[[马尔科夫链中的随机动力学]]。 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | ''' | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
<br/> | <br/> | ||
| 第806行: | 第550行: | ||
* 成块性、因果态和稳态分布下的随机动力学划分是“结构性性质 / 自然划分”的理论工具。 | * 成块性、因果态和稳态分布下的随机动力学划分是“结构性性质 / 自然划分”的理论工具。 | ||
| − | + | <br/> | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
===成块性 v.s. 有效信息/动力学可逆性=== | ===成块性 v.s. 有效信息/动力学可逆性=== | ||
| 第866行: | 第558行: | ||
但是,这两个概念并不完全等价。成块性的目标是想在保证宏观和微观动力学的一致性的情况下去对状态做分组,而因果涌现的主要目标是想最大化粗粒化之后宏观动力学的因果强度。 | 但是,这两个概念并不完全等价。成块性的目标是想在保证宏观和微观动力学的一致性的情况下去对状态做分组,而因果涌现的主要目标是想最大化粗粒化之后宏观动力学的因果强度。 | ||
| − | + | 在普通的成块性例子里,粗粒化之后往往能得到一个 EI 或可逆性都很高的宏观动力学。但是,当我们考虑一些极端例子时,如下图所示,我们可以强行让每一组里的状态转移概率尽可能不一样,但加总后又恰好一样,从而仍满足成块性的划分。按照这种成块划分去做粗粒化,并不一定会得到高的 EI 或可逆性。相反,用另一个不成块的分组来做粗粒化,得到的宏观动力学 EI 和可逆性反而可能更高。这一现象说明: | |
# 基于成块性的最优划分不一定等于基于可逆性的最优划分。 | # 基于成块性的最优划分不一定等于基于可逆性的最优划分。 | ||
| 第878行: | 第570行: | ||
=划分方法= | =划分方法= | ||
| − | 当我们想把 <math>N</math> 个状态的马尔科夫链划分成 <math>M</math> | + | 当我们想把 <math>N</math> 个状态的马尔科夫链划分成 <math>M</math> 组时,待选划分的数量可以由第二类斯特林数(Stirling numbers of the second kind)表示:<math>S(N, M) = \frac{1}{M!} \sum_{k=0}^{M} (-1)^{M-k} \binom{M}{k} k^N</math> |
| − | + | 待选划分的数量极大,比如<math>S(20,10)=1.107e32</math>,几乎不可能通过遍历所有划分来寻找最优解,所以我们需要使用一些方法来有效寻找近似最优解。 | |
| 第886行: | 第578行: | ||
==逐层贪婪算法== | ==逐层贪婪算法== | ||
| − | + | 在这个问题中,我们可以采取自底向上合并(Bottom-Up)的层次聚类(Hierarchical Clustering)方法,即从最细粒度(每个状态单独成组,一共 <math>N</math> 组)开始,每一步合并两个最相似的组,直到达到目标分组数 <math>M</math>。 | |
具体步骤如下: | 具体步骤如下: | ||
| 第908行: | 第600行: | ||
==谱分解== | ==谱分解== | ||
| − | 谱分解(Spectral | + | 谱分解(Spectral Clustering)的思想,是利用矩阵的谱,也就是特征向量所展示的物理含义来进行聚类和划分。 |
===最大化有效信息的谱分解方法=== | ===最大化有效信息的谱分解方法=== | ||
| − | + | 这类方法的核心思路是:先对转移矩阵做特征分解,用特征值和特征向量构造状态间的相似性,再在嵌入空间中聚类,最后据此构造宏观动力学。 | |
'''输入''':原始包含 <math>N</math> 个状态的马尔科夫链 <math>P</math> 和距离超参 <math>\epsilon</math>; | '''输入''':原始包含 <math>N</math> 个状态的马尔科夫链 <math>P</math> 和距离超参 <math>\epsilon</math>; | ||
# 对 <math>P</math> 进行矩阵的[[特征值分解]],得到特征值集合 <math>\Lambda=\{\lambda_i\}^N_{i=1}</math> 与特征向量集合 <math>E=\{e_i\}^N_{i=1}</math>; | # 对 <math>P</math> 进行矩阵的[[特征值分解]],得到特征值集合 <math>\Lambda=\{\lambda_i\}^N_{i=1}</math> 与特征向量集合 <math>E=\{e_i\}^N_{i=1}</math>; | ||
| − | # | + | # 构建新的有偏特征向量集合 <math>E’=\{\lambda_ie_i|\lambda_i≠0\}^N_{i=1}</math>,该集合中的每个向量都被其对应的特征值加权,同时去除了零特征值及其对应的特征向量(新的状态数量为<math>N'=rank(P)</math>)。直观地说,忽略特征值为 0 的特征向量是有意义的,因为它对应了动力学中的简并性,而非零特征值及其对应特征向量则包含了丰富的网络拓扑结构信息; |
# 依据 <math>E'</math> 计算状态间的相似矩阵 <math>D_{N'×N'}</math>: | # 依据 <math>E'</math> 计算状态间的相似矩阵 <math>D_{N'×N'}</math>: | ||
| − | ## 如果状态 <math>v_i</math> 和 <math>v_j</math> | + | ## 如果状态 <math>v_i</math> 和 <math>v_j</math> 分别在对方的马尔科夫毯中,则通过新的特征向量计算两个节点的 cosine 相似性,作为两者间的相似度 <math>d_{ij}</math> 和 <math>d_{ji}</math>; |
## 否则将两个节点间的相似度设为无穷大 <math>\infty</math>(可以设个比较大的值,如10000); | ## 否则将两个节点间的相似度设为无穷大 <math>\infty</math>(可以设个比较大的值,如10000); | ||
# 基于相似度矩阵<math>D_{N'×N'}</math>和一个超参<math>\epsilon</math>(需要线性搜索,可以选择EI最大的参数),使用[[OPTICS]]算法(是一种基于密度的划分算法,旨在识别数据集中不同密度的划分结构)进行划分,输出对应超参<math>\epsilon</math>下的划分方式。 | # 基于相似度矩阵<math>D_{N'×N'}</math>和一个超参<math>\epsilon</math>(需要线性搜索,可以选择EI最大的参数),使用[[OPTICS]]算法(是一种基于密度的划分算法,旨在识别数据集中不同密度的划分结构)进行划分,输出对应超参<math>\epsilon</math>下的划分方式。 | ||
| 第933行: | 第625行: | ||
===寻找成块划分的谱分解方法=== | ===寻找成块划分的谱分解方法=== | ||
| − | 当马尔科夫矩阵存在块状结构,或者状态明显可以被划分为几类时,根据这样的划分,该矩阵就是成块的。对于简单的<math>P</math>,如图6中的<math>\bar{P}</math> | + | 当马尔科夫矩阵存在块状结构,或者状态明显可以被划分为几类时,根据这样的划分,该矩阵就是成块的。对于简单的<math>P</math>,如图6中的<math>\bar{P}</math>所示,我们能够很快找出它的成块划分<math>\Phi</math>。然而在实际应用中,我们经常遇到的矩阵并不完美。例如,成块矩阵的状态排序可能被打乱(如图(6)中的<math>P_1</math>),或者矩阵中混入了如<math>P_2</math>这样的噪声(如图6中的<math>P</math>,<math>P = P_1 + P_2</math>,<math>P_1^TP_2 = 0</math>)。在这种情况下,我们通常面临的是像<math>P</math>这样的矩阵:既无法确定它是否成块,也无法决定它的划分,甚至不知道它的马尔科夫秩。 |
[[文件:Lump fig1.png|缩略图|398x398像素|图6:Zhang<ref name=":4" /> 文章中的示意图。图中左面四个矩阵都是成块的马尔科夫矩阵,而右面的P_2是一个噪声矩阵,(P_1)^T P_2 = 0|替代=]] | [[文件:Lump fig1.png|缩略图|398x398像素|图6:Zhang<ref name=":4" /> 文章中的示意图。图中左面四个矩阵都是成块的马尔科夫矩阵,而右面的P_2是一个噪声矩阵,(P_1)^T P_2 = 0|替代=]] | ||
针对这一问题,Anru Zhang<ref name=":4">Zhang, Anru, and Mengdi Wang. "Spectral state compression of markov processes." ''IEEE transactions on information theory'' 66.5 (2019): 3202-3231.</ref><ref name=":4" />提出了一种寻找最优划分的方法,其核心是利用'''稳态流矩阵'''(frequency matrix)<math>F = \mathrm{diag}(\pi) \cdot P</math> 的奇异值结构来恢复成块划分。 | 针对这一问题,Anru Zhang<ref name=":4">Zhang, Anru, and Mengdi Wang. "Spectral state compression of markov processes." ''IEEE transactions on information theory'' 66.5 (2019): 3202-3231.</ref><ref name=":4" />提出了一种寻找最优划分的方法,其核心是利用'''稳态流矩阵'''(frequency matrix)<math>F = \mathrm{diag}(\pi) \cdot P</math> 的奇异值结构来恢复成块划分。 | ||
| − | 其中 <math>\pi</math> 是 <math>P</math> 的稳态分布,<math>F_{ij} = \pi_i P_{ij}</math> 可以理解为系统在稳态下从状态 <math>i</math> 流向状态 <math>j</math> | + | 其中 <math>\pi</math> 是 <math>P</math> 的稳态分布,<math>F_{ij} = \pi_i P_{ij}</math> 可以理解为系统在稳态下从状态 <math>i</math> 流向状态 <math>j</math> 的长期概率流量。具体步骤如下: |
| − | # | + | # 获取一个 <math>n\times n</math> 维的马尔科夫矩阵 <math>P</math>,或者马尔科夫链的频率采样,并由此得到频率矩阵 <math>F</math>; |
| − | #获取马尔科夫秩<math>r<n</math> ,或指定一个<math>r</math>; | + | # 获取马尔科夫秩<math>r<n</math>,或指定一个<math>r</math>; |
| − | #对 <math>F</math> | + | # 对 <math>F</math> 进行 SVD 分解,<math>F = U \Sigma V^T</math>,其中 <math>U</math> 为左奇异向量,<math>V</math> 为右奇异向量,<math>\Sigma = diag(\sigma_{1},\sigma_{2},...,\sigma_{N})</math> 是一个对角矩阵,包含所有有序奇异值; |
| − | #通过下列公式得到最优划分 <math>\Omega_1, \Omega_2, ... , \Omega_r</math> | + | # 通过下列公式得到最优划分 <math>\Omega_1, \Omega_2, ... , \Omega_r</math> |
<math> | <math> | ||
| 第951行: | 第643行: | ||
其中,<math>v_s</math>是第<math>s</math>类<math>\Omega_s</math>的特征向量。这个算法的核心思想是:在最优的划分中,<math>\Omega_s</math>中的状态<math>i</math>的右奇异向量会和<math>v_s</math>距离最小,也就是说,让每个微观态的右特征向量和它对应的宏观态的右特征向量尽可能接近。 | 其中,<math>v_s</math>是第<math>s</math>类<math>\Omega_s</math>的特征向量。这个算法的核心思想是:在最优的划分中,<math>\Omega_s</math>中的状态<math>i</math>的右奇异向量会和<math>v_s</math>距离最小,也就是说,让每个微观态的右特征向量和它对应的宏观态的右特征向量尽可能接近。 | ||
| − | 这个算法看起来非常熟悉,实际上它与 | + | 这个算法看起来非常熟悉,实际上它与 K-Means 聚类算法非常相似。让<math>v_s</math>和组里的<math>V_{[i,:r]}</math>距离最小的方法,就是让<math>v_s</math>成为这些点的中心。回顾一下 K-Means 算法把 n 个点聚成 r 类的目标函数,其中第<math>i</math>个点被归到第<math>c^i</math>类,而<math>\mu_j</math>为第<math>j</math>类点的中心点: |
<math>J(c^1, ... , c^n, \mu_1, ... , \mu_r) = \sum_{i=1}^n || x_i - \mu_{c^i} ||^2 </math> | <math>J(c^1, ... , c^n, \mu_1, ... , \mu_r) = \sum_{i=1}^n || x_i - \mu_{c^i} ||^2 </math> | ||
| 第966行: | 第658行: | ||
当系统存在明显的近成块结构时,<math>F</math> 的前 <math>r</math> 个奇异值主要反映的是组间的大尺度概率流通道,而后续的奇异值反映的是组内的局部流量波动。如果这两部分之间存在明显的谱间隙(singular value gap),即 <math>\sigma_r(F_1) \gg |F_2|</math>,那么 K-Means 聚类 <math>\hat{V}_F</math> 就能准确恢复成块划分。 | 当系统存在明显的近成块结构时,<math>F</math> 的前 <math>r</math> 个奇异值主要反映的是组间的大尺度概率流通道,而后续的奇异值反映的是组内的局部流量波动。如果这两部分之间存在明显的谱间隙(singular value gap),即 <math>\sigma_r(F_1) \gg |F_2|</math>,那么 K-Means 聚类 <math>\hat{V}_F</math> 就能准确恢复成块划分。 | ||
| − | + | 这对应于一种特殊但常见的物理场景:系统各状态群之间的长期概率流量远弱于群内流量,形成类似“准吸引域”的结构,粒子长时间在群内游走,偶尔才跨越群边界。当 <math>P</math> 不是精确成块,而是近似成块(near-lumpable)时,该方法仍然可以工作,但需要满足一个关键条件:'''组间动力学 <math>F_1</math> 的奇异值必须主导 <math>F</math> 的整体奇异值谱''',即 <math>\sigma_r(F_1) \gg \|F_2\|</math>。 | |
| − | 需要注意的是,成块性的数学定义本身并''' | + | 需要注意的是,成块性的数学定义本身并'''不要求准吸引域结构(群内流量强于群间流量)'''。成块性只要求同组状态到各组的转移概率总量相同,并不约束转移的方向强弱。论文给出了分组错误率的上界: |
<math> | <math> | ||
| 第980行: | 第672行: | ||
===基于动力学可逆性的谱分解方法=== | ===基于动力学可逆性的谱分解方法=== | ||
| − | + | 张江等人关于动力学可逆性的文章<ref name="reversibility"/>提供了另一种基于 SVD 的粗粒化方法。该工作的出发点与上面寻找成块划分的方法不同:它不以恢复某种预设的结构性划分为目标,而是把马尔科夫动力学看作一个通信信道,把每个状态下的概率转移看作一条信息通路(information pathway)。当系统的 <math>N</math> 条通路中存在线性相关的行向量时,这些通路就是冗余的,它们要么传递极少的信息(对应接近零的奇异值),要么可以被其他通路的线性组合表示。 | |
| − | 通过 SVD 可以识别出 <math>r_\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> 能通过秩亏反映出来。 | 与 EI 相比,<math>\Gamma_\alpha</math> 能捕捉到 EI 无法感知的信息:EI 基于 KL 散度,只能度量行向量之间的'''相似性''';而 <math>\Gamma_\alpha</math> 基于线性代数,还能度量行向量之间的'''线性依赖性'''。两个行向量可以彼此很不像(KL 散度大),但仍然线性相关(一个是另一个的线性组合)。后一种情况下,EI 看不出冗余,但 <math>\Gamma_\alpha</math> 能通过秩亏反映出来。 | ||
| 第992行: | 第684行: | ||
# 给定含有 <math>N</math> 个状态的马尔科夫矩阵 <math>P</math>,对其做 SVD 分解 <math>P = U \Sigma V^T</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>\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>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>\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>\Phi</math> 和稳态流矩阵 <math>F = \mathrm{diag}(\pi) P</math>,通过 <math>F' = \Phi^T F \Phi</math> 构建宏观稳态流矩阵,再对每行归一化得到宏观转移矩阵 <math>P'</math>。 | ||
| 第1,000行: | 第692行: | ||
| − | + | 虽然该工作与前面 Zhang & Wang 的方法都包含 SVD + K-Means 这一步,但两者之间仍存在差异: | |
# Zhang & Wang的工作目标是在粗粒化过程中尽量保持马尔科夫性,并恢复成块结构;而动力学可逆性工作的目标是在粗粒化过程中减少 TPM 中的信道冗余性。 | # Zhang & Wang的工作目标是在粗粒化过程中尽量保持马尔科夫性,并恢复成块结构;而动力学可逆性工作的目标是在粗粒化过程中减少 TPM 中的信道冗余性。 | ||
| 第1,009行: | 第701行: | ||
==其他方法== | ==其他方法== | ||
| − | + | 寻找最优划分本质上是一个组合优化问题,所以我们也能使用其他合适的方法来解决它。 | |
首先是遗传算法。它是一种受生物进化启发的全局优化算法,通过模拟自然选择(选择适应度高的个体作为父代)、交叉(通过父代基因重组生成子代)和变异(以一定概率随机改变子代基因)等机制,在解空间中搜索最优解。其核心流程包括: | 首先是遗传算法。它是一种受生物进化启发的全局优化算法,通过模拟自然选择(选择适应度高的个体作为父代)、交叉(通过父代基因重组生成子代)和变异(以一定概率随机改变子代基因)等机制,在解空间中搜索最优解。其核心流程包括: | ||
| 第1,019行: | 第711行: | ||
## 变异:以一定概率随机改变子代基因。 | ## 变异:以一定概率随机改变子代基因。 | ||
| − | + | 所以,我们可以把上述逐层贪婪算法和谱分解方法的解作为初始解,再借助遗传算法帮助跳出局部最优,从而找到新的全局更优解。 | |
| − | + | 另外,我们也可以使用梯度下降,搭配图神经网络等深度学习方法来寻找最优划分。比如,在 Klein 和 Hoel 等人的论文<ref name=":19"/>,以及 Griebenow 等人<ref name=":Griebenow">Griebenow R, Klein B, Hoel E. Finding the right scale of a network: efficient identification of causal emergence through spectral clustering[J]. arXiv preprint arXiv:190807565, 2019.</ref>的文献中,作者把粗粒化方案写成一个分组矩阵,并将其参数化,这样就能把最终的粗粒化网络表达为分组矩阵与原始网络邻接矩阵的乘积,并由此计算 EI。之后,再使用自动微分方法执行[[梯度下降算法]]来优化分组矩阵,使 EI 最大化。 | |
'''输入''':包含 <math>N</math> 个节点的原始网络 <math>G</math>,其对应邻接矩阵为:<math>A</math>,粗粒化后的网络所包含的节点数:<math>K</math>;'''输出''':宏观网络 <math>G'</math>,对应的邻接矩阵为:<math>B</math>,以及对应的从 <math>A</math> 到 <math>B</math> 的粗粒化矩阵:<math>M</math> | '''输入''':包含 <math>N</math> 个节点的原始网络 <math>G</math>,其对应邻接矩阵为:<math>A</math>,粗粒化后的网络所包含的节点数:<math>K</math>;'''输出''':宏观网络 <math>G'</math>,对应的邻接矩阵为:<math>B</math>,以及对应的从 <math>A</math> 到 <math>B</math> 的粗粒化矩阵:<math>M</math> | ||
| 第1,041行: | 第733行: | ||
==对划分的限制== | ==对划分的限制== | ||
| − | + | 在上述算法介绍中,并未特别强调各方法对划分节点的限制。但在实际问题场景里,我们往往需要在寻找划分时加入限制,以满足问题本身的特性。 | |
比如,在社区检测问题中,具有只允许相邻的节点聚合在一起的约束。这要求状态划分必须遵循状态转移图的拓扑结构,同一聚合状态内的节点必须在状态转移图中直接相连或通过短路径可达(如K-邻域)。这种限制确保聚合状态具有空间连贯性,同时大幅减少可行划分数量。 | 比如,在社区检测问题中,具有只允许相邻的节点聚合在一起的约束。这要求状态划分必须遵循状态转移图的拓扑结构,同一聚合状态内的节点必须在状态转移图中直接相连或通过短路径可达(如K-邻域)。这种限制确保聚合状态具有空间连贯性,同时大幅减少可行划分数量。 | ||
| 第1,048行: | 第740行: | ||
# '''因果独立性''':当我们把整个组看作一个宏观状态时,由于组内所有状态的马尔科夫毯相同,意味着这个宏观状态与外部状态的交互(输入和输出)在统计上是一致的; | # '''因果独立性''':当我们把整个组看作一个宏观状态时,由于组内所有状态的马尔科夫毯相同,意味着这个宏观状态与外部状态的交互(输入和输出)在统计上是一致的; | ||
# '''信息压缩与模式识别''':具有相同马尔科夫毯的状态在系统中扮演相似的角色(即它们与其他状态之间的依赖关系相同)。将这些状态聚合成一个宏观状态,相当于识别出了系统中的一个功能模块或模式; | # '''信息压缩与模式识别''':具有相同马尔科夫毯的状态在系统中扮演相似的角色(即它们与其他状态之间的依赖关系相同)。将这些状态聚合成一个宏观状态,相当于识别出了系统中的一个功能模块或模式; | ||
| − | # '''因果涌现''' | + | # '''因果涌现''':在复杂系统中,这种聚合可能导致宏观层面出现新的因果特性(即涌现)。如果聚合后的宏观状态能产生比单个状态更明确、更强大的因果作用,则称为因果涌现。此时,宏观状态的马尔科夫转移模型可以更有效地预测系统行为。 |
但也有其他的划分问题不需遵从这类限制。比如在学术网络、网页流网络的场景上的模式识别时,我们可能会判断某些从未合作过的学者具有相似的行为模式,而把他们划分在一组内。 | 但也有其他的划分问题不需遵从这类限制。比如在学术网络、网页流网络的场景上的模式识别时,我们可能会判断某些从未合作过的学者具有相似的行为模式,而把他们划分在一组内。 | ||
| 第1,056行: | 第748行: | ||
=聚合方法= | =聚合方法= | ||
| − | + | 当我们决定了最优划分之后,就能根据该划分得到聚合后的矩阵。 | |
| − | + | 假设划分是把若干个状态合成一组,而其他状态各自成组,我们要做的是把原矩阵中待聚合状态对应的若干行和若干列,分别聚合成一行和一列,而其他元素保持不动。 | |
[[文件:矩阵聚合.png|500像素]] | [[文件:矩阵聚合.png|500像素]] | ||
| 第1,064行: | 第756行: | ||
| − | 把一个 <math>N \times N</math>的矩阵聚合成 <math>N' \times N'</math> | + | 把一个 <math>N \times N</math> 的矩阵聚合成 <math>N' \times N'</math> 的矩阵,可以分成两步: |
# 把待聚合的列直接进行相加,得到 <math>N \times N'</math> 的矩阵; | # 把待聚合的列直接进行相加,得到 <math>N \times N'</math> 的矩阵; | ||
| − | # 把待聚合的行进行加权平均,得到 <math>N \times N</math> | + | # 把待聚合的行进行加权平均,得到 <math>N' \times N'</math> 的矩阵。 |
==入流的聚合方法:直接加和== | ==入流的聚合方法:直接加和== | ||
| − | + | 我们可以把马尔科夫链看作一个以状态为节点、以转移概率为边的网络。 | |
我们把待聚合节点都放进一个大节点的框 <math>M</math> 里,会发现每个外面的节点转移进大节点的概率就等于转移进 <math>M</math> 中所有节点的概率的和,即<math>p_{iM} = \sum_{j \in M} p_{ij}</math>。如此就能满足每行加和为一的条件。 | 我们把待聚合节点都放进一个大节点的框 <math>M</math> 里,会发现每个外面的节点转移进大节点的概率就等于转移进 <math>M</math> 中所有节点的概率的和,即<math>p_{iM} = \sum_{j \in M} p_{ij}</math>。如此就能满足每行加和为一的条件。 | ||
| 第1,084行: | 第776行: | ||
==出流的聚合方法:加权平均== | ==出流的聚合方法:加权平均== | ||
| − | + | 计算大节点的入流比较简单,而计算大节点的出流则相对复杂,需要考虑待聚合节点之间的随机游走和状态分布,来计算流向每个节点的概率。我们可以把出流聚合看作对若干行做线性加权平均。 | |
| 第1,090行: | 第782行: | ||
===权重一致的平均=== | ===权重一致的平均=== | ||
| − | + | 在现有方法中,很多都采用最简单的思路:对状态做权重一致的平均。当我们只看矩阵本身,认为所有状态是平等的,就会给它们分配相同权重,即<math>p_{Mi} = \frac{1}{n} \sum_{j \in M} p_{ji}</math>。 | |
| − | + | 但是,这种情况只适用于成块的状态划分:由于成块性要求同属一组的微观状态转移到另一组的概率相同,所以这样的平权平均没有问题。但当我们对不成块的状态划分进行平权平均时,就会导致宏观和微观的马尔科夫动力学不一致。 | |
| 第1,098行: | 第790行: | ||
===权重为平稳分布的平均=== | ===权重为平稳分布的平均=== | ||
| − | + | 当一个随机游走粒子进入大节点时,它下一步游走到大节点内或大节点外其他节点的概率,应当取决于它当前更可能位于大节点内的哪个小节点。 | |
| − | 设游走粒子在 <math>t</math> 时刻处于小节点 <math>j</math> 的概率为<math>s_j(t)</math> | + | 设游走粒子在 <math>t</math> 时刻处于小节点 <math>j</math> 的概率为<math>s_j(t)</math>,则聚合节点到外部节点 <math>i</math> 的下一步概率可写为<math>p_{Mi}(t) = \frac{1}{\sum_{j \in M} s_j(t)} \sum_{j \in M} s_j(t)\ p_{ji}</math>,而留在聚合节点内部的概率为<math>p_{MM}(t) = \frac{1}{\sum_{j \in M} s_j(t)} \sum_{j \in M} s_j(t)\sum_{k \in M} p_{jk}</math>。 |
| − | + | 假设游走已经达到平稳分布<math>\pi</math>,游走粒子处于不同小节点 <math>j</math> 的概率为<math>\pi_j</math>,则聚合节点到外部节点 <math>i</math> 的概率为<math>p_{Mi} = \frac{1}{\sum_{j \in M} \pi_j} \sum_{j \in M} \pi_j\ p_{ji}</math>,而留在聚合节点内部的概率为<math>p_{MM} = \frac{1}{\sum_{j \in M} \pi_j} \sum_{j \in M} \pi_j\sum_{k \in M} p_{jk}</math>。按照平稳分布为权重对若干行做加权平均,得到的行仍会满足加和为一的条件。 | |
| 第1,115行: | 第807行: | ||
其中,<math>F'</math> 是粗粒化后的平稳流矩阵。在归并的过程中,保持所有矩阵上的流量总量是不变的。 | 其中,<math>F'</math> 是粗粒化后的平稳流矩阵。在归并的过程中,保持所有矩阵上的流量总量是不变的。 | ||
| − | 最后,粗粒化后的 <math>P'</math> | + | 最后,粗粒化后的 <math>P'</math> 可以通过归一化每一行直接得到: |
<blockquote> | <blockquote> | ||
| − | <math>P'_i = \frac{F'_i}{ \sum_{j=1}^{N} (F'_i)_j }, \, \forall i \in [1, N]. | + | <math>P'_i = \frac{F'_i}{ \sum_{j=1}^{N'} (F'_i)_j }, \, \forall i \in [1, N']. |
</math> | </math> | ||
</blockquote> | </blockquote> | ||
| − | 将 <math>N</math> 个 <math>P'_i</math> 拼在一起就能得到最终的 <math>P'</math> | + | 将 <math>N'</math> 个 <math>P'_i</math> 拼在一起就能得到最终的 <math>P'</math>。可以证明,这样的粗粒化方案能够保证粗粒化操作和时间演化操作具有可交换性(证明可以参考<ref name="reversibility"/>)。 |
| − | + | 按照该方法进行加和平均,得到的宏观和微观马尔科夫动力学就会满足一致条件。虽然这个方法直观明了,但它的问题在于:在系统演变到平稳分布之前,需要计算每个 <math>t</math> 时刻的状态分布概率 <math>s_j(t)</math>。在达到平稳分布前,直接使用<math>\pi</math>来聚合仍不会满足一致性,因此操作起来比较麻烦;而 HOM 的计算方式则可以解决这个问题。 | |
| 第1,128行: | 第820行: | ||
===高阶网络聚类 Higher-Order Macronodes (HOM)=== | ===高阶网络聚类 Higher-Order Macronodes (HOM)=== | ||
| − | + | 在 Klein 等人的论文<ref name=":19">Klein B, Hoel E. The emergence of informative higher scales in complex networks[J]. Complexity, 2020, 20201-12.</ref>,以及 Griebenow 等人<ref name=":Griebenow">Griebenow R, Klein B, Hoel E. Finding the right scale of a network: efficient identification of causal emergence through spectral clustering[J]. arXiv preprint arXiv:190807565, 2019.</ref>的文献中,作者采用了高阶依赖项建模([[HOMs]])<ref name="HOMs">Xu, J., Wickramarathne, T. L., & Chawla, N. V. Representing higher-order dependencies in networks[J]. Science advances, 2016, 2(5), e1600028.</ref>来对网络节点进行聚合。其目的是保证聚合后的宏观网络与原始微观网络具有相同的随机游走动力学特性。该方法也可以用于合并马尔科夫链的状态。 | |
| − | Higher-order | + | Higher-order Macronodes 是由 Jian Xu 等人<ref name="HOMs" />提出的一种方法:根据给定的微观马尔科夫链和节点划分方案,得出一个与微观转移矩阵保持一致的宏观转移矩阵。下面将简单介绍构建宏观 HOM 转移概率矩阵的计算方法。具体方法请参考[[网络归并]]。 |
假设我们把若干个节点视为待合并的节点<math>A</math>。 | 假设我们把若干个节点视为待合并的节点<math>A</math>。 | ||
| 第1,143行: | 第835行: | ||
[[文件:HOM示例.png|缩略图|图7:HOM节点边权合并示意图|替代=|500像素|无]] | [[文件:HOM示例.png|缩略图|图7:HOM节点边权合并示意图|替代=|500像素|无]] | ||
| − | 论文<ref name=":19" /> | + | 论文<ref name=":19" />中提到,原始微观动力学与使用该方法聚合后的宏观动力学能够满足其定义的一致性。 |
<br/> | <br/> | ||
| − | |||
| − | |||
=复杂网络中的粗粒化方法= | =复杂网络中的粗粒化方法= | ||
| − | + | 复杂网络与马尔科夫链之间存在密不可分的联系。许多复杂网络上的分析方法,比如随机游走,会利用马尔科夫链动力学理论;而马尔科夫链的研究同样也会借用复杂网络中的理论分析方法,比如统计物理中的配分函数等。这部分简要介绍复杂网络中的三种粗粒化方法,它们在马尔科夫链粗粒化问题上具有很大的研究潜力。 | |
==复杂网络与马尔科夫链的相似性== | ==复杂网络与马尔科夫链的相似性== | ||
| − | + | 对一个复杂网络而言,它并不天然具备某种动力学,所以需要人为定义一套动力学。常见做法是借助随机游走子的概念,在网络上定义一套随机游走动力学。 | |
假设游走子在每一步都会按照边权来进行转移,这种节点间的转移动力学可以用马尔科夫链表示。马尔科夫链的状态对应着复杂网络上的节点,而转移概率对应着网络节点之间的连边权重。 | 假设游走子在每一步都会按照边权来进行转移,这种节点间的转移动力学可以用马尔科夫链表示。马尔科夫链的状态对应着复杂网络上的节点,而转移概率对应着网络节点之间的连边权重。 | ||
| 第1,169行: | 第859行: | ||
===谱粗粒化=== | ===谱粗粒化=== | ||
| − | 复杂网络可以被建模为一个马尔科夫过程,它的动力学由邻接矩阵 <math>A</math> 构建的随机矩阵 <math>W</math>(或称转移概率矩阵)所描述,定义为 <math>W_{ij} = \frac{A_{ij}}{\sum_k A_{kj}}</math> | + | 复杂网络可以被建模为一个马尔科夫过程,它的动力学由邻接矩阵 <math>A</math> 构建的随机矩阵 <math>W</math>(或称转移概率矩阵)所描述,定义为 <math>W_{ij} = \frac{A_{ij}}{\sum_k A_{kj}}</math>,表示从节点 <math>j</math> 转移到节点 <math>i</math> 的概率。这里采用的是'''列归一化写法''':每一列的和为 1,因此指标 <math>j</math> 表示出发节点,<math>i</math> 表示到达节点。为了实现网络的降维与简化,研究者提出了一种基于谱理论的粗粒化方法<ref>Gfeller D, De Los Rios P. Spectral coarse graining of complex networks[J]. Physical review letters, 2007, 99(3): 038701.</ref>。该方法的核心在于选取随机矩阵前 <math>S</math> 个最大非平凡特征值 <math>\lambda^2, \lambda^3, \ldots, \lambda^{S+1}</math> 对应的左特征向量 <math>\langle u^2 |, \langle u^3 |, \ldots, \langle u^{S+1} |</math>,将网络节点映射到这些特征向量张成的特征空间。在此基础上,将每个特征向量的值域划分为 <math>I</math> 个区间,在所有 <math>S</math> 个特征向量上都落入相同区间的节点会被合并为一个超级节点。从概率角度看,这一粗粒化过程可以理解为:新超级节点的出边概率由原节点的出边概率加权平均得到,其流入概率则由原节点的流入概率直接相加,其他未合并节点的转移概率保持不变。 |
<br/> | <br/> | ||
| 第1,201行: | 第891行: | ||
| − | + | 定义粗粒化单元(CGU):它是最适合作为网络粗粒化节点的模式,具有明确输入、输出端口和内部计算节点,可视为一种基本电路组件。CGU 的集合构成“元素字典”,粗粒化网络则可视为由该字典构建的版本。部分节点被 CGU 替换,从而实现网络压缩。 | |
CGU的评价维度(优化的属性):'''简洁性'''、'''简单性'''和'''覆盖度'''。 | CGU的评价维度(优化的属性):'''简洁性'''、'''简单性'''和'''覆盖度'''。 | ||
| − | #'''简洁性''' | + | #'''简洁性''':字典中 CGU 的总数尽可能少。 |
| − | #'''简单性''' | + | #'''简单性''':单个 CGU 的结构尽可能简单,由黑箱数 <math>H</math> 决定,<math>H</math> 越少越简单。 <math>H=I+O+2M</math>, <math>I</math> 为输入节点,<math>O</math> 为输出节点,<math>M</math> 为混合节点。 |
#'''覆盖度''':粗粒化后消除的节点和边数尽可能多,被CGU覆盖的节点数 <math>P_{covered}</math> 和边数 <math>E_{covered}</math> 尽可能多。 | #'''覆盖度''':粗粒化后消除的节点和边数尽可能多,被CGU覆盖的节点数 <math>P_{covered}</math> 和边数 <math>E_{covered}</math> 尽可能多。 | ||
| 第1,216行: | 第906行: | ||
最大化 S 倾向于选择“高频出现、内部节点多且混合节点少” 的 CGU。 | 最大化 S 倾向于选择“高频出现、内部节点多且混合节点少” 的 CGU。 | ||
| − | + | 采用模拟退火法寻找粗粒化最优的 CGU 集合,仅以网络模体(在原始网络中出现频率显著高于随机网络的子图)作为候选 CGU。 | |
候选CGU的获取方式:先检测 3-6 节点的所有网络模体,再根据每个模体出现的连接特征向量,同一模体不同特征向量的出现视为不同 CGU 候选。 | 候选CGU的获取方式:先检测 3-6 节点的所有网络模体,再根据每个模体出现的连接特征向量,同一模体不同特征向量的出现视为不同 CGU 候选。 | ||
| 第1,222行: | 第912行: | ||
找到最优的粗粒化CGU集合,通过将每个CGU的每一次出现替换为一个节点,形成粗粒化网络。算法可在粗粒化网络上重复执行,获得更高层级的粗粒化。 | 找到最优的粗粒化CGU集合,通过将每个CGU的每一次出现替换为一个节点,形成粗粒化网络。算法可在粗粒化网络上重复执行,获得更高层级的粗粒化。 | ||
| − | |||
| − | |||
| − | |||
| − | |||
<references /> | <references /> | ||
2026年4月3日 (五) 17:16的版本
马尔科夫链是一类特殊的随机过程:在给定当前状态后,对未来状态的预测不再依赖更早的过去状态。一般的马尔科夫链包括 [math]\displaystyle{ N }[/math] 个状态,所有状态之间的概率转移构成一个转移概率矩阵 [math]\displaystyle{ P }[/math]。该矩阵有 [math]\displaystyle{ N }[/math] 行 [math]\displaystyle{ N }[/math] 列,且满足概率归一化条件(所有元素位于 0 到 1 之间,所有行的和为 1)。本词条限定在 平稳马尔科夫链 上讨论,也就是[math]P[/math]不随时间和状态而变。
所谓马尔科夫链的粗粒化,是指找到一个新的马尔科夫链,它具有 [math]\displaystyle{ 1\lt M\lt N }[/math] 个状态,其对应的 [math]\displaystyle{ M }[/math] 行 [math]\displaystyle{ M }[/math] 列概率转移矩阵为[math]\displaystyle{ P' }[/math]。它同样满足概率归一化条件,可以看作对 [math]\displaystyle{ P }[/math] 所描述动力学过程的一种抽象近似约简。
文献中一般着重强调对马尔科夫链做粗粒化的意义包括:
- 当我们研究一个状态极多的复杂系统时,往往并不会关注每一个微观状态。在粗粒化中,我们希望过滤掉不感兴趣的噪声和异质性,从微观尺度中总结出一些中尺度或宏观尺度的规律;
- 有些状态的转移概率非常相似,所以可以被看成同一类状态。对这些状态进行划分和归并可以减少马尔科夫链的冗余性,得到一个更简洁有效的表示;
- 在用到马尔科夫决策过程的强化学习算法中,对马尔科夫链做粗粒化可以减少状态空间的大小,提高训练过程的样本效率和任务表现[1]。
对任意马尔科夫链的转移概率矩阵做约简,都存在无穷多种可能的方法。然而在实际粗粒化过程中,我们必须从这些方法中做筛选,使约简后的矩阵[math]P'[/math]尽可能保留原矩阵的主要特征。为刻画这些特征是否被保留,人们提出了不同的标准,包括:
- 首先,我们想尽量降低动力学在压缩后的维度;
- 其次,我们想在压缩过程中尽量保留动力学中的信息;
- 最后,我们希望压缩后的过程和原本的过程尽量保持一致。
在这个词条中,我们会围绕着这三个标准展开讨论,并介绍一系列针对马尔科夫链的实际可操作的粗粒化方法。
粗粒化
马尔科夫链不只是一个马尔科夫矩阵。它还涉及不同的状态,以及状态之间的转移概率,所以我们可以从不同角度来看待粗粒化:
- 对马尔科夫矩阵做粗粒化:在看待一个方阵时,我们可以把它想象成一个网络的邻接矩阵。节点为状态,连边为状态转移概率,状态转移的过程为一个粒子在节点间跳转,而粗粒化则是对这个网络做降维。
- 对状态空间做粗粒化:我们这里讨论的是离散状态的马尔科夫链,状态空间的大小等于马尔科夫链的大小。粗粒化可以看作对状态空间做分组并投影到新的状态空间。
- 对概率空间做粗粒化:从概率论出发,把状态的发生看作事件,通过计算事件发生的频率来构建概率空间。在降维表达事件的同时也构建了新的概率空间。
这三种出发点彼此相关,但具体关注的对象不同:第一种关注状态之间的连边拓扑结构,第二种关注不同状态的历史分布和相似性,第三种关注如何降维表达整个系统中的事件概率分布。
对马尔科夫链做粗粒化并没有统一定义,目前该主题也没有完整的文献综述。在许多文献中,粗粒化(coarse-graining)、聚类/聚合(partitioning/lumping/clustering/aggregation)和降维(dimension reduction)往往是重叠乃至近似等价的。
本词条只讨论离散时间马尔科夫链,且动力学 [math]\displaystyle{ P }[/math] 是时齐(不随时间变化)的,不讨论连续马尔科夫过程。我们定义微观状态空间为[math]\displaystyle{ S=\{s_1, s_2, ... ,s_n\} }[/math],微观转移函数[math]\displaystyle{ P \in \mathcal{R}_{n \times n} }[/math]是一个大小为 n 的马尔科夫矩阵。同样,粗粒化后的宏观状态空间为[math]\displaystyle{ S'=\{s'_1, s'_2, ... ,s'_r\} }[/math],宏观转移函数[math]\displaystyle{ P' \in \mathcal{R}_{r \times r} }[/math]。 多数文献中会出现如图1的定义[2]:
对状态空间 [math]\displaystyle{ S }[/math] 和转移函数 [math]\displaystyle{ P(t):S \rightarrow S }[/math],我们需要一个状态分组的投影函数 [math]\displaystyle{ \Phi:S \rightarrow S' }[/math],和一个在新状态空间上的转移函数 [math]\displaystyle{ P'(t):S' \rightarrow S' }[/math],而且 [math]\displaystyle{ S' }[/math] 和[math]\displaystyle{ P' }[/math] 要符合马尔科夫链定义。
如果把这个降维/粗粒化过程拆开看,它可以分为三步。
- 划分(对状态空间进行粗粒化):对状态进行分组,得出[math]\displaystyle{ \Phi }[/math],决定 [math]\displaystyle{ S }[/math] 空间中的状态要如何被投影到 [math]\displaystyle{ S' }[/math] 空间上。
- 聚合(对转移概率进行粗粒化):基于分组函数 [math]\displaystyle{ \Phi }[/math],我们要决定如何把原来的状态转移矩阵[math]\displaystyle{ P }[/math]降维成新的[math]\displaystyle{ P' }[/math]。
- 判断粗粒化方案 [math]\displaystyle{ \Phi }[/math] 和 [math]\displaystyle{ P' }[/math] 符合什么样的性质。
划分:对状态空间进行粗粒化
我们假设投影函数 [math]\displaystyle{ \Phi }[/math] 是一个 [math]\displaystyle{ n \times r }[/math] 的线性投影矩阵,且符合下列两个条件:(1)所有元素非负;(2)每行加和等于1。
马尔科夫链的粗粒化可以分成硬划分(Hard partitioning)和软划分(Soft partitioning)。硬划分是指把若干个微观状态分成一个宏观状态类,且一个微观状态不能同时属于多个宏观状态类;软划分则可能出现一个微观状态同时属于多个宏观类的情况。
在硬划分的情况下,[math]\displaystyle{ \Phi_{i, j} = \begin{cases} 1\text{, if}\ s_i \in s_j', \\ 0\text{, otherwise} \end{cases} }[/math],即一个表示 [math]\displaystyle{ i }[/math] 属于 [math]\displaystyle{ j }[/math] 类的零一分组矩阵。如果是软划分,[math]\displaystyle{ \Phi }[/math] 则不一定是零一矩阵[3]。
在这个词条里,我们主要讨论硬划分[4]。对软划分感兴趣的朋友可以自行参阅这两篇论文[5] [6]。
聚合:对转移概率进行粗粒化
得出 [math]\displaystyle{ \Phi }[/math] 后,对微观马尔科夫矩阵 [math]\displaystyle{ P }[/math] 的降维可以表示为
-
[math]\displaystyle{ \begin{aligned} P' = W P \Phi, \end{aligned} }[/math]
(1)
其中 [math]\displaystyle{ W \in \mathbb{R}^{r \times n} }[/math]。Buchholz[3]的文章中把 [math]\displaystyle{ W }[/math] 称作distributor matrix,而 [math]\displaystyle{ \Phi \in \mathbb{R}^{n \times r} }[/math] 称作collector matrix。
我们假设[math]\displaystyle{ W, \Phi, P, P' }[/math]都是线性的,所以可以这样理解这个公式:从图1左上角的 t 时刻宏观状态出发,先经过一个“逆向粗粒化”操作[math]\displaystyle{ W }[/math]得到 t 时刻微观状态,再经微观动力学 [math]\displaystyle{ P }[/math] 得到 t+1 时刻的微观状态,最后经粗粒化 [math]\displaystyle{ \Phi }[/math] 得到 t+1 时刻的宏观状态。
从式子1可以看到,[math]\displaystyle{ \Phi }[/math] 和 [math]\displaystyle{ P }[/math] 都是给定的,所以这一步要做的是决定 [math]\displaystyle{ W }[/math]。[math]\displaystyle{ W }[/math] 的基本限制是使 [math]\displaystyle{ P' }[/math] 符合马尔科夫矩阵定义;在此基础上,[math]\displaystyle{ W }[/math] 仍有无限多种选项,我们可以从中挑出更符合目标特征的方案。
粗粒化方案的要求和优化目标
目前还没有一个严格、完备的马尔科夫链粗粒化定义。在这一章中,我们将简要梳理一些基本概念,以及不同粗粒化方法中用到的要求、优化目标和评价指标。
问题拆分
粗粒化并不只是“把若干状态聚成几类”的聚类问题。我们需要同时考虑多个层面:保留什么尺度上的信息、如何保证宏观动力学仍然自洽、以及如何在压缩和保真之间做权衡。我们需要区分:哪些微观差异只是会被快速混合掉的局部噪声、快变量或冗余通路,哪些差异则决定了系统未来的主要演化方向、稳态概率流以及跨尺度的因果结构。
更直观地说,一个好的宏观态应当把“对外行为几乎一样”的微观状态并在一起,把“长期命运明显不同”的状态分开。后文提到的成块性、因果态、尺度闭合、有效信息和动力学可逆性,分别对应这个问题的不同侧面:有的在回答“哪些状态适合合并”,有的在回答“合并后是否仍然自洽”,有的则在回答“哪个尺度最有信息价值”。
粗粒化与时间演化算子的可交换性
首先,一个重要的粗粒化标准是:粗粒化操作和时间演化操作应当是可交换(commutative)的两个算符。以图(1)所示情形为例,我们从某个微观状态 [math]\displaystyle{ s^{(t)} }[/math] 出发,到达下一刻宏观状态 [math]\displaystyle{ A^{(t+1)} }[/math] 有两条不同路径[7]:
- 先经过微观动力学的时间演化达到 [math]\displaystyle{ s^{(t+1)} }[/math],再进行粗粒化得到 [math]\displaystyle{ A^{(t+1)} }[/math];
- 先通过状态的粗粒化得到 [math]\displaystyle{ A^{(t)} }[/math],再经过宏观动力学的演化到达 [math]\displaystyle{ A^{(t+1)} }[/math]。
如果我们把粗粒化和(宏观/微观)动力学看作是两个算子,那这两个算子的可交换性指的是:从任意一个微观状态分布 [math]\displaystyle{ s^{(t)} }[/math] 出发,走这两条路径得到的 [math]\displaystyle{ A^{(t+1)} }[/math] 的分布是一样的,即
-
[math]\displaystyle{ \begin{aligned} s^{(t)} \Phi P' = s^{(t)} P \Phi \end{aligned} }[/math]
(2)
这两条路径的一致性在粗粒化领域中非常重要,也被反复提及。满足一致性的粗粒化方案能够充分保留动力学中的有效信息,并丢弃无用信息。具体来说,宏观状态已经捕捉了与未来演化相关的所有“慢变量”或“相关信息”,而被粗粒化掉的那些微观细节,只影响瞬时噪声或快速弛豫过程,不会长期、系统性地改变宏观演化。
对于马尔科夫链,粗粒化时我们通常希望得到一个新的马尔科夫过程:宏观态的转移只依赖当前宏观态,而不依赖更久远的历史。式子(2)说明了,如果粗粒化满足可交换性,那么宏观过程可以写成一个真正意义上的马尔科夫链,拥有一个明确的宏观转移矩阵 [math]\displaystyle{ P' }[/math],而且宏观态的演化不需要记忆“刚才具体是哪个微观态导致了这个宏观态”。如果不满足,那宏观态的演化一般会带有记忆效应,未来的转移概率还会依赖这个宏观态是如何形成的,也就是依赖过去的轨迹。
成块性
马尔科夫链的成块性(Lumpability)是一种描述马尔科夫链是否可聚类或可粗粒化的概念,最早由Kemeny和Snell在其1969年著作Finite Markov Chains[8]中阐述。Lump一词有“块”的意思。判断一个马尔科夫链是否可成块(lumpable),就是判定是否存在一种状态划分方式,能够将原始马尔科夫链压缩为一条保留其动力学特征的简化链。这种划分需确保:虽然抹除了聚类内部状态的微观差异,但能精确保持块间转移机制。这一特性为状态空间的合理划分提供了严格的数学判据。
符合成块性的粗粒化方案有很多很好的性质,如保证了对宏观层面上的最大预测性、保证了微观与宏观过程的一致性等。这使得成块性成为马尔科夫链维度约简研究中最常用的标准之一。
成块性的原始定义比较复杂,详见马尔科夫链的成块性。这里我们介绍其充分必要条件,作为一个更直观的解析。在一些文献中,作者会直接使用这一通俗版解释,而且它与原定义之间存在充分必要条件关系[8]。
成块性的充分必要条件
设[math]\displaystyle{ p_{s_k \rightarrow s_m} = p(s^{(t)} = s_m | s^{(t-1)} = s_k) }[/math],[math]\displaystyle{ p_{s_k \rightarrow A_i} = p(s^{(t)} \in A_i | s^{(t-1)} = s_k) = \sum_{s_m \in A_i} p_{s_k \rightarrow s_m} }[/math],[math]\displaystyle{ p_{A_i \rightarrow A_j} = p(A^{(t)} = A_j | A^{(t-1)} = A_i) }[/math],作者[8]提出了判断一个马尔科夫链对给定划分 [math]\displaystyle{ A }[/math] 是否成块的充分必要条件为:
对于任意一对[math]\displaystyle{ A_i, A_j }[/math],每一个属于[math]\displaystyle{ A_i }[/math]的状态[math]\displaystyle{ s_k }[/math]的[math]\displaystyle{ p_{s_k \rightarrow A_j} }[/math]都相同。也就是说,[math]\displaystyle{ A_i }[/math]里的每一个状态[math]\displaystyle{ s_k }[/math]转移到[math]\displaystyle{ A_j }[/math]中所有状态的转移概率之和是相同的。
-
[math]\displaystyle{ \forall i, j, \forall s_k, s_m \in A_i, p_{s_k \rightarrow A_j} = p_{s_m \rightarrow A_j} }[/math]
(3)
满足这个条件后,我们就可以将[math]\displaystyle{ A_j }[/math]中的所有微观状态[math]\displaystyle{ s_l }[/math]合并为一个宏观状态[math]\displaystyle{ A_j }[/math],因为它们从其他宏观状态的转入概率是一致的。同样的,我们也可以将[math]\displaystyle{ A_i }[/math]中的所有微观状态[math]\displaystyle{ s_k }[/math]合并为一个宏观状态[math]\displaystyle{ A_i }[/math],因为这些微观状态[math]\displaystyle{ s_k }[/math](和[math]\displaystyle{ A_i }[/math])到其他宏观状态的转出概率是一致的。
例如,在下图中,[math]\displaystyle{ s_1 }[/math]和[math]\displaystyle{ s_2 }[/math]都属于[math]\displaystyle{ A_1 }[/math],它们到[math]\displaystyle{ A_1 }[/math]和[math]\displaystyle{ A_2 }[/math]的转移概率相同;同样,[math]\displaystyle{ s_3 }[/math]和[math]\displaystyle{ s_4 }[/math]都属于[math]\displaystyle{ A_2 }[/math],它们到各宏观状态的转移概率也相同。因此,[math]\displaystyle{ [[1,2], [3, 4]] }[/math]是[math]\displaystyle{ P }[/math]的一个成块划分。
基于这个条件,我们可以定义成块划分的宏观动力学[math]\displaystyle{ A^{(t)} = A^{(t-1)} P' }[/math]:
对于给定的微观状态 [math]\displaystyle{ S }[/math],微观动力学 [math]\displaystyle{ p_{s_k \rightarrow s_m} }[/math] 和成块的划分 [math]\displaystyle{ A }[/math],宏观动力学 [math]\displaystyle{ p_{A_i \rightarrow A_j} }[/math] 等于 [math]\displaystyle{ A_i }[/math] 中任意状态 [math]\displaystyle{ s_k }[/math] 到[math]\displaystyle{ A_j }[/math] 的概率:
-
[math]\displaystyle{ \begin{aligned} p_{A_i \rightarrow A_j} = p_{s_k \rightarrow A_j} = \sum_{s_m \in A_j} p_{s_k \rightarrow s_m}, k \in A_i \end{aligned} }[/math]
(4)
这个公式表明,群组 [math]\displaystyle{ A_i }[/math] 到群组 [math]\displaystyle{ A_j }[/math] 的转移概率 = 群组 [math]\displaystyle{ A_i }[/math] 中任意状态 [math]\displaystyle{ s_k }[/math] 到群组 [math]\displaystyle{ A_j }[/math] 的转移概率 = 群组 [math]\displaystyle{ A_i }[/math] 中任意状态 [math]\displaystyle{ s_k }[/math] 到群组 [math]\displaystyle{ A_j }[/math] 中的所有状态的转移概率之和。
我们也可以直接定义 [math]\displaystyle{ P }[/math] 和 [math]\displaystyle{ P' }[/math] 之间的关系:
[math]\displaystyle{ P' = \Phi^T P (\Phi^T)^{-1} = \Phi^T P \Phi (\Phi^T \Phi)^{-1} }[/math],
其中,[math]\displaystyle{ \Phi^T \Phi }[/math] 是一个对角阵,对角线上的元素为每个 [math]\displaystyle{ A_i }[/math] 包括了多少个微观状态的计数,其逆矩阵就是把对角线上的元素全部取倒数。
在讨论成块性时,必须明确状态划分的方式。不同的划分方式可能导致不同的结论。一个马尔科夫链可能在某种划分下是成块的,而在另一种划分下则不成块。比如上图例子中,分组 [math]\displaystyle{ \{\{s_1,s_2\}, \{s_3,s_4\}\} }[/math] 是成块的,但是当我们考虑分组 [math]\displaystyle{ \{\{s_1,s_2,s_3\}, \{s_4\}\} }[/math] 时,组内状态的 [math]\displaystyle{ p_{s_k \rightarrow A_j} }[/math] 并不相同,因此不满足成块性的条件定义。
成块性的主要性质
成块性作为一种较为严格的划分方式,虽然在压缩维度上可能不如其他方法显著,但它能够保留在宏观层面上所有有用的信息,并且确保粗粒化前后过程的一致性。
宏观最大预测性
宏观最大预测性是指,在将微观状态粗粒化为宏观状态后,我们只用宏观状态就能预测后续的宏观状态。
具体来说,只需要知道宏观状态 [math]\displaystyle{ A^{(t)} }[/math],就可以最大化 [math]\displaystyle{ A^{(t+1)} }[/math] 的预测效果,而微观状态 [math]\displaystyle{ s^{(t+1)} }[/math] 虽然能提供一些额外信息,但是对于预测 [math]\displaystyle{ A^{(t+1)} }[/math] 并无帮助。
这意味着条件互信息 [math]\displaystyle{ I(A^{(t+1)}; s^{(t+1)} | A^{(t)}) = 0 }[/math]。宏观动力学不需要任何来自微观状态的修正,就能独立且正确地反映系统在宏观层面上的演化。
尽管成块性划分能够准确预测宏观动力学,但它无法确保像计算力学中的因果态那样的微观最大预测性。因为在聚类过程中会损失微观状态的信息,使得我们无法辨别某个[math]\displaystyle{ A^{(t)} }[/math]具体是哪个微观态[math]\displaystyle{ s^{(t)} }[/math]。这个信息的损失是不可逆的,所以从微观粗粒化到宏观之后,就无法再还原到微观了。
成块划分和粗粒化的可交换性
我们在马尔科夫链的成块性中推导了结论:基于成块性划分的粗粒化方法满足粗粒化和动力学这两个算子的可交换性。
一致性Consistency
我们在马尔科夫链的成块性中推导了结论:基于成块性划分的粗粒化方法构建的宏观网络与微观网络是一致的。
因果态
此部分为对因果态的简略介绍,因果态相关详情请参照计算力学词条。
定义
在计算力学中,状态被理解为智能体接收到的全部历史信息,因此系统从过去到未来的变化被描述为一个离散的平稳随机过程。状态空间为双(向)无限序列的集合 [math]\displaystyle{ \overleftrightarrow{S}=\{\cdots, s_{-2}, s_{-1}, s_0, s_1, s_2, \cdots\} }[/math],即无限长的时间序列。基于当前时刻 [math]\displaystyle{ t }[/math],我们可以将 [math]\displaystyle{ \overleftrightarrow{S} }[/math] 分为单侧前向序列 [math]\displaystyle{ \overleftarrow{s_t}=\{\cdots, s_{t-3}, s_{t-2}, s_{t-1}\} }[/math] 和单侧后向序列 [math]\displaystyle{ \overrightarrow{s_t}=\{s_t, s_{t+1}, s_{t+2}, s_{t+3},\cdots\} }[/math] 两部分。所有可能的未来序列 [math]\displaystyle{ \overrightarrow{s_t} }[/math] 形成的集合记作 [math]\displaystyle{ \overrightarrow{S} }[/math],所有可能的历史序列 [math]\displaystyle{ \overleftarrow{s_t} }[/math] 形成的集合记作 [math]\displaystyle{ \overleftarrow{S} }[/math]。
因果态是一种对系统状态的粗粒化描述,并不预设系统具有马尔科夫性。为了把因果态和马尔科夫链的粗粒化理论进行比较,可以定义马尔科夫链的因果态:假设系统是一个[math]\displaystyle{ K }[/math]阶的马尔科夫链(系统在[math]\displaystyle{ t }[/math]时刻的状态分布由前 K 个时刻的状态决定),则可将 [math]\displaystyle{ \overleftarrow{S} }[/math] 重新定义为 [math]\displaystyle{ S^K }[/math]。
因果态是最优的划分方法得到的宏观态,具有最强的预测能力和最简洁的形式。形式化定义如下:
对于任意时刻 [math]\displaystyle{ t }[/math] 和 [math]\displaystyle{ t^{'} }[/math],若给定过去状态 [math]\displaystyle{ \overleftarrow{s_t} }[/math] 和 [math]\displaystyle{ \overleftarrow{s_{t^{'}}} }[/math] 时,未来状态 [math]\displaystyle{ \overrightarrow{s} }[/math] 的分布完全相同,则称 [math]\displaystyle{ \overleftarrow{s_t} }[/math] 与 [math]\displaystyle{ \overleftarrow{s_{t^{'}}} }[/math] 等价,也叫预测等价性(predictive equivalence),记为:
-
[math]\displaystyle{ t \sim t^{'} \equiv \overleftarrow{s_{t^{'}}} \sim \overleftarrow{s_t} \triangleq P(\overrightarrow{s}|\overleftarrow{s_t} ) = P(\overrightarrow{s} |\overleftarrow{s_{t^{'}}} ) }[/math]
(4)
因果态可定义为映射 [math]\displaystyle{ \epsilon{:}\overleftarrow{S}\mapsto2^{\overleftarrow{S}} }[/math],满足:[math]\displaystyle{ \epsilon(\stackrel{\leftarrow}{s})\equiv\{\stackrel{\leftarrow}{s}^{\prime}|\mathrm{P}(\overrightarrow{S}=\overrightarrow{s}\mid\stackrel{\leftarrow}{S}=\stackrel{\leftarrow}{s})=\mathrm{P}(\overrightarrow{S}=\overrightarrow{s}\mid\stackrel{\leftarrow}{S}=\stackrel{\leftarrow}{s}^{\prime}),\mathrm{for~all~}\overrightarrow{s}\in\overrightarrow{S},\stackrel{\leftarrow}{s}^{\prime}\in\stackrel{\leftarrow}{S}\} }[/math]
所有的因果态的集合由预测等价关系"[math]\sim[/math]"诱导的商集定义:[math]\mathcal{S}=\stackrel{\leftarrow}{S}/\sim[/math]
如上图所示[9],[math]\displaystyle{ t_9 }[/math] 和 [math]\displaystyle{ t_{13} }[/math] 时刻对未来状态的预测分布相同,处于同一因果态;[math]\displaystyle{ t_{11} }[/math]时刻预测分布不同,处于不同的因果态。
因果态的主要性质
为什么我们要关注因果态这样一种特定的宏观态?下面是因果态的两个主要性质,它们体现了因果态为何是一种理想的宏观态:
微观最大预测性
微观最大预测性是指,在将微观状态粗粒化为宏观状态后,我们只用宏观状态就能预测后续的微观状态。
具体来说,只需要知道宏观状态 [math]\displaystyle{ A^{(t)} }[/math],就可以最大化 [math]\displaystyle{ s^{(t+1)} }[/math] 的预测效果。
对于宏观态 [math]\displaystyle{ \mathcal{\forall R} }[/math] 和正整数 [math]\displaystyle{ L }[/math],都有 [math]\displaystyle{ H[\stackrel{\rightarrow}{S}^L|\mathcal{R}]\geq H[\stackrel{\rightarrow}{S}^L|\mathcal{S}] }[/math],[math]\displaystyle{ \stackrel{\rightarrow}{S}^L }[/math] 为长度为 [math]\displaystyle{ L }[/math] 的未来序列集合,[math]\displaystyle{ \mathcal{S} }[/math] 为因果态划分,所有可能的历史序列记作 [math]\displaystyle{ \overleftarrow{S} }[/math]。[math]\displaystyle{ H[\stackrel{\rightarrow}{S}^L|\mathcal{R}] }[/math] 和 [math]\displaystyle{ H[\stackrel{\rightarrow}{S}^L|\mathcal{S}] }[/math] 是 [math]\displaystyle{ \stackrel{\rightarrow}{S}^L }[/math] 的条件熵。可以理解为因果态集合 [math]\displaystyle{ \mathcal{S} }[/math] 是在所有的划分宏观态集合 [math]\displaystyle{ \mathcal{R} }[/math]中,预测能力最强的一种宏观态,证明过程请参照计算力学词条。
最小随机性
设[math]\displaystyle{ \hat{\mathcal{R}} }[/math]和[math]\displaystyle{ \hat{\mathcal{R}}^{\prime} }[/math]为满足性质1中不等式等号成立的宏观态,则对于所有的[math]\displaystyle{ \hat{\mathcal{R}} }[/math]和[math]\displaystyle{ \hat{\mathcal{R}}^{\prime} }[/math],都有[math]\displaystyle{ H[\hat{\mathcal{R}}^{\prime}|\hat{\mathcal{R}}]\geq H[\mathcal{S}^{\prime}|\mathcal{S}] }[/math],其中[math]\displaystyle{ \hat{\mathcal{R}}^{\prime} }[/math]和[math]\displaystyle{ \mathcal{S}^{\prime} }[/math]分别是该过程的下一时刻状态和下一时刻因果态。
该性质可以被理解为在相同预测能力的前提下,因果态集合[math]\displaystyle{ \mathcal{S} }[/math]在所有的宏观态[math]\displaystyle{ \mathcal{R} }[/math]的集合中,随机性最小。
用互信息的角度去理解的话,上式等价于[math]\displaystyle{ I(\mathcal{S}^{\prime};\mathcal{S})\geq I(\hat{\mathcal{R}}^{\prime};\hat{\mathcal{R}}) }[/math],可以理解为因果态为所有的与它自己的下一时刻的互信息中的最大的一个宏观态。
尺度闭合性
尺度闭合性讨论的是:粗粒化后的宏观动力学,能否在不反复回到底层微观细节的情况下,自洽地演化、预测和解释。换句话说,我们关心的是:在给定粗粒化 [math]\displaystyle{ Z_t=f(X_t) }[/math] 后,宏观尺度是否已经“足够独立”,可以单独承担预测、干预和机制描述的任务[10]。关于尺度闭合性的详细讨论请见不同尺度之间的闭合性。
跨尺度因果态和υ-机器
前文已经介绍过因果态和 ϵ-机器。在跨尺度问题里,我们还需要一个专门处理“微观历史预测宏观未来”的对象。
设微观过程为 [math]\displaystyle{ X_t }[/math],粗粒化后的宏观过程为 [math]\displaystyle{ Z_t=f(X_t) }[/math]。宏观的 ϵ-机器是用宏观历史 [math]\displaystyle{ \overleftarrow{Z_t} }[/math] 去预测宏观未来 [math]\displaystyle{ \overrightarrow{Z_t} }[/math];而 Rosas 等人提出的 υ-机器,则是用微观历史 [math]\displaystyle{ \overleftarrow{X_t} }[/math] 去预测宏观未来 [math]\displaystyle{ \overrightarrow{Z_t} }[/math]。它在微观历史上定义的等价关系为:
-
[math]\displaystyle{ \overleftarrow{x_t} \equiv \overleftarrow{x_{t'}} \ \ \text{iff}\ \ p(\overrightarrow{z_t}|\overleftarrow{x_t}) = p(\overrightarrow{z_{t'}}|\overleftarrow{x_{t'}}) }[/math]
(5)
也就是说,若两段微观历史对宏观未来给出的预测分布完全相同,它们就属于同一个跨尺度因果态。把这些等价类记作 [math]\displaystyle{ U_t=υ(\overleftarrow{X_t}) }[/math]。直观地看,υ-机器保留的是“对宏观未来真正有用的那部分微观信息”,因此可以把它理解为一种面向跨尺度预测的最优压缩。
在给定粗粒化 [math]\displaystyle{ Z_t=f(X_t) }[/math] 后,可以同时出现三种相关状态表征:
- 微观 ϵ-机器的因果态 [math]\displaystyle{ E_t }[/math],保留了对微观未来最完整的预测信息;
- 宏观 ϵ-机器的因果态 [math]\displaystyle{ E'_t }[/math],只保留宏观历史中的信息;
- 跨尺度 υ-机器的因果态 [math]\displaystyle{ U_t }[/math],保留了微观历史中对宏观未来仍然有用的信息。
三种闭合
因果闭合 Causal Closure
若宏观过程 [math]\displaystyle{ Z_t }[/math] 的 ϵ-机器因果态 [math]\displaystyle{ E'_t }[/math] 与跨尺度 υ-机器的因果态 [math]\displaystyle{ U_t }[/math] 之间存在一一对应关系,那么称该粗粒化满足因果闭合。
它的物理意义是:微观层面上那些会影响宏观未来的因果差异,已经被宏观历史完整表达出来了。因此,在宏观层面实施干预,与在微观层面做出对应干预后再投影到宏观层,二者在宏观结果上是等价的。若因果闭合成立,我们就不必为了分析宏观干预效果而不断回到底层微观细节。
信息闭合 Information Closure
信息闭合强调的不是“干预”,而是“预测”。它要求宏观历史与微观历史对宏观未来提供的信息量相同,即
-
[math]\displaystyle{ I(\overleftarrow{Z_t};\overrightarrow{Z_t}) = I(\overleftarrow{X_t};\overrightarrow{Z_t}) }[/math]
(6)
这意味着:若我们已经知道宏观历史 [math]\displaystyle{ \overleftarrow{Z_t} }[/math],再额外补充微观历史 [math]\displaystyle{ \overleftarrow{X_t} }[/math],也不会提升对宏观未来的预测能力。它的物理意义是,宏观尺度在信息上已经“自给自足”,微观细节对宏观预测来说是冗余的。
对给定的粗粒化函数 [math]\displaystyle{ f }[/math] 而言,因果闭合和信息闭合是等价的[10]。前者从干预与因果的角度表达同一件事,后者从预测与信息的角度表达同一件事。
计算闭合 Computational Closure
计算闭合更关注“机制能否一起被粗粒化”。若存在一个对应于机制层的粗粒化函数 [math]\displaystyle{ f^* }[/math],使得微观 ϵ-机器的因果态 [math]\displaystyle{ E_t }[/math] 可以被粗粒化成宏观 ϵ-机器的因果态 [math]\displaystyle{ E'_t }[/math],即 [math]\displaystyle{ E'_t=f^*(E_t) }[/math],那么称该粗粒化满足计算闭合。
它的物理意义是:宏观动力学不只是状态层面上的简化,也可以看作微观计算机制的一种简化版。也就是说,先找微观机制再粗粒化,与先粗粒化再找宏观机制,在原则上是兼容的。
三者之间的关系可以概括为:对同一个粗粒化 [math]\displaystyle{ Z_t=f(X_t) }[/math],因果闭合 = 信息闭合,而它们又都会推出计算闭合;反过来则未必成立。因此,计算闭合是三者中相对更宽松的条件。
尺度闭合 与 成块性
成块性和尺度闭合都关心“粗粒化后是否仍然自洽”,但它们关注的角度不同。成块性是马尔科夫链内部的严格结构条件,强调宏观过程仍然是一个真正的马尔科夫链;尺度闭合则更强调跨尺度的预测、干预和机制是否能够独立成立。
Geiger 和 Temmel 的工作[11],以及 Rosas 等人的工作[10],给出了两者之间的联系,如下图所示。在稳态条件下,强成块通常会对应更强的闭合性质:粗略地说,若一个马尔科夫链对给定粗粒化是强成块的,那么宏观层往往也会满足因果/信息闭合;而计算闭合则更宽松,未必要求达到成块性那么严格的结构条件。
因此,可以把二者的关系理解为:成块性更像“严格的单尺度动力学闭合”,尺度闭合性则更像“跨尺度上的自洽与独立”。前者要求更强,但结论也更干净;后者覆盖的情形更广,更适合讨论涌现、跨尺度预测和机制简化等问题。关于该概念更详细丰富的讨论请见不同尺度之间的闭合性。
因果涌现:最大化有效信息
因果涌现(causal emergence)是指动力系统中的一类特殊涌现现象,即系统在宏观尺度展现出更强的因果特性。特别地,对于一类马尔科夫动力系统来说,在对其状态空间进行适当粗粒化以后,形成的宏观动力学会展现出比微观更强的因果特性,也就是更大的有效信息,那么我们称该系统发生了因果涌现[12][13]。
定义
在马尔科夫链中,任意时刻的状态变量[math]X_t[/math]都可以看作是原因,而下一时刻的状态变量[math]X_{t+1}[/math]就可以看作是结果,这样马尔科夫链的状态转移矩阵就是它的因果机制。
有效信息(Effective Information,简称EI)是因果涌现 Causal Emergence理论中的一个核心概念,它可以用来衡量一个马尔科夫动力学的因果效应的强度。这里,因果效应是指把动力学看做一个黑箱,那么不同的输入分布就会导致不同的输出分布,二者之间联系的紧密程度就是因果效应:
[math]\displaystyle{ EI = I(X_t,X_{t+1}|do(X_t\sim U(\mathcal{X})))=\frac{1}{N}\sum_{i=1}^N D_{KL}(P_i||\bar{P}) }[/math]
其中 [math]\displaystyle{ \bar{P} }[/math] 是转移矩阵各行的平均转移向量。这个表达式说明,EI 本质上度量的是:不同初始状态所对应的转移分布,与“平均转移分布”之间到底有多可区分。若各行彼此差异很大,动力学的因果效应就更强;若各行非常相似,EI 就会较小。
有效信息通常可以分解为两个部分:确定性(Determinism)和简并性(Degeneracy): [math]\displaystyle{ EI = \frac{1}{N}\cdot \sum_{i=1}^N\left(P_i\cdot \log P_i - P_i\cdot\log \bar{P}\right) =\underbrace{-\langle H(P_i)\rangle}_{确定性项}+\underbrace{H(\bar{P})}_{非简并性项} }[/math]
确定性是指,在动力学作用下,我们根据系统前一时刻的状态能在多大程度上预测它下一时刻的状态;简并性是指:如果知道了系统当前状态,能否反推系统上一时刻状态的能力。如果可以较好地推断,则这个马尔科夫矩阵的简并性较低,也就是非简并;如果很难推断,则马尔科夫矩阵就是简并的,也即退化的。如果确定性越大,或简并性越小,则系统的有效信息就越大。其他相关详情请参照有效信息词条。
下表展示的是三个不同的转移概率矩阵,以及它们的EI数值:
| [math]\displaystyle{ P_1=\begin{pmatrix} &0 &0 &1 &0& \\ &1 &0 &0 &0& \\ &0 &0 &0 &1& \\ &0 &1 &0 &0& \\ \end{pmatrix} }[/math], |
[math]\displaystyle{ P_2=\begin{pmatrix} &1/3 &1/3 &1/3 &0& \\ &1/3 &1/3 &1/3 &0& \\ &0 &0 &0 &1& \\ &0 &0 &0 &1& \\ \end{pmatrix} }[/math], |
[math]\displaystyle{ P_3=\begin{pmatrix} &1/4 &1/4 &1/4 &1/4& \\ &1/4 &1/4 &1/4 &1/4& \\ &1/4 &1/4 &1/4 &1/4& \\ &1/4 &1/4 &1/4 &1/4& \\ \end{pmatrix} }[/math]. |
| [math]EI(P_1)=2[/math] bits | [math]EI(P_2)=1[/math] bits | [math]EI(P_3)=0[/math] bits |
上面所列 [math]\displaystyle{ P_1, P_2, P_3 }[/math] 的EI各为:2比特、1比特和0比特。由此可见,如果 [math]\displaystyle{ P_1, P_2, P_3 }[/math] 中出现更多的独热(one-hot)向量,则EI值就会更大。也就是说,如果在状态转移的过程中,从某一时刻到下一时刻的跳转越确定,则EI值就会倾向于越高。
最大化有效信息的划分
开头提到,对马尔科夫链做粗粒化的一个动机,就是想抹除一些微观动力学上的噪音,从而得到在宏观上更具规律性和因果性的动力学。所以,我们可以利用 EI 这一马尔科夫链的因果效应度量,来衡量聚类后宏观动力学的因果强度。
但是,EI 的大小和状态空间大小有关,这一性质在比较不同尺度的马尔科夫链时很不方便。我们需要一个尽可能不受尺度效应影响的因果效应度量,因此需要对有效信息 EI 做归一化处理,得到一个和系统尺寸无关的量化指标。根据Erik Hoel和Tononi等人的工作,应使用均匀分布即最大熵分布下的熵值 [math]\displaystyle{ \log N }[/math] 作为分母对 EI 进行归一化,这里的[math]N[/math]为状态空间[math]\mathcal{X}[/math]中的状态数[14]。那么归一化后的 EI 为:
[math]\displaystyle{ Eff=\frac{EI}{\log N} }[/math]
进一步定义归一化指标也称为有效性(effectiveness)。
有了有效信息这一度量指标后,我们便可以讨论马尔科夫链上的因果涌现。对于一个马尔科夫链,观察者可以建立多尺度视角来区分微观和宏观。首先,原始的马尔科夫概率转移矩阵 [math]\displaystyle{ P_N }[/math] 定义了微观动力学;其次,经过对微观态的粗粒化映射(coarse-graining)后,观察者可以得到对应的宏观状态(即分组),这些宏观状态彼此之间的概率转移可以用宏观的马尔科夫概率转移矩阵 [math]\displaystyle{ P_M }[/math] 来刻画。对两个动力学分别计算 EI 后,如果宏观的 EI 大于微观 EI,我们就说该系统发生了因果涌现。
可以定义一个新的指标直接度量因果涌现的程度:
[math]\displaystyle{ ce = Eff(P_M) - Eff(P_N) = \frac{EI(P_M)}{\log M} - \frac{EI(P_N)}{\log N} }[/math]
这里[math]P[/math]为微观状态的马尔科夫概率转移矩阵,维度为:[math]N\times N[/math],这里N为微观的状态数;而[math]P'[/math]为对[math]P[/math]做粗粒化操作之后得到的宏观态的马尔科夫概率转移矩阵,维度为[math]M\times M[/math],其中[math]M<N[/math]为宏观状态数。如果计算得出的[math]\displaystyle{ ce \gt 0 }[/math],则称该系统发生了因果涌现,否则没有发生。
下面,我们展示一个具体的因果涌现的例子:
|
[math]\displaystyle{ P_m=\begin{pmatrix} &1/3 &1/3 &1/3 &0& \\ &1/3 &1/3 &1/3 &0& \\ &1/3 &1/3 &1/3 &0& \\ &0 &0 &0 &1& \\ \end{pmatrix} }[/math], |
[math]\displaystyle{ P_M=\begin{pmatrix} &1 &0 & \\ &0 &1 & \\ \end{pmatrix} }[/math]. |
| [math]\begin{aligned}&Det(P_m)=0.81\ bits,\\&Deg(P_m)=0\ bits,\\&EI(P_m)=0.81\ bits\end{aligned}[/math] | [math]\begin{aligned}&Det(P_M)=1\ bits,\\&Deg(P_M)=0\ bits,\\&EI(P_M)=1\ bits\end{aligned}[/math] |
在这个例子中,微观态的转移矩阵是一个 4×4 的矩阵,其中前三个状态彼此以 1/3 的概率相互转移。这导致该转移矩阵的确定性较小,因此 EI 也不高,仅为 0.81。对该矩阵进行粗粒化时,我们把前三个状态合并为一个状态 a,把最后一个状态视为另一个宏观态 b。这样,原本三个微观态之间的转移就变成了宏观态 a 的内部转移,因此转移概率矩阵变成了[math]P_M[/math],其 EI 为 1。在这个例子中,可以计算其因果涌现度量为:
[math]\displaystyle{ ce=Eff(P_M)-Eff(P_m)=1-0.405=0.595 }[/math]
当[math]\displaystyle{ ce }[/math]越大,说明宏观动力学的因果效应更强,也说明宏观动力学能够更好地表示系统的因果涌现。
最大化动力学可逆性 Dynamical Reversibility
基于可逆性的因果涌现理论是一种量化因果涌现的新框架,提出了近似动力学可逆性([math]\displaystyle{ \Gamma_{\alpha} }[/math])的概念,用于量化马尔科夫动力学接近可逆动力学的程度[15]。该理论的核心思想是:因果涌现其实等价于动力学可逆性的涌现。该指标与有效信息高度相关,因此也可以用来刻画动力学的因果效应强度。
直观地说,如果把一个马尔科夫动力学看作通信信道,那么每一状态下的概率转移就可以看作一条信息通路(information pathway)。于是,系统发生因果涌现就等价于系统中存在冗余的信息通路,也就是某些状态转移彼此相似或线性相关。消除这些冗余通路的最好办法,就是利用 SVD 找到等于零或接近于零的奇异值及其对应的奇异向量,这实际上正是最大化有效信息的精髓所在。事实上,我们可以证明,最大化宏观动力学有效信息的粗粒化方案,近似等价于将系统动力学投影到较大奇异值对应的奇异向量方向上的方案。而系统所能达到的最大信息传输效率提升(归一化的近似动力学可逆性),就可以定义为因果涌现的强度。
所以,给定一个系统的马尔科夫转移矩阵,通过对它进行奇异值分解,我们把奇异值 [math]\displaystyle{ \sigma_i }[/math] 的 [math]\displaystyle{ \alpha }[/math] 次方之和定义为马尔科夫动力学的近似可逆性度量([math]\displaystyle{ \Gamma_{\alpha}\equiv \sum_{i=1}^N\sigma_i^{\alpha} }[/math]),用以刻画最终指标更偏向衡量确定性还是简并性。通常取 [math]\displaystyle{ \alpha=1 }[/math],表示平权考虑确定性和简并性对最终可逆性度量的影响。
基于可逆性的因果涌现理论与其他因果涌现理论最大的区别在于:它不需要指定粗粒化策略,仅从马尔科夫转移矩阵的奇异值谱就能判断因果涌现是否发生,并直接定义清晰因果涌现(clear causal emergence)和模糊因果涌现(vague causal emergence)的概念。这在一定程度上规避了因果涌现结果依赖粗粒化策略、以及最大化有效信息难以优化求解的问题。其次,这套理论指出,一个动力系统的因果涌现特性仅由系统线性化算符的奇异值谱决定,因而是一套更能反映系统动力学特性本身的因果涌现理论。相关详情请参照基于可逆性的因果涌现理论词条。
在实际使用中,我们通常直接把矩阵 [math]\displaystyle{ P }[/math] 的 [math]\displaystyle{ \alpha }[/math] 阶近似动力学可逆性定义为:
[math]\displaystyle{ \begin{aligned} \Gamma_{\alpha}=\sum_{i=1}^{N}\sigma_{i}^{\alpha}\end{aligned} }[/math]
其中 [math]\displaystyle{ \sigma_i }[/math] 是 [math]\displaystyle{ P }[/math] 的奇异值。对本文来说,保留这个直观定义就够了:[math]\displaystyle{ \Gamma_{\alpha} }[/math] 越大,说明动力学越接近可逆、冗余通路越少。 更进一步的范数性质和技术证明,请详见基于可逆性的因果涌现理论。
张江等人[15]提供了一种基于奇异值分解的粗粒化方法,以获得宏观层面的简化 TPM。其基本思想是将 [math]\displaystyle{ P }[/math] 中的行向量 [math]\displaystyle{ P_{i},\forall i \in [1,N] }[/math] 投影到 [math]\displaystyle{ P }[/math] 的几个较大奇异值对应的奇异向量所张成的子空间上,从而保留 [math]\displaystyle{ P }[/math] 的主要信息,并尽量保持 [math]\displaystyle{ \Gamma }[/math] 不变。
最大化动力学可逆性的合理性,来源于这套 SVD 方案定义的因果涌现与“最大化有效信息”的因果涌现定义之间的密切关系。在Erik Hoel 因果涌现理论的框架内,给定马尔科夫动力学系统的因果涌现大小依赖于粗粒化策略的选择,而最优粗粒化策略可以通过最大化宏观动力学的 EI 来寻找。
我们可以证明,要获得最大化有效信息的粗粒化策略,近似等价于采用向最大奇异值对应的奇异向量方向投影的策略。严格推导可见基于有效信息的因果涌现理论。由于对离散马尔科夫链来说,粗粒化策略往往是由比较严格的 0 或 1 构成的向量,因此不能简单地按奇异向量直接投影。但是,如果粗粒化策略尽可能与最大的几个奇异向量平行,就可以让粗粒化后动力学的 EI 尽可能更大。因此,最大化 EI 的必要条件近似可以理解为:向最大奇异值对应的奇异向量空间做投影。在实际应用中,粗粒化策略 [math]\displaystyle{ \phi }[/math] 的约束(例如宏观动力学 TPM 的分组和归一化)会阻止 [math]\displaystyle{ \phi_j }[/math] 与奇异向量完美对齐。因此,基于 SVD 的粗粒化策略只是最大化 EI 的近似必要条件。
动力学一致性
好的粗粒化方案,应当尽可能保证原始网络(或转移矩阵)和粗粒化后网络(或转移矩阵)彼此相似。Erik Hoel 和 Klein [16] 提出使用动力学一致性来衡量状态轨迹在原始网络和粗粒化后网络上的一致程度。详情请见复杂网络中的因果涌现词条。
以下关于动力学的一致性检验的描述节选自复杂网络中的因果涌现:
定义微观网络 [math]\displaystyle{ G }[/math] 与宏观网络 [math]\displaystyle{ G_M }[/math],分别在两个网络上进行随机游走。在某个时间 [math]\displaystyle{ t }[/math],[math]\displaystyle{ G }[/math] 上的预期分布为 [math]\displaystyle{ P_m(t) }[/math],而 [math]\displaystyle{ G_M }[/math] 上的预期分布为 [math]\displaystyle{ P_M(t) }[/math]。
将 [math]\displaystyle{ P_m(t) }[/math] 分布叠加到宏观网络 [math]\displaystyle{ G_M }[/math] 的相同节点上,得到 [math]\displaystyle{ P_{M|m}(t) }[/math] 分布。通过计算 [math]\displaystyle{ P_M(t) }[/math] 和 [math]\displaystyle{ P_{M|m}(t) }[/math] 之间的 KL 散度来衡量其不一致性(inconsistency)。如果结果为零,则表示动力学一致。公式如下:
[math]\displaystyle{ inconsistency=\sum_{t=0}^T D_{KL}[P_M(t)||P_{M|m}(t)] }[/math]
也就是说,不一致性表示宏观和微观网络节点在不同时刻概率分布的KL散度之和。
动力学一致性在某种程度上反映了动力学与粗粒化算子的可交换性,但比可交换性更灵活、更宽松,可以计算“不可交换但近似交换”的程度。
稳态分布下的随机动力学划分
随机动力学为我们提供了另一个视角来讨论马尔科夫链的 状态分布。
当我们观察马尔科夫链的一个具体样本时,其在每一步都处于某个确定状态。而所谓状态分布,是指给定初始分布 [math]\displaystyle{ \mu }[/math] 后,系统在 [math]\displaystyle{ t }[/math] 时刻落在各个状态的概率。若存在分布 [math]\displaystyle{ \pi }[/math] 满足 [math]\displaystyle{ \pi P = \pi }[/math],则称其为稳态分布。它表示系统在到达稳态后,再继续演化,整体分布会保持不变。
这样,我们就能把马尔科夫链放进随机动力系统(Random Dynamical System)的框架中来理解。简单来说,随机动力系统由两部分组成:[math]\displaystyle{ \theta }[/math] 表示噪声序列随时间的推进,[math]\displaystyle{ \phi }[/math] 表示状态在当前噪声作用下的演化规则。对马尔科夫链而言,每一步按 TPM 进行随机选择,就对应着由噪声驱动的演化过程 [math]\displaystyle{ (\theta,\phi) }[/math]。
在这个框架里,不变性(Invariance)是理解稳态分布的关键。稳态分布描述的是分布层面的不变,而随机吸引子描述的则是状态集合层面的不变:一个随机集合 [math]\displaystyle{ A(\omega) }[/math] 若要成为随机吸引子,通常需要满足三点:
- 紧致性 (Compactness):对有限状态马尔科夫链,这一点天然满足;
- 不变性 (Invariance):系统从 [math]\displaystyle{ A(\omega) }[/math] 出发演化后,仍落在下一时刻的吸引子中;
- 吸引性 (Pullback Attraction):从足够久远的过去出发,系统最终会被拉回到该集合附近。
因此,随机吸引子刻画的是系统长期反复停留、且不会轻易逃离的结构。也正是在这个意义上,可约、周期、滑过态这些概念可以被理解为稳态下的自然分组规律。
基础划分
从长期行为看,马尔科夫链中的状态可以先分成两类:滑过态(Transient)和常返态(Recurrent)。滑过态只是在过渡阶段被访问,离开后最终可能不再返回;常返态则会被反复访问。常返态进一步组成闭合常返类:同一类中的状态彼此可达,而且一旦进入该类就不会再离开。若一个常返类的返回步数存在公因子 [math]\displaystyle{ d\gt 1 }[/math],它还可以继续分解为 [math]\displaystyle{ d }[/math] 个周期子类,系统按固定顺序在这些子类之间循环。
随机吸引子和对应分组
在稳态视角下,马尔科夫链常见有三种情形:
- 不可约、非周期:整个状态空间形成唯一的平凡吸引子 [math]\displaystyle{ A(\omega)=X }[/math]。这说明系统的长期活动遍及整个空间,因此随机动力学本身并不给出更细的自然分组。
- 可约:设 [math]\displaystyle{ S=T \cup R_1 \cup \cdots \cup R_m }[/math],其中 [math]\displaystyle{ T }[/math] 是滑过态集,[math]\displaystyle{ R_i }[/math] 是闭合常返类。此时每个 [math]\displaystyle{ R_i }[/math] 都对应一个确定性的吸引子 [math]\displaystyle{ A_i=R_i }[/math]。因此,自然分组就是把不同常返类分开;而滑过态属于过渡区,应与这些吸引子分开看待。
- 不可约、周期为 [math]\displaystyle{ d\gt 1 }[/math]:状态空间可分解为 [math]\displaystyle{ X=C_0 \cup C_1 \cup \cdots \cup C_{d-1} }[/math],并按 [math]\displaystyle{ C_0 \to C_1 \to \cdots \to C_{d-1} \to C_0 }[/math] 循环。此时吸引子不再是固定集合,而是随时间在各周期子类之间切换的非平凡随机吸引子;相应的自然分组就是这些周期子类。
所以,随机动力学的意义不只是重新表述马尔科夫链,而是把长期命运相同的状态显式区分出来:常返类、周期类和滑过态之间的边界,本身就提供了一种值得优先尊重的粗粒化基准。详细的数学公式和证明可参考马尔科夫链中的随机动力学。
不同粗粒化方法之间的异同
对上述的概念进行一个总结:
- 粗粒化与时间演化算子的可交换性
- 本质:要求 / 指标(既是理想要求,又可度量偏差)
- 成块性
- 本质:一种结构性性质
- 作用:给出在“完全可交换、完全宏观马尔科夫”的极限下,粗粒化应满足的严格条件;也可以当作一种“硬约束目标”。
- 因果态
- 本质:结构 + 性质,“单尺度下实现最大预测性的最优表征”的理论工具。
- 尺度闭合性(及因果/信息/计算闭合)
- 本质:要求 / 性质,是从“多尺度因果结构”角度,对一个粗粒化是否“自洽”的刻画。
- 因果涌现:最大化有效信息
- 本质:优化目标 + 评价指标(EI、可逆性)
- 稳态分布下的随机动力学划分
- 本质:一种自然划分方式 + 结构性质,像是从随机动力系统视角导出的一类“基准划分”。
所以可以看到,
- 因果涌现相关的有效信息可逆性是纯粹的“优化目标 + 指标”;
- 而可交换性和尺度闭合性更像是“理想要求 / 准则”;
- 成块性、因果态和稳态分布下的随机动力学划分是“结构性性质 / 自然划分”的理论工具。
成块性 v.s. 有效信息/动力学可逆性
当一个马尔科夫矩阵满足成块性时,同一组的行会受到约束而相似,所以这种成块的矩阵的EI或动力学可逆性也会很高。这就是成块性和因果涌现之间的物理联系。
但是,这两个概念并不完全等价。成块性的目标是想在保证宏观和微观动力学的一致性的情况下去对状态做分组,而因果涌现的主要目标是想最大化粗粒化之后宏观动力学的因果强度。
在普通的成块性例子里,粗粒化之后往往能得到一个 EI 或可逆性都很高的宏观动力学。但是,当我们考虑一些极端例子时,如下图所示,我们可以强行让每一组里的状态转移概率尽可能不一样,但加总后又恰好一样,从而仍满足成块性的划分。按照这种成块划分去做粗粒化,并不一定会得到高的 EI 或可逆性。相反,用另一个不成块的分组来做粗粒化,得到的宏观动力学 EI 和可逆性反而可能更高。这一现象说明:
- 基于成块性的最优划分不一定等于基于可逆性的最优划分。
- 成块性的分组数量是基于马尔科夫秩的,而可逆性的分组数量是对奇异值谱的截断位置。
划分方法
当我们想把 [math]\displaystyle{ N }[/math] 个状态的马尔科夫链划分成 [math]\displaystyle{ M }[/math] 组时,待选划分的数量可以由第二类斯特林数(Stirling numbers of the second kind)表示:[math]\displaystyle{ S(N, M) = \frac{1}{M!} \sum_{k=0}^{M} (-1)^{M-k} \binom{M}{k} k^N }[/math]
待选划分的数量极大,比如[math]\displaystyle{ S(20,10)=1.107e32 }[/math],几乎不可能通过遍历所有划分来寻找最优解,所以我们需要使用一些方法来有效寻找近似最优解。
逐层贪婪算法
在这个问题中,我们可以采取自底向上合并(Bottom-Up)的层次聚类(Hierarchical Clustering)方法,即从最细粒度(每个状态单独成组,一共 [math]\displaystyle{ N }[/math] 组)开始,每一步合并两个最相似的组,直到达到目标分组数 [math]\displaystyle{ M }[/math]。
具体步骤如下:
- 初始化:每个状态单独成组,[math]\displaystyle{ A_0={{1},{2},…,{N}} }[/math]
- 在每一层 [math]\displaystyle{ k }[/math] 内:
- 遍历所有组对 [math]\displaystyle{ G_p }[/math] 和 [math]\displaystyle{ G_q }[/math]:
- 合并为新组 [math]\displaystyle{ G_{new} = G_p \cup G_q }[/math]
- 获得新划分 [math]\displaystyle{ =A_k \setminus \{ G_p , G_q \} \cup G_{new} }[/math]
- 根据此划分获得新动力学 [math]\displaystyle{ P' }[/math]
- 计算 [math]\displaystyle{ P' }[/math] 对应的划分指标
- 更新划分 [math]\displaystyle{ A_{k} }[/math] 为该层最优的划分
- 遍历所有组对 [math]\displaystyle{ G_p }[/math] 和 [math]\displaystyle{ G_q }[/math]:
- 当剩余分组数 [math]\displaystyle{ |A_k| = M }[/math] 时停止
该算法的复杂度为 [math]\displaystyle{ O \left (\sum_{k=M}^N k^2 \right ) }[/math],介乎[math]\displaystyle{ O \left ( N^2 \right ) }[/math]和[math]\displaystyle{ O \left ( N^3 \right ) }[/math]之间。
该算法的缺点在于其容易陷入局部最优。一旦进入了某一分支,就无法跳出。为了找到更好的解,我们可以在其基础上使用遗传算法等方法帮助跳出局部最优。
谱分解
谱分解(Spectral Clustering)的思想,是利用矩阵的谱,也就是特征向量所展示的物理含义来进行聚类和划分。
最大化有效信息的谱分解方法
这类方法的核心思路是:先对转移矩阵做特征分解,用特征值和特征向量构造状态间的相似性,再在嵌入空间中聚类,最后据此构造宏观动力学。
输入:原始包含 [math]\displaystyle{ N }[/math] 个状态的马尔科夫链 [math]\displaystyle{ P }[/math] 和距离超参 [math]\displaystyle{ \epsilon }[/math];
- 对 [math]\displaystyle{ P }[/math] 进行矩阵的特征值分解,得到特征值集合 [math]\displaystyle{ \Lambda=\{\lambda_i\}^N_{i=1} }[/math] 与特征向量集合 [math]\displaystyle{ E=\{e_i\}^N_{i=1} }[/math];
- 构建新的有偏特征向量集合 [math]\displaystyle{ E’=\{\lambda_ie_i|\lambda_i≠0\}^N_{i=1} }[/math],该集合中的每个向量都被其对应的特征值加权,同时去除了零特征值及其对应的特征向量(新的状态数量为[math]\displaystyle{ N'=rank(P) }[/math])。直观地说,忽略特征值为 0 的特征向量是有意义的,因为它对应了动力学中的简并性,而非零特征值及其对应特征向量则包含了丰富的网络拓扑结构信息;
- 依据 [math]\displaystyle{ E' }[/math] 计算状态间的相似矩阵 [math]\displaystyle{ D_{N'×N'} }[/math]:
- 如果状态 [math]\displaystyle{ v_i }[/math] 和 [math]\displaystyle{ v_j }[/math] 分别在对方的马尔科夫毯中,则通过新的特征向量计算两个节点的 cosine 相似性,作为两者间的相似度 [math]\displaystyle{ d_{ij} }[/math] 和 [math]\displaystyle{ d_{ji} }[/math];
- 否则将两个节点间的相似度设为无穷大 [math]\displaystyle{ \infty }[/math](可以设个比较大的值,如10000);
- 基于相似度矩阵[math]\displaystyle{ D_{N'×N'} }[/math]和一个超参[math]\displaystyle{ \epsilon }[/math](需要线性搜索,可以选择EI最大的参数),使用OPTICS算法(是一种基于密度的划分算法,旨在识别数据集中不同密度的划分结构)进行划分,输出对应超参[math]\displaystyle{ \epsilon }[/math]下的划分方式。
该方案的时间复杂度为[math]\displaystyle{ O(N^3) }[/math]。
缺点:
- 对大规模动力学进行粗粒化时,对转移矩阵进行特征值分解的计算复杂度也较高
- 聚类算法所需的距离超参[math]\displaystyle{ \epsilon }[/math]需要线性搜索,需要加入人为的先验知识
寻找成块划分的谱分解方法
当马尔科夫矩阵存在块状结构,或者状态明显可以被划分为几类时,根据这样的划分,该矩阵就是成块的。对于简单的[math]\displaystyle{ P }[/math],如图6中的[math]\displaystyle{ \bar{P} }[/math]所示,我们能够很快找出它的成块划分[math]\displaystyle{ \Phi }[/math]。然而在实际应用中,我们经常遇到的矩阵并不完美。例如,成块矩阵的状态排序可能被打乱(如图(6)中的[math]\displaystyle{ P_1 }[/math]),或者矩阵中混入了如[math]\displaystyle{ P_2 }[/math]这样的噪声(如图6中的[math]\displaystyle{ P }[/math],[math]\displaystyle{ P = P_1 + P_2 }[/math],[math]\displaystyle{ P_1^TP_2 = 0 }[/math])。在这种情况下,我们通常面临的是像[math]\displaystyle{ P }[/math]这样的矩阵:既无法确定它是否成块,也无法决定它的划分,甚至不知道它的马尔科夫秩。
针对这一问题,Anru Zhang[4][4]提出了一种寻找最优划分的方法,其核心是利用稳态流矩阵(frequency matrix)[math]\displaystyle{ F = \mathrm{diag}(\pi) \cdot P }[/math] 的奇异值结构来恢复成块划分。 其中 [math]\displaystyle{ \pi }[/math] 是 [math]\displaystyle{ P }[/math] 的稳态分布,[math]\displaystyle{ F_{ij} = \pi_i P_{ij} }[/math] 可以理解为系统在稳态下从状态 [math]\displaystyle{ i }[/math] 流向状态 [math]\displaystyle{ j }[/math] 的长期概率流量。具体步骤如下:
- 获取一个 [math]\displaystyle{ n\times n }[/math] 维的马尔科夫矩阵 [math]\displaystyle{ P }[/math],或者马尔科夫链的频率采样,并由此得到频率矩阵 [math]\displaystyle{ F }[/math];
- 获取马尔科夫秩[math]\displaystyle{ r\lt n }[/math],或指定一个[math]\displaystyle{ r }[/math];
- 对 [math]\displaystyle{ F }[/math] 进行 SVD 分解,[math]\displaystyle{ F = U \Sigma V^T }[/math],其中 [math]\displaystyle{ U }[/math] 为左奇异向量,[math]\displaystyle{ V }[/math] 为右奇异向量,[math]\displaystyle{ \Sigma = diag(\sigma_{1},\sigma_{2},...,\sigma_{N}) }[/math] 是一个对角矩阵,包含所有有序奇异值;
- 通过下列公式得到最优划分 [math]\displaystyle{ \Omega_1, \Omega_2, ... , \Omega_r }[/math]
[math]\displaystyle{ \Omega_1, \Omega_2, ... , \Omega_r = argmin_{\Omega_1, \Omega_2, ... , \Omega_r} min_{v_1, v_2, ... , v_r} \sum_{s=1}^r \sum_{i \in \Omega_s} || V_{[i,:r]} - v_s ||_2^2 }[/math]
其中,[math]\displaystyle{ v_s }[/math]是第[math]\displaystyle{ s }[/math]类[math]\displaystyle{ \Omega_s }[/math]的特征向量。这个算法的核心思想是:在最优的划分中,[math]\displaystyle{ \Omega_s }[/math]中的状态[math]\displaystyle{ i }[/math]的右奇异向量会和[math]\displaystyle{ v_s }[/math]距离最小,也就是说,让每个微观态的右特征向量和它对应的宏观态的右特征向量尽可能接近。
这个算法看起来非常熟悉,实际上它与 K-Means 聚类算法非常相似。让[math]\displaystyle{ v_s }[/math]和组里的[math]\displaystyle{ V_{[i,:r]} }[/math]距离最小的方法,就是让[math]\displaystyle{ v_s }[/math]成为这些点的中心。回顾一下 K-Means 算法把 n 个点聚成 r 类的目标函数,其中第[math]\displaystyle{ i }[/math]个点被归到第[math]\displaystyle{ c^i }[/math]类,而[math]\displaystyle{ \mu_j }[/math]为第[math]\displaystyle{ j }[/math]类点的中心点:
[math]\displaystyle{ J(c^1, ... , c^n, \mu_1, ... , \mu_r) = \sum_{i=1}^n || x_i - \mu_{c^i} ||^2 }[/math]
我们看到这两个目标函数非常相似。因此,我们可以通过上述算法或 k-Means 聚类来获取最优的状态划分,进而判断马尔科夫矩阵的成块性。
为什么是对 [math]\displaystyle{ F }[/math] 做 SVD 而不是对 [math]\displaystyle{ P }[/math]? 论文证明了,当马尔科夫链关于划分 [math]\displaystyle{ \Omega_1, \ldots, \Omega_r }[/math] 是成块的时,[math]\displaystyle{ F }[/math] 存在分解 [math]\displaystyle{ F = F_1 + F_2 }[/math],其中 [math]\displaystyle{ F_1 }[/math] 是秩为 [math]\displaystyle{ r }[/math] 的成块部分,[math]\displaystyle{ F_2 }[/math] 是组内局部动力学部分,两者行空间正交([math]\displaystyle{ F_1 F_2^T = 0 }[/math])。[math]\displaystyle{ F_1 }[/math] 的右奇异向量 [math]\displaystyle{ V_{F_1} }[/math] 具有分段常数结构:同一组 [math]\displaystyle{ \Omega_k }[/math] 内的所有状态,其行向量 [math]\displaystyle{ (V_{F_1})_{[i,:]} }[/math] 完全相同,不同组之间则有明确间距。因此,K-Means 可以精确恢复分组。
从物理上看,[math]\displaystyle{ F }[/math] 编码的是稳态下的概率流量结构,而 [math]\displaystyle{ P }[/math] 编码的是条件转移分布。对 [math]\displaystyle{ F }[/math] 做 SVD 相当于在稳态概率流网络中寻找主要的流量通道结构——低频状态对应的流量通道自然被压低权重,不会干扰大尺度结构的识别。
当系统存在明显的近成块结构时,[math]\displaystyle{ F }[/math] 的前 [math]\displaystyle{ r }[/math] 个奇异值主要反映的是组间的大尺度概率流通道,而后续的奇异值反映的是组内的局部流量波动。如果这两部分之间存在明显的谱间隙(singular value gap),即 [math]\displaystyle{ \sigma_r(F_1) \gg |F_2| }[/math],那么 K-Means 聚类 [math]\displaystyle{ \hat{V}_F }[/math] 就能准确恢复成块划分。
这对应于一种特殊但常见的物理场景:系统各状态群之间的长期概率流量远弱于群内流量,形成类似“准吸引域”的结构,粒子长时间在群内游走,偶尔才跨越群边界。当 [math]\displaystyle{ P }[/math] 不是精确成块,而是近似成块(near-lumpable)时,该方法仍然可以工作,但需要满足一个关键条件:组间动力学 [math]\displaystyle{ F_1 }[/math] 的奇异值必须主导 [math]\displaystyle{ F }[/math] 的整体奇异值谱,即 [math]\displaystyle{ \sigma_r(F_1) \gg \|F_2\| }[/math]。
需要注意的是,成块性的数学定义本身并不要求准吸引域结构(群内流量强于群间流量)。成块性只要求同组状态到各组的转移概率总量相同,并不约束转移的方向强弱。论文给出了分组错误率的上界:
[math]\displaystyle{ \text{Misclassification rate} \leq C \frac{\pi_{\max} r \tau^* \log^2(n)/n + (r\|F_2\|^2) \wedge \|F_2\|_F^2}{\sigma_r^2(F_1)} }[/math]
分子中第一项是有限样本的统计误差,第二项是近似成块带来的结构偏差,分母是组间动力学的信号强度。因此,当系统虽然满足成块性、但组间转移概率反而很大时(即 [math]\displaystyle{ |F_2| \gtrsim \sigma_r(F_1) }[/math]),SVD 提取的前 [math]\displaystyle{ r }[/math] 个方向会反映组内的局部动力学模式而非组间的成块结构,此时该方法会给出错误的分组。
基于动力学可逆性的谱分解方法
张江等人关于动力学可逆性的文章[15]提供了另一种基于 SVD 的粗粒化方法。该工作的出发点与上面寻找成块划分的方法不同:它不以恢复某种预设的结构性划分为目标,而是把马尔科夫动力学看作一个通信信道,把每个状态下的概率转移看作一条信息通路(information pathway)。当系统的 [math]\displaystyle{ N }[/math] 条通路中存在线性相关的行向量时,这些通路就是冗余的,它们要么传递极少的信息(对应接近零的奇异值),要么可以被其他通路的线性组合表示。
通过 SVD 可以识别出 [math]\displaystyle{ r_\epsilon }[/math] 条“核心通路”,其余 [math]\displaystyle{ N - r_\epsilon }[/math] 条则是可以消除的冗余通路。粗粒化就是把状态按照它们在核心通路上的表现进行归组,让宏观动力学只保留这些高效通道。其基本思想是将 [math]\displaystyle{ P }[/math] 中的行向量 [math]\displaystyle{ P_{i},\forall i \in [1,N] }[/math] 投影到 [math]\displaystyle{ P }[/math] 的几个较大奇异值对应的奇异向量所张成的子空间上,从而保留 [math]\displaystyle{ P }[/math] 的主要信息,并尽量保持 [math]\displaystyle{ \Gamma }[/math] 不变。
与 EI 相比,[math]\displaystyle{ \Gamma_\alpha }[/math] 能捕捉到 EI 无法感知的信息:EI 基于 KL 散度,只能度量行向量之间的相似性;而 [math]\displaystyle{ \Gamma_\alpha }[/math] 基于线性代数,还能度量行向量之间的线性依赖性。两个行向量可以彼此很不像(KL 散度大),但仍然线性相关(一个是另一个的线性组合)。后一种情况下,EI 看不出冗余,但 [math]\displaystyle{ \Gamma_\alpha }[/math] 能通过秩亏反映出来。
算法具体步骤如下:
- 给定含有 [math]\displaystyle{ N }[/math] 个状态的马尔科夫矩阵 [math]\displaystyle{ P }[/math],对其做 SVD 分解 [math]\displaystyle{ P = U \Sigma V^T }[/math];
- 根据奇异值谱设定阈值 [math]\displaystyle{ \epsilon }[/math],取前 [math]\displaystyle{ r_\epsilon }[/math] 个右奇异向量,构成 [math]\displaystyle{ V_{N \times r_\epsilon} }[/math];
- 对 [math]\displaystyle{ P }[/math] 的行向量做 PCA 降维:[math]\displaystyle{ \tilde{P} = P \cdot V_{N \times r_\epsilon} }[/math],得到每个状态在核心通路子空间上的投影;这一步的物理含义是:[math]\displaystyle{ P^T P }[/math] 是转移概率矩阵的自相关矩阵,其特征向量 [math]\displaystyle{ V }[/math] 给出了“哪些目的地模式是相关联的”这一信息的主轴。[math]\displaystyle{ \tilde{P}_i = P_i \cdot V_{N \times r_\epsilon} }[/math] 是状态 [math]\displaystyle{ i }[/math] 的出转移分布在这些主要模式上的投影,保留了该状态“在核心通路上的行为”,滤去了冗余通路上的波动。
- 对 [math]\displaystyle{ \tilde{P} }[/math] 的行向量用 K-Means 聚类为 [math]\displaystyle{ r_\epsilon }[/math] 组,得到划分 [math]\displaystyle{ \Phi }[/math];
- 基于划分 [math]\displaystyle{ \Phi }[/math] 和稳态流矩阵 [math]\displaystyle{ F = \mathrm{diag}(\pi) P }[/math],通过 [math]\displaystyle{ F' = \Phi^T F \Phi }[/math] 构建宏观稳态流矩阵,再对每行归一化得到宏观转移矩阵 [math]\displaystyle{ P' }[/math]。
最后用 [math]\displaystyle{ F' = \Phi^T F \Phi }[/math] 而非直接对 [math]\displaystyle{ P }[/math] 做行列聚合,可以保证粗粒化操作和时间演化算子具有可交换性,从而确保宏观动力学仍是合法的马尔科夫链。
虽然该工作与前面 Zhang & Wang 的方法都包含 SVD + K-Means 这一步,但两者之间仍存在差异:
- Zhang & Wang的工作目标是在粗粒化过程中尽量保持马尔科夫性,并恢复成块结构;而动力学可逆性工作的目标是在粗粒化过程中减少 TPM 中的信道冗余性。
- Zhang & Wang方法的 SVD 对象是 [math]\displaystyle{ V_F }[/math],稳态流矩阵的右奇异向量,而动力学可逆性的SVD对象是 [math]\displaystyle{ V_P }[/math],马尔科夫转移矩阵的右奇异向量。当 [math]\displaystyle{ P }[/math] 恰好是低秩的时,[math]\displaystyle{ V_F }[/math] 和 [math]\displaystyle{ V_P }[/math] 张成完全相同的子空间(因为 [math]\displaystyle{ F = \mathrm{diag}(\pi) P }[/math],两者秩相同时列空间一致)。当 [math]\displaystyle{ P }[/math] 是近似低秩(满秩但有奇异值谱间隔)时,稳态分布 [math]\displaystyle{ \pi }[/math] 的加权效应会使两者产生差异:对 [math]\displaystyle{ F }[/math] 做 SVD 天然压低了低频状态的影响,而直接对 [math]\displaystyle{ P }[/math] 做 SVD 则给所有状态平权。
其他方法
寻找最优划分本质上是一个组合优化问题,所以我们也能使用其他合适的方法来解决它。
首先是遗传算法。它是一种受生物进化启发的全局优化算法,通过模拟自然选择(选择适应度高的个体作为父代)、交叉(通过父代基因重组生成子代)和变异(以一定概率随机改变子代基因)等机制,在解空间中搜索最优解。其核心流程包括:
- 种群初始化:随机生成候选解的群体。
- 在每一步迭代过程中:
- 选择:选择最大化目标(划分标准)的个体作为父代。
- 交叉:通过父代基因重组生成子代。
- 变异:以一定概率随机改变子代基因。
所以,我们可以把上述逐层贪婪算法和谱分解方法的解作为初始解,再借助遗传算法帮助跳出局部最优,从而找到新的全局更优解。
另外,我们也可以使用梯度下降,搭配图神经网络等深度学习方法来寻找最优划分。比如,在 Klein 和 Hoel 等人的论文[16],以及 Griebenow 等人[17]的文献中,作者把粗粒化方案写成一个分组矩阵,并将其参数化,这样就能把最终的粗粒化网络表达为分组矩阵与原始网络邻接矩阵的乘积,并由此计算 EI。之后,再使用自动微分方法执行梯度下降算法来优化分组矩阵,使 EI 最大化。
输入:包含 [math]\displaystyle{ N }[/math] 个节点的原始网络 [math]\displaystyle{ G }[/math],其对应邻接矩阵为:[math]\displaystyle{ A }[/math],粗粒化后的网络所包含的节点数:[math]\displaystyle{ K }[/math];输出:宏观网络 [math]\displaystyle{ G' }[/math],对应的邻接矩阵为:[math]\displaystyle{ B }[/math],以及对应的从 [math]\displaystyle{ A }[/math] 到 [math]\displaystyle{ B }[/math] 的粗粒化矩阵:[math]\displaystyle{ M }[/math]
- 针对一个含有[math]\displaystyle{ N }[/math]个节点的网络[math]\displaystyle{ A }[/math],随机初始化一个分组矩阵[math]\displaystyle{ M\in \mathbb{R}^{N×K} }[/math],[math]\displaystyle{ K }[/math]表示分组的大小,其中矩阵里面的每个元素[math]\displaystyle{ m_{iμ}=Pr(v_i\in v_{\mu}) }[/math],表示微观节点[math]\displaystyle{ v_i }[/math]属于宏观节点[math]\displaystyle{ v_{\mu} }[/math]的概率
- 根据微观网络和分组矩阵构建宏观网络 [math]\displaystyle{ B }[/math] ,具体计算方法分为两个步骤:1)[math]\displaystyle{ M^T A M }[/math];2)归一化前一步骤得到的矩阵。
- 使用带动量的梯度下降方法优化 [math]\displaystyle{ M }[/math] ,优化目标是最大化宏观网络的有效信息EI。
时间复杂度:[math]\displaystyle{ O(N^3) }[/math]
缺点:
- 初始化分组矩阵的选择,多次重复实验会得到不一样的结果。
- 依赖神经网络的超参,如学习率、迭代次数等。
对划分的限制
在上述算法介绍中,并未特别强调各方法对划分节点的限制。但在实际问题场景里,我们往往需要在寻找划分时加入限制,以满足问题本身的特性。
比如,在社区检测问题中,具有只允许相邻的节点聚合在一起的约束。这要求状态划分必须遵循状态转移图的拓扑结构,同一聚合状态内的节点必须在状态转移图中直接相连或通过短路径可达(如K-邻域)。这种限制确保聚合状态具有空间连贯性,同时大幅减少可行划分数量。
在因果涌现分组问题[16]中,要求同属一组的状态需同属一个马尔科夫毯(Markov blanket)。在一个概率图中,一个节点的马尔科夫毯包括其父节点、子节点以及子节点的其他父节点(配偶节点)。这些节点共同作用,使得该节点与图中的其他节点条件独立,起到一个“信息防火墙”、确保组内状态动态仅通过固定接口与外部交互的作用。该约束确保:
- 因果独立性:当我们把整个组看作一个宏观状态时,由于组内所有状态的马尔科夫毯相同,意味着这个宏观状态与外部状态的交互(输入和输出)在统计上是一致的;
- 信息压缩与模式识别:具有相同马尔科夫毯的状态在系统中扮演相似的角色(即它们与其他状态之间的依赖关系相同)。将这些状态聚合成一个宏观状态,相当于识别出了系统中的一个功能模块或模式;
- 因果涌现:在复杂系统中,这种聚合可能导致宏观层面出现新的因果特性(即涌现)。如果聚合后的宏观状态能产生比单个状态更明确、更强大的因果作用,则称为因果涌现。此时,宏观状态的马尔科夫转移模型可以更有效地预测系统行为。
但也有其他的划分问题不需遵从这类限制。比如在学术网络、网页流网络的场景上的模式识别时,我们可能会判断某些从未合作过的学者具有相似的行为模式,而把他们划分在一组内。
聚合方法
当我们决定了最优划分之后,就能根据该划分得到聚合后的矩阵。
假设划分是把若干个状态合成一组,而其他状态各自成组,我们要做的是把原矩阵中待聚合状态对应的若干行和若干列,分别聚合成一行和一列,而其他元素保持不动。
把一个 [math]\displaystyle{ N \times N }[/math] 的矩阵聚合成 [math]\displaystyle{ N' \times N' }[/math] 的矩阵,可以分成两步:
- 把待聚合的列直接进行相加,得到 [math]\displaystyle{ N \times N' }[/math] 的矩阵;
- 把待聚合的行进行加权平均,得到 [math]\displaystyle{ N' \times N' }[/math] 的矩阵。
入流的聚合方法:直接加和
我们可以把马尔科夫链看作一个以状态为节点、以转移概率为边的网络。
我们把待聚合节点都放进一个大节点的框 [math]\displaystyle{ M }[/math] 里,会发现每个外面的节点转移进大节点的概率就等于转移进 [math]\displaystyle{ M }[/math] 中所有节点的概率的和,即[math]\displaystyle{ p_{iM} = \sum_{j \in M} p_{ij} }[/math]。如此就能满足每行加和为一的条件。
所以,对入流(若干列)的聚类方法就是把这若干列直接加和,得到的列等于各节点转移到大节点的概率。
出流的聚合方法:加权平均
计算大节点的入流比较简单,而计算大节点的出流则相对复杂,需要考虑待聚合节点之间的随机游走和状态分布,来计算流向每个节点的概率。我们可以把出流聚合看作对若干行做线性加权平均。
权重一致的平均
在现有方法中,很多都采用最简单的思路:对状态做权重一致的平均。当我们只看矩阵本身,认为所有状态是平等的,就会给它们分配相同权重,即[math]\displaystyle{ p_{Mi} = \frac{1}{n} \sum_{j \in M} p_{ji} }[/math]。
但是,这种情况只适用于成块的状态划分:由于成块性要求同属一组的微观状态转移到另一组的概率相同,所以这样的平权平均没有问题。但当我们对不成块的状态划分进行平权平均时,就会导致宏观和微观的马尔科夫动力学不一致。
权重为平稳分布的平均
当一个随机游走粒子进入大节点时,它下一步游走到大节点内或大节点外其他节点的概率,应当取决于它当前更可能位于大节点内的哪个小节点。
设游走粒子在 [math]\displaystyle{ t }[/math] 时刻处于小节点 [math]\displaystyle{ j }[/math] 的概率为[math]\displaystyle{ s_j(t) }[/math],则聚合节点到外部节点 [math]\displaystyle{ i }[/math] 的下一步概率可写为[math]\displaystyle{ p_{Mi}(t) = \frac{1}{\sum_{j \in M} s_j(t)} \sum_{j \in M} s_j(t)\ p_{ji} }[/math],而留在聚合节点内部的概率为[math]\displaystyle{ p_{MM}(t) = \frac{1}{\sum_{j \in M} s_j(t)} \sum_{j \in M} s_j(t)\sum_{k \in M} p_{jk} }[/math]。
假设游走已经达到平稳分布[math]\displaystyle{ \pi }[/math],游走粒子处于不同小节点 [math]\displaystyle{ j }[/math] 的概率为[math]\displaystyle{ \pi_j }[/math],则聚合节点到外部节点 [math]\displaystyle{ i }[/math] 的概率为[math]\displaystyle{ p_{Mi} = \frac{1}{\sum_{j \in M} \pi_j} \sum_{j \in M} \pi_j\ p_{ji} }[/math],而留在聚合节点内部的概率为[math]\displaystyle{ p_{MM} = \frac{1}{\sum_{j \in M} \pi_j} \sum_{j \in M} \pi_j\sum_{k \in M} p_{jk} }[/math]。按照平稳分布为权重对若干行做加权平均,得到的行仍会满足加和为一的条件。
为了说明如何获得简化的TPM,首先定义一个矩阵,称为稳态流矩阵:[math]\displaystyle{ F_{ij} \equiv \pi_i \cdot P_{ij}, \, \forall i,j \in [1, N], }[/math]。其中,[math]\displaystyle{ \pi }[/math] 是 [math]\displaystyle{ P }[/math] 的稳态分布,即满足[math]\displaystyle{ \pi P = \pi }[/math]。
其次,我们将根据 [math]\displaystyle{ \Phi }[/math] 和 [math]\displaystyle{ F }[/math] 得到粗粒化后的稳态流矩阵:
[math]\displaystyle{ F' = \Phi^T \cdot F \cdot \Phi, }[/math]
其中,[math]\displaystyle{ F' }[/math] 是粗粒化后的平稳流矩阵。在归并的过程中,保持所有矩阵上的流量总量是不变的。
最后,粗粒化后的 [math]\displaystyle{ P' }[/math] 可以通过归一化每一行直接得到:
[math]\displaystyle{ P'_i = \frac{F'_i}{ \sum_{j=1}^{N'} (F'_i)_j }, \, \forall i \in [1, N']. }[/math]
将 [math]\displaystyle{ N' }[/math] 个 [math]\displaystyle{ P'_i }[/math] 拼在一起就能得到最终的 [math]\displaystyle{ P' }[/math]。可以证明,这样的粗粒化方案能够保证粗粒化操作和时间演化操作具有可交换性(证明可以参考[15])。
按照该方法进行加和平均,得到的宏观和微观马尔科夫动力学就会满足一致条件。虽然这个方法直观明了,但它的问题在于:在系统演变到平稳分布之前,需要计算每个 [math]\displaystyle{ t }[/math] 时刻的状态分布概率 [math]\displaystyle{ s_j(t) }[/math]。在达到平稳分布前,直接使用[math]\displaystyle{ \pi }[/math]来聚合仍不会满足一致性,因此操作起来比较麻烦;而 HOM 的计算方式则可以解决这个问题。
高阶网络聚类 Higher-Order Macronodes (HOM)
在 Klein 等人的论文[16],以及 Griebenow 等人[17]的文献中,作者采用了高阶依赖项建模(HOMs)[18]来对网络节点进行聚合。其目的是保证聚合后的宏观网络与原始微观网络具有相同的随机游走动力学特性。该方法也可以用于合并马尔科夫链的状态。
Higher-order Macronodes 是由 Jian Xu 等人[18]提出的一种方法:根据给定的微观马尔科夫链和节点划分方案,得出一个与微观转移矩阵保持一致的宏观转移矩阵。下面将简单介绍构建宏观 HOM 转移概率矩阵的计算方法。具体方法请参考网络归并。
假设我们把若干个节点视为待合并的节点[math]\displaystyle{ A }[/math]。
- 计算合并节点的入流:对于其他节点到待合并节点[math]\displaystyle{ A }[/math]的连边,直接加和即可。
- 计算合并节点的出流:对于待合并节点[math]\displaystyle{ A }[/math]到其他节点的连边,需要考虑三种情况:
- 当待合并节点[math]\displaystyle{ A }[/math]间存在连边时;
- 当待合并节点[math]\displaystyle{ A }[/math]指向同一个输出节点时;
- 当待合并节点[math]\displaystyle{ A }[/math]指向不同输出节点时;
- 待合并节点[math]\displaystyle{ A }[/math]的出流的计算方式都不一样,如图(7)所示:
论文[16]中提到,原始微观动力学与使用该方法聚合后的宏观动力学能够满足其定义的一致性。
复杂网络中的粗粒化方法
复杂网络与马尔科夫链之间存在密不可分的联系。许多复杂网络上的分析方法,比如随机游走,会利用马尔科夫链动力学理论;而马尔科夫链的研究同样也会借用复杂网络中的理论分析方法,比如统计物理中的配分函数等。这部分简要介绍复杂网络中的三种粗粒化方法,它们在马尔科夫链粗粒化问题上具有很大的研究潜力。
复杂网络与马尔科夫链的相似性
对一个复杂网络而言,它并不天然具备某种动力学,所以需要人为定义一套动力学。常见做法是借助随机游走子的概念,在网络上定义一套随机游走动力学。
假设游走子在每一步都会按照边权来进行转移,这种节点间的转移动力学可以用马尔科夫链表示。马尔科夫链的状态对应着复杂网络上的节点,而转移概率对应着网络节点之间的连边权重。
考虑一个连通图 [math]\displaystyle{ G }[/math],邻接矩阵为 [math]\displaystyle{ A }[/math],假设图上有 [math]\displaystyle{ N }[/math] 个节点,分别为 [math]\displaystyle{ 1,2,...,N }[/math],我们定义从节点 [math]\displaystyle{ i\in\left\{1,2,...,N\right\} }[/math] 到节点 [math]\displaystyle{ j\in\left\{1,2,...,N\right\} }[/math] 的转移概率为 [math]\displaystyle{ w_{ij}=\frac{a_{ij}}{\sum_{j}a_{ij}} }[/math](即对边权进行行归一化),其中 [math]\displaystyle{ a_{ij} }[/math] 表示邻接矩阵的第 [math]\displaystyle{ i }[/math] 行第 [math]\displaystyle{ j }[/math] 列元素,对应从节点 [math]\displaystyle{ i }[/math] 到节点 [math]\displaystyle{ j }[/math] 的边的权重。
由于该网络是连通图,所以分母 [math]\displaystyle{ \sum_{j}a_{ij} }[/math] 会大于[math]\displaystyle{ 0 }[/math],而且满足行归一化,即 [math]\displaystyle{ \sum_{j=1}^N {w_{ij}}=1 }[/math]。这样我们就定义了一个马尔科夫链,状态空间为 [math]\displaystyle{ \left\{1,2,...,N\right\} }[/math],从状态 [math]\displaystyle{ i }[/math] 到状态 [math]\displaystyle{ j }[/math] 的转移概率为 [math]\displaystyle{ w_{ij} }[/math],转移矩阵为 [math]\displaystyle{ W=\left\{w_{ij}\right\}_{N \times N} }[/math]。[19]。
复杂网络的粗粒化方法
谱粗粒化
复杂网络可以被建模为一个马尔科夫过程,它的动力学由邻接矩阵 [math]\displaystyle{ A }[/math] 构建的随机矩阵 [math]\displaystyle{ W }[/math](或称转移概率矩阵)所描述,定义为 [math]\displaystyle{ W_{ij} = \frac{A_{ij}}{\sum_k A_{kj}} }[/math],表示从节点 [math]\displaystyle{ j }[/math] 转移到节点 [math]\displaystyle{ i }[/math] 的概率。这里采用的是列归一化写法:每一列的和为 1,因此指标 [math]\displaystyle{ j }[/math] 表示出发节点,[math]\displaystyle{ i }[/math] 表示到达节点。为了实现网络的降维与简化,研究者提出了一种基于谱理论的粗粒化方法[20]。该方法的核心在于选取随机矩阵前 [math]\displaystyle{ S }[/math] 个最大非平凡特征值 [math]\displaystyle{ \lambda^2, \lambda^3, \ldots, \lambda^{S+1} }[/math] 对应的左特征向量 [math]\displaystyle{ \langle u^2 |, \langle u^3 |, \ldots, \langle u^{S+1} | }[/math],将网络节点映射到这些特征向量张成的特征空间。在此基础上,将每个特征向量的值域划分为 [math]\displaystyle{ I }[/math] 个区间,在所有 [math]\displaystyle{ S }[/math] 个特征向量上都落入相同区间的节点会被合并为一个超级节点。从概率角度看,这一粗粒化过程可以理解为:新超级节点的出边概率由原节点的出边概率加权平均得到,其流入概率则由原节点的流入概率直接相加,其他未合并节点的转移概率保持不变。
结合统计物理与机器学习的网络流方法
我们用扩散方程 [math]\displaystyle{ \frac{d\psi}{d\tau}=-L\psi }[/math] 来描述网络的扩散过程,其中拉普拉斯矩阵 [math]\displaystyle{ L=D-A }[/math] 描述网络的拓扑结构,[math]\displaystyle{ A }[/math] 是邻接矩阵,[math]\displaystyle{ D }[/math] 是度矩阵。扩散方程的解为 [math]\displaystyle{ \psi_{\tau}=e^{-\tau L}\psi_0 }[/math],体现了信息随时间的演化,其中 [math]\displaystyle{ e^{-\tau L} }[/math] 为时间演化算子,[math]\displaystyle{ [e^{-\tau L}]_{ij} }[/math] 表示经过时间 [math]\displaystyle{ \tau }[/math] 后从节点 [math]\displaystyle{ j }[/math] 到节点 [math]\displaystyle{ i }[/math] 的流量。
利用配分函数 [math]\displaystyle{ Z_{\tau}=Tr(e^{-\tau L}) }[/math],我们能量化矩阵的全局信息量。矩阵 [math]\displaystyle{ e^{-\tau L} }[/math] 的每个对角元 [math]\displaystyle{ [e^{-\tau L}]_{ii} }[/math] 是第 [math]\displaystyle{ i }[/math] 个节点的信息保留量,对所有对角元求和则能得到所有节点的信息保留量。
通过图神经网络(GNN)的消息传递机制,得到每个节点的向量表征,对节点向量应用Softmax函数,得到分组矩阵 [math]\displaystyle{ S_{N\times M} }[/math],其中元素 [math]\displaystyle{ s_{ij} }[/math] 表示节点 [math]\displaystyle{ i }[/math] 分到第 [math]\displaystyle{ j }[/math] 个超级节点的概率。
通过 [math]\displaystyle{ \hat{A}=\frac{M}{N}S^{T}AS }[/math] 得到宏观邻接矩阵 [math]\displaystyle{ \hat{A}_{M\times M} }[/math],其中 [math]\displaystyle{ A_{N\times N} }[/math] 原始网络的邻接矩阵。归一化配分函数 [math]\displaystyle{ \frac{Z}{N} }[/math] 的平均绝对误差(MAE)作为训练图神经网络的损失函数,通过梯度下降优化GNN的参数。
网络规模从 [math]\displaystyle{ N }[/math] 压缩到 [math]\displaystyle{ N^{'} }[/math] 后,得到新的拉普拉斯矩阵 [math]\displaystyle{ L^{'} }[/math] 和配分函数 [math]\displaystyle{ Z^{'} }[/math],原始网络和压缩后的网络的配分函数的关系是 [math]\displaystyle{ Z=\gamma Z^{'} }[/math],并且压缩后的配分函数和原始网络的配分函数要尽可能相似,不随时间变化而且误差最小。当 [math]\displaystyle{ \tau=0 }[/math] 时,[math]\displaystyle{ Z=N,Z^{'}=N^{'} }[/math],为了使之成立,[math]\displaystyle{ \gamma=\frac{N}{N^{'}} }[/math],所以乘数的有效值为 [math]\displaystyle{ \frac{N}{N^{'}} }[/math][21]。
马尔科夫链是描述状态仅依赖当前状态的随机过程,通过拉普拉斯矩阵与转移概率的关系,将上述方法应用到马尔科夫链中,在离散时间马尔科夫链中,转移概率矩阵为 [math]\displaystyle{ P }[/math];在连续时间马尔科夫链中,[math]\displaystyle{ P(t)=e^{-tL} }[/math] 是经过时间 [math]\displaystyle{ t }[/math] 的转移概率矩阵。配分函数 [math]\displaystyle{ Z_t=Tr(e^{-tL}) }[/math] 可以理解为马尔科夫链的所有状态的信息保留总和。
进行稳态分析的时候,当 [math]\displaystyle{ t\rightarrow \infty }[/math] 时,[math]\displaystyle{ e^{-tL} }[/math] 的极限与稳态分布有关,配分函数的渐近行为反映链的长期信息保留特性。通过分析 [math]\displaystyle{ e^{-tL} }[/math] 的特征向量来识别马尔科夫链的状态聚类。
具有自非相似性的复杂网络的粗粒化方法
方法[22]在电子电路(ISCAS89基准电路)和生物信号网络(哺乳动物蛋白质相互作用网络)成功应用,只要网络存在功能模块的重复级联,这个方法就可以应用。它们抽象出来一个“自非相似性”的特性。自非相似性是指复杂网络的不同粗粒化层面,粗粒化单元和网络模体与整体网络的拓扑结构存在显著差异,而不是保持部分与整体的相似性。不同粗粒化层级的粗粒化单元和网络模体通过功能分化实现整体功能。
定义粗粒化单元(CGU):它是最适合作为网络粗粒化节点的模式,具有明确输入、输出端口和内部计算节点,可视为一种基本电路组件。CGU 的集合构成“元素字典”,粗粒化网络则可视为由该字典构建的版本。部分节点被 CGU 替换,从而实现网络压缩。
CGU的评价维度(优化的属性):简洁性、简单性和覆盖度。
- 简洁性:字典中 CGU 的总数尽可能少。
- 简单性:单个 CGU 的结构尽可能简单,由黑箱数 [math]\displaystyle{ H }[/math] 决定,[math]\displaystyle{ H }[/math] 越少越简单。 [math]\displaystyle{ H=I+O+2M }[/math], [math]\displaystyle{ I }[/math] 为输入节点,[math]\displaystyle{ O }[/math] 为输出节点,[math]\displaystyle{ M }[/math] 为混合节点。
- 覆盖度:粗粒化后消除的节点和边数尽可能多,被CGU覆盖的节点数 [math]\displaystyle{ P_{covered} }[/math] 和边数 [math]\displaystyle{ E_{covered} }[/math] 尽可能多。
针对CGU的评分函数:[math]\displaystyle{ S=[E_{covered}+\alpha P_{covered}]-[\alpha \sum_{i=1}^{N}n_i H_i+\beta N+\gamma\sum_{i=1}^{N} T_i] }[/math]
- 正向项:对应覆盖度,覆盖度高,得分越高。
- 负向项:对应简洁性和简单性,CGU 类型越少,内部节点越少,得分越高。
最大化 S 倾向于选择“高频出现、内部节点多且混合节点少” 的 CGU。
采用模拟退火法寻找粗粒化最优的 CGU 集合,仅以网络模体(在原始网络中出现频率显著高于随机网络的子图)作为候选 CGU。 候选CGU的获取方式:先检测 3-6 节点的所有网络模体,再根据每个模体出现的连接特征向量,同一模体不同特征向量的出现视为不同 CGU 候选。
找到最优的粗粒化CGU集合,通过将每个CGU的每一次出现替换为一个节点,形成粗粒化网络。算法可在粗粒化网络上重复执行,获得更高层级的粗粒化。
- ↑ Hafner, Danijar, et al. "Mastering atari with discrete world models." arXiv preprint arXiv:2010.02193 (2020).
- ↑ Coarse graining. Encyclopedia of Mathematics. URL: http://encyclopediaofmath.org/index.php?title=Coarse_graining&oldid=16170
- ↑ 3.0 3.1 Buchholz, Peter. "Exact and ordinary lumpability in finite Markov chains." Journal of applied probability 31.1 (1994): 59-75.
- ↑ 4.0 4.1 4.2 4.3 Zhang, Anru, and Mengdi Wang. "Spectral state compression of markov processes." IEEE transactions on information theory 66.5 (2019): 3202-3231.
- ↑ Singh, Satinder, Tommi Jaakkola, and Michael Jordan. "Reinforcement learning with soft state aggregation." Advances in neural information processing systems 7 (1994).
- ↑ Duan, Yaqi, Tracy Ke, and Mengdi Wang. "State aggregation learning from markov transition data." Advances in Neural Information Processing Systems 32 (2019).
- ↑ Coarse graining. Encyclopedia of Mathematics. URL: http://encyclopediaofmath.org/index.php?title=Coarse_graining&oldid=16170
- ↑ 8.0 8.1 8.2 Kemeny, John G., and J. Laurie Snell. Finite markov chains. Vol. 26. Princeton, NJ: van Nostrand, 1969. https://www.math.pku.edu.cn/teachers/yaoy/Fall2011/Kemeny-Snell_Chapter6.3-4.pdf
- ↑ Crutchfield, James P. (1994). "The Calculi of Emergence: Computation, Dynamics, and Induction". Physica D: Nonlinear Phenomena. 75: 11–54.
- ↑ 10.0 10.1 10.2 Rosas, F. E., Geiger, B. C., Luppi, A. I., Seth, A. K., Polani, D., Gastpar, M., & Mediano, P. A. (2024). Software in the natural world: A computational approach to hierarchical emergence. arXiv preprint arXiv:2402.09090.
- ↑ B. C. Geiger and C. Temmel, “Lumpings of Markov chains, entropy rate preservation, and higher-order lumpability,” J. Appl. Probab., vol. 51, no. 4, pp. 1114–1132, Dec. 2014, extended version: arXiv:1212.4375.
- ↑ Hoel E P, Albantakis L, Tononi G. Quantifying causal emergence shows that macro can beat micro[J]. Proceedings of the National Academy of Sciences, 2013, 110(49): 19790-19795.
- ↑ Hoel E P. When the map is better than the territory[J]. Entropy, 2017, 19(5): 188.
- ↑ Hoel, Erik P.; Albantakis, L.; Tononi, G. (2013). "Quantifying causal emergence shows that macro can beat micro". Proceedings of the National Academy of Sciences. 110 (49): 19790–19795.
- ↑ 15.0 15.1 15.2 15.3 Zhang, J., Tao, R., Leong, K.H. et al. Dynamical reversibility and a new theory of causal emergence based on SVD. npj Complex 2, 3 (2025).
- ↑ 16.0 16.1 16.2 16.3 16.4 Klein B, Hoel E. The emergence of informative higher scales in complex networks[J]. Complexity, 2020, 20201-12.
- ↑ 17.0 17.1 Griebenow R, Klein B, Hoel E. Finding the right scale of a network: efficient identification of causal emergence through spectral clustering[J]. arXiv preprint arXiv:190807565, 2019.
- ↑ 18.0 18.1 Xu, J., Wickramarathne, T. L., & Chawla, N. V. Representing higher-order dependencies in networks[J]. Science advances, 2016, 2(5), e1600028.
- ↑ 复杂网络的因果涌现.https://wiki.swarma.org/index.php/%E5%A4%8D%E6%9D%82%E7%BD%91%E7%BB%9C%E4%B8%AD%E7%9A%84%E5%9B%A0%E6%9E%9C%E6%B6%8C%E7%8E%B0
- ↑ Gfeller D, De Los Rios P. Spectral coarse graining of complex networks[J]. Physical review letters, 2007, 99(3): 038701.
- ↑ Zhang, Zhang, et al. "Coarse-graining network flow through statistical physics and machine learning." Nature Communications 16.1 (2025): 1605.
- ↑ Itzkovitz, Shalev, et al. "Coarse-graining and self-dissimilarity of complex networks." Physical Review E—Statistical, Nonlinear, and Soft Matter Physics 71.1 (2005): 016127.
