| 第566行: |
第566行: |
| | | | |
| | ==高斯噪声迭代系统基于SVD的粗粒化策略== | | ==高斯噪声迭代系统基于SVD的粗粒化策略== |
| − | 在得到基于奇异值的因果涌现之后,和TPM矩阵类似,我们也可以根据逆向动力学的协方差矩阵<math>𝐴^𝑇Σ^{−1}𝐴</math>和正向动力学的协方差矩阵<math>Σ^{−1}</math>的奇异向量,指定在高斯迭代系统上的粗粒化策略,将高维的向量映射到低维空间。基于SVD的理论,<math>𝐴^𝑇Σ^{−1}𝐴</math>和<math>Σ^{−1}</math>都是对称矩阵,因此我们可以直接得到SVD分解 | + | 在得到基于奇异值的因果涌现之后,和TPM矩阵类似,我们也可以根据逆向动力学的协方差矩阵<math>𝐴^𝑇Σ^{−1}𝐴</math>和正向动力学的协方差矩阵<math>Σ^{−1}</math>的奇异向量,指定在高斯迭代系统上的粗粒化策略,将高维的向量映射到低维空间。该粗粒化策略主要操作依然基于奇异值的筛选,主要流程如下。 |
| − | <blockquote>
| |
| − | <math>A^T\Sigma^{-1}A=USU^T
| |
| − | </math>
| |
| − | </blockquote>
| |
| − | 和
| |
| − | <blockquote>
| |
| − | <math>\Sigma^{-1}=VKV^T
| |
| − | </math>
| |
| − | </blockquote>
| |
| − | 其中<math>S={\rm diag}(s_1,\cdots,s_n)</math>和<math>K={\rm diag}(\kappa_i,\cdots,\kappa_n)</math>分别是奇异值<math>s_1\geq\cdots\geq s_n</math>和<math>\kappa_1\geq\cdots\geq \kappa_n</math>组成的对角矩阵,奇异向量矩阵<math>U=(u_1,\cdots,u_n)</math>和<math>V=(v_1,\cdots,v_n)</math>分别包含了两组奇异值对应的奇异向量,它们也可以被分别看成两个生成空间的正交积。当我们得到<math>r_\epsilon</math>之后, 理论上就分别需要保留奇异值<math>s_1,\cdots,s_{r_\epsilon}</math>和<math>\kappa_1,\cdots, \kappa_{r_\epsilon}</math>,因此粗粒化映射<math>\phi(x_t)=Wx_t</math>中的参数矩阵<math>W\in\mathcal{R}^{r_\epsilon\times n}</math>应与它们对应的奇异向量尽量平行而不是正交。 我们可以根据有效秩,将奇异向量划分为
| |
| − | <blockquote>
| |
| − | <math>U=(U_1,U_2),U_1\in\mathcal{R}^{n\times r_\epsilon},U_2\in\mathcal{R}^{n\times (n-r_\epsilon)}
| |
| − | </math>
| |
| − | </blockquote>
| |
| − | 和
| |
| − | <blockquote>
| |
| − | <math>V=(V_1,V_2),V_1\in\mathcal{R}^{n\times r_\epsilon},V_2\in\mathcal{R}^{n\times (n-r_\epsilon)}
| |
| − | </math>
| |
| − | </blockquote>
| |
| − | 两部分,这样对于粗粒化策略的制定就变成了让<math>WU_1</math>,<math>WV_1</math>尽量接近满秩的酉矩阵,而让<math>WU_2</math>,<math>WV_2</math>尽量接近0,这样在粗粒化之后<math>U_1, V_1</math>对应的奇异值会得到保留,其余的奇异值会被舍弃。但是<math>U,V</math>并不是在所有系统中都能保证相等,所以我们就需要对两个矩阵的生成空间进行分类讨论。
| |
| − | 我们主要讨论两组生成空间
| |
| − | <blockquote>
| |
| − | <math>
| |
| − | \Omega_{{\rm I}}=\mathcal{M}(U_1)\cap\mathcal{M}(V_1),\Omega_{{\rm II}}=(\mathcal{M}(U_1)\cap\mathcal{M}(V_2))\cup(\mathcal{M}(U_2)\cap\mathcal{M}(V_1)).
| |
| − | </math>
| |
| − | </blockquote>
| |
| − | 其中<math>\Omega_{{\rm I}}</math>对应<math>U_1</math>和<math>V_1</math>生成空间的交空间,若粗粒化策略的几个维度从该空间生成,那么该空间中的奇异向量对应的奇异值都会被保留,不存在冲突。而<math>\Omega_{{\rm II}}</math>中的向量不与<math>U_2</math>和<math>V_2</math>正交,这意味着,在保留大于<math>\epsilon</math>的奇异值的同时,会有理论上应被舍弃的奇异值保留下来。由于<math>\Omega_{{\rm I}}</math>包含于<math>U_1</math>和<math>V_1</math>生成空间,所以它的维度可能会小于<math>r_\epsilon</math>,因此我们仍然需要从<math>\Omega_{{\rm II}}</math>中生成向量补全<math>W\in\mathcal{R}^{r_\epsilon\times n}</math>的维度。因此我们生成粗粒化策略的参数矩阵可以分为两步。
| |
| − | | |
| − | ===第一步:协同粗粒化===
| |
| − | 第一步,就是从<math>\Omega_{{\rm I}}</math>中生成可以同时保留大于<math>\epsilon</math>的奇异值,且不存在冲突的部分。首先我们要计算出矩阵<math>(U_1,-V_1)</math>的零空间的施密特正交基,
| |
| − | <blockquote>
| |
| − | <math>
| |
| − | \left(\begin{array}{c}
| |
| − | \mathscr{A} \\
| |
| − | \mathscr{B}
| |
| − | \end{array}\right)={\rm Schmidt}({\rm Null}(U_1,-V_1))\in\mathcal{R}^{2r_\epsilon\times r_I}
| |
| − | </math>
| |
| − | </blockquote>
| |
| − | 并对正交基进行线性变换,得到<math>W\in\mathcal{R}^{r_\epsilon\times n}</math>矩阵的第一块
| |
| − | <blockquote>
| |
| − | <math>
| |
| − | W_{\rm I}^T=U_1\mathscr{A} =V_1\mathscr{B} \in\mathcal{R}^{n\times r_{{\rm I}}}
| |
| − | </math>
| |
| − | </blockquote>
| |
| − | | |
| − | ===第二步:调和粗粒化===
| |
| − | 由于<math>\Omega_{{\rm I}}</math>包含于<math>U_1</math>和<math>V_1</math>生成空间,所以它的维度<math>r_{{\rm I}}\leq r_\epsilon</math>,因此我们仍需要<math>r_{{\rm II}}= r_\epsilon-r_{{\rm I}}</math>个<math>\Omega_{{\rm II}}</math>中的向量来补全<math>W</math>,这里我们就可以尽量将包含于<math>\Omega_{{\rm II}}</math>中的向量对应的较大的奇异值保留。我们可以将这些奇异值放入向量<math>\mathbf{S}=\{s_i,\kappa_j|u_i,v_j\in\Omega_2\}</math>中,并从大到小进行排列得到<math>Q=(q_i|q_i\in\mathbf{S})</math>后,取其中最大的<math>r_{{\rm II}}</math>个奇异值构成的集合<math>\hat{Q}=(q_i|q_i\in\mathbf{S},i=1,\cdots,r_{\rm II})</math>,以及集合中奇异值对应的奇异向量<math>
| |
| − | u_{i|s_i\in\hat{Q}},v_{i|\kappa_i\in\hat{Q}}
| |
| − | </math>,并进行施密特正交化(Schmidt),得到<math>W\in\mathcal{R}^{r_\epsilon\times n}</math>矩阵的第二块
| |
| − | <blockquote>
| |
| − | <math>
| |
| − | W_{{\rm II}}^T={\rm Schmidt}(u_{i|s_i\in\hat{Q}},v_{i|\kappa_i\in\hat{Q}})\in\mathcal{R}^{n\times r_{{\rm II}}}.
| |
| − | </math>
| |
| − | </blockquote>在这里<math>
| |
| − | u_{i|s_i\in\hat{Q}},v_{i|\kappa_i\in\hat{Q}}
| |
| − | </math>分别表示<math>\hat{Q}=(q_i|q_i\in\mathbf{S},i=1,\cdots,r_{\rm II})</math>中的奇异值<math>
| |
| − | s_i,\kappa_i
| |
| − | </math>对应的奇异向量。
| |
| − | | |
| − | ===最终粗粒化策略===
| |
| − | 最终我们可以将<math>W_{\rm I}</math>和<math>W_{\rm II}</math>两个矩阵拼接得到最终的粗粒化参数矩阵
| |
| − | <blockquote>
| |
| − | <math>
| |
| − | W=\left(\begin{array}{c}
| |
| − | W_{{\rm I}} \\
| |
| − | W_{{\rm II}}
| |
| − | \end{array}\right)\in\mathcal{R}^{r_\epsilon\times n}.
| |
| − | </math>
| |
| − | </blockquote>
| |
| − | 该策略可以让我们得到的宏观态的近似可逆性,比只使用<math>W=U_1</math>或<math>W=V_1</math>更接近真实的基于有效秩删减奇异值后得到的近似可逆性。
| |
| − | | |
| − | ==高斯噪声迭代系统基于SVD的粗粒化策略进阶版==
| |
| − | 虽然上述刘凯威提出高斯噪声迭代系统基于SVD的粗粒化策略提供的方法可以一定程度上解决粗粒化的问题,但是我们不难发现对于真实数据,很难直接得到严格意义上的协同粗粒化的空间<math>\Omega_{{\rm I}}</math>,如果直接在真实数据中运用,很容易变成对两组奇异值的筛选。因此为了更好的应对真实数据处理,杨明哲对上述方法进行了优化,得到了高斯噪声迭代系统基于SVD的粗粒化策略进阶版。该粗粒化策略主要操作依然基于奇异值的筛选,主要流程如下。
| |
| | | | |
| | ===第一步=== | | ===第一步=== |