【机器学习】基于稀疏识别方法的洛伦兹混沌系统预测

1. 引言

1.1. DNN模型的来由

从数据中识别非线性动态学意味着什么?
假设我们有时间序列数据,这些数据来自一个(非线性)动态学系统。

  • 识别一个系统意味着基于数据推断该系统的控制方程。换句话说,就是找到动态系统方程 x ˙ = f ( x ) \mathbf{\dot x} = f(\mathbf{x}) x˙=f(x)中的 f f f(其中 x \mathbf{x} x 可能是向量值)。
    在这里插入图片描述
    例如,对于Lorenz系统,我们希望从时间序列数据中学习到方程右边的部分。

1.2. 研究稀疏性的意义

为什么我们需要稀疏性?
在这里,稀疏性意味着控制方程中的项数很少。稀疏性是有益的,因为它更具:

  • 可解释性。在需要理解变量及其相互作用的应用中至关重要,例如在需要安全关键保证的应用中。
  • 泛化能力。如果正确,方程将准确描述训练数据所填充的状态空间区域之外的动态。
    通常,人们可以将SINDy识别的模型视为与物理方程相对的模型,而不是大型、不透明的深度神经网络。

2. SINDy算法

SINDy试图找到适合数据 X ˙ = f ( X ) \mathrm{\dot X} = f(\mathrm{X}) X˙=f(X)的动态系统 f f f。这个函数逼近问题被表述为线性回归 X ˙ = Θ ( X ) Ξ \mathrm{\dot X} = \Theta(\mathrm{X}) \Xi X˙=Θ(X)Ξ,其中系数为 Ξ \Xi Ξ 和回归项库 Θ ( X ) \Theta(X) Θ(X)。算法分为三个步骤:

  • 从动态系统生成数据 X X X 并计算导数 X ˙ \dot X X˙
  • 建立候选项库 Θ ( X ) \Theta(X) Θ(X) 作为 X X X上的函数。
  • 稀疏回归系数 Ξ \Xi Ξ,以最好地描述数据。
  1. SINDy假设是测量了 n n n 维数据点的时间序列 x = ( x 1 , … x n ) \mathbf{x}=(x_1, \ldots x_n) x=(x1,xn) m m m 个时间步 t 1 , … , t m t_1, \ldots, t_m t1,,tm,我们定义数据矩阵 X X X 和导数矩阵 X ˙ \dot X X˙ 为:
    X = [ x 1 ( t 1 ) x 2 ( t 1 ) ⋯ x n ( t 1 ) x 1 ( t 2 ) x 2 ( t 2 ) ⋯ x n ( t 2 ) x 1 ( t 3 ) x 2 ( t 3 ) ⋯ x n ( t 3 ) ⋮ ⋮ ⋱ ⋮ x 1 ( t m ) x 2 ( t m ) ⋯ x n ( t m ) ] X=\begin{bmatrix} x_1(t_1)&x_2(t_1)&\cdots&x_n(t_1)\\ x_1(t_2)&x_2(t_2)&\cdots&x_n(t_2)\\ x_1(t_3)&x_2(t_3)&\cdots&x_n(t_3)\\ \vdots&\vdots&\ddots&\vdots\\ x_1(t_m)&x_2(t_m)&\cdots&x_n(t_m)\\ \end{bmatrix} X= x1(t1)x1(t2)x1(t3)x1(tm)x2(t1)x2(t2)x2(t3)x2(tm)xn(t1)xn(t2)xn(t3)xn(tm)
    X ˙ = [ x ˙ 1 ( t 1 )
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MUKAMO

你的鼓励是我们创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值