更改

跳到导航 跳到搜索
添加100字节 、 2026年1月6日 (星期二)
第422行: 第422行:  
===[[伪特征值]]的出现===
 
===[[伪特征值]]的出现===
   −
在算子理论和数据驱动动力学系统的背景下,伪特征值(Pseudo-eigenvalues)通常指的是当使用有限维矩阵近似来表示无限维 Koopman 算子 <math>\mathcal{K}</math> 时,所计算出的特征值 <math>\lambda</math> 并不属于真实 Koopman 算子的谱 <math>\sigma(\mathcal{K})</math>。
+
在算子理论和数据驱动[[动力学系统]]的背景下,[[伪特征值]](Pseudo-eigenvalues)通常指的是当使用有限维矩阵近似来表示无限维 Koopman 算子 <math>\mathcal{K}</math> 时,所计算出的[[特征值]] <math>\lambda</math> 并不属于真实 Koopman 算子的谱 <math>\sigma(\mathcal{K})</math>。
   −
'''定义(矩阵的伪特征值):'''在严格的数学框架下,伪特征值通常通过<math>\epsilon</math>-伪谱来定义。它描述了算子在受到扰动时,其特征值可能出现的区域。对于一个有限维矩阵 <math>A</math> 和 <math>\epsilon > 0</math>,<math>A</math> 的 <math>\epsilon</math>-伪谱定义为<ref name=Colbrook_2023 />:   
+
'''定义(矩阵的[[伪特征值]]):'''在严格的数学框架下,[[伪特征值]]通常通过[[<math>\epsilon</math>-伪谱]]来定义。它描述了算子在受到扰动时,其[[特征值]]可能出现的区域。对于一个有限维矩阵 <math>A</math> 和 <math>\epsilon > 0</math>,<math>A</math> 的[[ <math>\epsilon</math>-伪谱]]定义为<ref name=Colbrook_2023 />:   
    
:<math>   
 
:<math>   
第430行: 第430行:  
</math>   
 
</math>   
   −
其中 <math>\sigma(A + B)</math> 表示矩阵 <math>A + B</math> 的特征值集合。这表明 <math>\epsilon</math>-伪谱是复平面上的一个区域,包含了所有可能由大小不超过 <math>\epsilon</math> 的扰动所产生的特征值。  
+
其中 <math>\sigma(A + B)</math> 表示矩阵 <math>A + B</math> 的[[特征值]]集合。这表明[[ <math>\epsilon</math>-伪谱]]是[[复平面]]上的一个区域,包含了所有可能由大小不超过 <math>\epsilon</math> 的扰动所产生的[[特征值]]。  
   −
'''定义(算子的伪特征值):'''对于可能无界的 Koopman 算子 <math>\mathcal{K}</math>,其 <math>\epsilon</math>-伪谱的定义需要更加严谨,具体如下<ref name=Colbrook_2023 />:   
+
'''定义(算子的伪特征值):'''对于可能无界的 Koopman 算子 <math>\mathcal{K}</math>,其[[ <math>\epsilon</math>-伪谱]]的定义需要更加严谨,具体如下<ref name=Colbrook_2023 />:   
    
:<math>   
 
:<math>   
第438行: 第438行:  
</math>   
 
</math>   
   −
其中 <math>\text{cl}</math> 表示集合的闭包。该定义刻画了对于任意给定的精度 <math>\epsilon</math>,能够以小于 <math>\epsilon</math> 的残差近似满足特征值方程的标量 <math>\lambda</math> 的集合。
+
其中 <math>\text{cl}</math> 表示[[集合]]的闭包。该定义刻画了对于任意给定的精度 <math>\epsilon</math>,能够以小于 <math>\epsilon</math> 的残差近似满足[[特征值]]方程的标量 <math>\lambda</math> 的[[集合]]。
   −
例如,设有一个平凡的对角线[[线性系统]],其[[特征值]]<math>\lambda \in \{1, 2, 5\}</math>,[[特征向量]]<math>\xi_j</math>为坐标[[方向]]<math>x_j</math>,以及一个对前两个[[特征向量]]进行混合的简单观测:
+
例如,设有一个平凡的对角线[[线性系统]],其[[特征值]]<math>\lambda \in \{1, 2, 5\}</math>,[[特征向量]]<math>\xi_j</math>为坐标方向<math>x_j</math>,以及一个对前两个[[特征向量]]进行混合的简单观测:
    
:<math> \frac{d}{dt} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 5 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} </math> <math> \quad \text{选择观测函数为} \quad y =  x_1 + x_2. </math>
 
:<math> \frac{d}{dt} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 5 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} </math> <math> \quad \text{选择观测函数为} \quad y =  x_1 + x_2. </math>
   −
该观测函数本身张成的空间并不是 Koopman 算子的不变子空间,所以产生了误差<math>\epsilon</math>,其大小反应的是该观测空间与Koopman不变子空间之间的距离。在这种情况下,数据驱动算法试图用单一的增长率来拟合混合了不同增长率的数据,从而预测出一个伪特征值 <math>5</math>。这实际上是前两个[[特征值]]<math>\lambda=1</math>和<math>\lambda=2</math>的和,因为测量是前两个[[特征向量]]之和。该特征值属于上述伪谱定义的集合内,但不是系统真实的特征值。
+
该观测函数本身张成的空间并不是 Koopman 算子的不变子空间,所以产生了误差<math>\epsilon</math>,其大小反应的是该观测空间与Koopman不变子空间之间的距离。在这种情况下,数据驱动算法试图用单一的增长率来拟合混合了不同增长率的数据,从而预测出一个[[伪特征值]] <math>5</math>。这实际上是前两个[[特征值]]<math>\lambda=1</math>和<math>\lambda=2</math>的和,因为测量是前两个[[特征向量]]之和。该[[特征值]]属于上述[[伪谱]]定义的[[集合]]内,但不是系统真实的[[特征值]]。
   −
因此,在实际应用中选取观测函数时,采取一些手段避免[[过拟合]]是非常重要的。除了观测函数选取不当,在数据驱动算法中,如果数据量没有足够多,或者数据[[采样]]相比于原本的[[连续]][[动力学]]过于离散化,也会造成[[伪特征值]]出现的问题。
+
因此,在实际应用中选取观测函数时,采取一些手段避免[[过拟合]]是非常重要的。除了观测函数选取不当,在数据驱动算法中,如果数据量没有足够多,或者数据[[采样]]相比于原本的[[连续动力学]]过于离散化,也会造成[[伪特征值]]出现的问题。
    
===理论===
 
===理论===
第459行: 第459行:  
:<math>[\mathcal{K}g](\boldsymbol{x}) = \Psi(F(\boldsymbol{x})) \boldsymbol{g} = \Psi(\boldsymbol{x}) (K \boldsymbol{g}) + \underbrace{\sum_{j=1}^{N} \psi_j(F(\boldsymbol{x})) g_j - \Psi(\boldsymbol{x}) (K \boldsymbol{g})}_{r(g, \boldsymbol{x})}.</math>
 
:<math>[\mathcal{K}g](\boldsymbol{x}) = \Psi(F(\boldsymbol{x})) \boldsymbol{g} = \Psi(\boldsymbol{x}) (K \boldsymbol{g}) + \underbrace{\sum_{j=1}^{N} \psi_j(F(\boldsymbol{x})) g_j - \Psi(\boldsymbol{x}) (K \boldsymbol{g})}_{r(g, \boldsymbol{x})}.</math>
   −
残差项衡量的是在子空间<math>V_{N}</math>上近似Koopman算子的误差大小。如果残差项为0,说明我们完美地用一个线性系统重构出了原本的非线性系统。通常情况下,<math>V_{N}</math>不是<math> \mathcal{K} </math>的不变子空间,因此不存在能使<math>\displaystyle{ r(g, \boldsymbol{x}) }</math>对所有<math>\displaystyle{ g \in V_{N} }</math>和<math>\boldsymbol{x} \in \mathcal{X}</math>均为零的<math>\displaystyle{ K }</math>。
+
残差项衡量的是在子空间<math>V_{N}</math>上近似Koopman算子的误差大小。如果残差项为0,说明我们完美地用一个[[线性系统]]重构出了原本的[[非线性系统]]。通常情况下,<math>V_{N}</math>不是<math> \mathcal{K} </math>的不变子空间,因此不存在能使<math>\displaystyle{ r(g, \boldsymbol{x}) }</math>对所有<math>\displaystyle{ g \in V_{N} }</math>和<math>\boldsymbol{x} \in \mathcal{X}</math>均为零的<math>\displaystyle{ K }</math>。
   −
'''优化目标:'''因此,我们的核心任务就变成了找到一个最优的矩阵<math>K</math>,让这个残差项的整体误差最小。为了在系统整个定义域上量化整体误差,我们要让残差项在定义域上求积分。对应的优化问题就是:
+
'''优化目标:'''因此,我们的核心任务就变成了找到一个最优的矩阵<math>K</math>,让这个残差项的整体误差最小。为了在系统整个定义域上[[量化]]整体误差,我们要让残差项在定义域上求积分。对应的优化问题就是:
    
:<math>\displaystyle{ \arg\min_{K' \in \mathbb{C}^{N \times N}} \left\{ \int_{\mathcal{X}} \max_{\substack{g \in \mathbb{C}^{N}, \\ \|\boldsymbol{g}\|=1}} |r(g, \boldsymbol{x})|^2 d\omega(\boldsymbol{x}) = \int_{\mathcal{X}} \|\Psi(F(\boldsymbol{x})) - \Psi(\boldsymbol{x}) K'\|_{\ell^2}^2 d\omega(\boldsymbol{x}) \right\} }</math>
 
:<math>\displaystyle{ \arg\min_{K' \in \mathbb{C}^{N \times N}} \left\{ \int_{\mathcal{X}} \max_{\substack{g \in \mathbb{C}^{N}, \\ \|\boldsymbol{g}\|=1}} |r(g, \boldsymbol{x})|^2 d\omega(\boldsymbol{x}) = \int_{\mathcal{X}} \|\Psi(F(\boldsymbol{x})) - \Psi(\boldsymbol{x}) K'\|_{\ell^2}^2 d\omega(\boldsymbol{x}) \right\} }</math>
   −
等式中,左边的最大化残差项意味着寻找同一组字典函数下最差的观测方向。我们希望最终得到的<math>K</math>即使在最差的观测函数系数下也依然有最小的残差。为了方便比较,我们需要保持<math>\|\boldsymbol{g}\|=1</math>,即所有的系数向量都是单位向量,这样的话我们关注的就只是系数向量的方向。根据柯西-施瓦茨不等式(Cauchy-Schwarz inequality)和范数的定义,一个向量的欧几里得范数(2-范数)就是它在所有单位向量方向上投影的最大值。所以原本求解残差项最大的计算就转化为了上式中等号右边的积分项,其中<math>\|\mathbf{ · }\|_{\ell^2}</math>表示[[向量]]的标准欧几里得范数。
+
等式中,左边的最大化残差项意味着寻找同一组字典函数下最差的观测方向。我们希望最终得到的<math>K</math>即使在最差的观测函数系数下也依然有最小的残差。为了方便比较,我们需要保持<math>\|\boldsymbol{g}\|=1</math>,即所有的系数向量都是单位向量,这样的话我们关注的就只是系数向量的方向。根据[[柯西-施瓦茨不等式(Cauchy-Schwarz inequality)]]和范数的定义,一个向量的[[欧几里得范数(2-范数)]]就是它在所有单位向量方向上[[投影]]的最大值。所以原本求解残差项最大的计算就转化为了上式中等号右边的积分项,其中<math>\|\mathbf{ · }\|_{\ell^2}</math>表示向量的标准欧几里得范数。
   −
不过实际计算中无法直接计算积分(状态空间连续,无法遍历所有状态),因此我们需要用加权求和的方式近似积分:以<math>\displaystyle{ \{x_j\}_{j=1}^M }</math>为[[节点]],<math>\boldsymbol{y}^{(j)} = F(\boldsymbol{x}^{(j)}) </math>,<math>\displaystyle{ \{w_j\}_{j=1}^M }</math>为权重,<math>M </math>为[[初始条件]]数量。通过这种方式,把连续的积分转化为离散的加权和,原来的优化问题就变成了更容易计算的'''[[加权最小二乘问题]]''':
+
不过实际计算中无法直接计算积分([[状态空间]]连续,无法遍历所有状态),因此我们需要用加权求和的方式近似积分:以<math>\displaystyle{ \{x_j\}_{j=1}^M }</math>为[[节点]],<math>\boldsymbol{y}^{(j)} = F(\boldsymbol{x}^{(j)}) </math>,<math>\displaystyle{ \{w_j\}_{j=1}^M }</math>为权重,<math>M </math>为[[初始条件]]数量。通过这种方式,把连续的积分转化为离散的加权和,原来的优化问题就变成了更容易计算的'''[[加权最小二乘问题]]''':
    
:<math>\arg\min_{K'\in\mathbb{C}^{N \times N}} \sum_{j=1}^{M} w_j \|\Psi(y^{(j)}) - \Psi(x^{(j)})K'\|_{\ell_2}^2</math>
 
:<math>\arg\min_{K'\in\mathbb{C}^{N \times N}} \sum_{j=1}^{M} w_j \|\Psi(y^{(j)}) - \Psi(x^{(j)})K'\|_{\ell_2}^2</math>
761

个编辑

导航菜单