状态空间方程
状态空间方程提供了一种将系统的数学模型表达为一组一阶微分方程的方法,描述了系统状态的演变和输出方程。
由两个主要方程组成:
-
状态方程:
描述系统状态随时间的变化。对于线性系统,状态方程可以写为:
x ˙ ( t ) = A x ( t ) + B u ( t ) \dot{x}(t)=Ax(t)+Bu(t) x˙(t)=Ax(t)+Bu(t)
其中 x ˙ ( t ) \dot{x}(t) x˙(t)表示状态向量 x x x关于时间的导数, A A A是系统矩阵,描述系统状态之间的作用, B B B是输入矩阵,描述外部输入 u ( t ) u(t) u(t)如何影响系统状态。 -
输出方程:
描述系统输出与系统状态之间的关系,对于线性系统,输出方程可以写为:
y ( t ) = C x ( t ) + D u ( t ) {y}(t)=C{x}(t)+Du(t) y(t)=Cx(t)+Du(t)
其中, y ( t ) y(t) y(t)是输出向量, C C C是输出矩阵,描述系统状态如何影响输出,而 D D D是直接传递矩阵,描述输入如何直接影响输出。
状态空间方程在机器学习和深度学习中的应用
循环神经网络(RNNs)
RNN的核心思想与状态空间模型紧密相关,在RNN中,网络的隐藏状态可以被视为动态系统的“状态”,而网络的权重定义了状态如何随时间演化(状态转移)以及如何生成输出(输出方程)。
对于一个基本的RNN单元,给定时刻 t t t的输入 x t x_t xt和上一时刻的隐藏状态 h t − 1 h_{t-1} ht−1,隐藏状态的更新可以表示为:
h t = f ( W h h h t − 1 + W x h x t + b h ) h_t=f(W_{hh}h_{t-1}+W_{xh}x_t+b_h) ht=f(Whhht−1+Wxhxt+bh)
其中, f f f是激活函数, W h h W_{hh} Whh和 W x h W_{xh} Wxh分别是隐藏状态和输入到隐藏状态的权重矩阵 b h b_h bh是偏置项。
输出 y t y_t yt于时刻 t t t可以通过对当前隐藏状态 h t h_t ht应用另一组权重 W h y W_{hy} Why和偏置 b y b_y by来计算:
y t = g ( W h y h t + b y ) y_t=g(W_{hy}h_t+b_y) yt=g(Whyht+by)
其中 g