线性代数的一些理解(更新中)
线性代数的一些理解(更新中)
线性代数是数学中的一个重要分支,广泛应用于工程、物理、计算机科学等领域。本文通过具体例子,深入浅出地解释了线性代数中的两个核心概念:状态转移方程和协方差矩阵。
1. 状态转移方程
以小车运行为例子。一个车匀速在一维坐标前行,速度是2米每秒,起始点是0。如何描述?
设 (x(t)) 表示车辆在时间 (t) 时的位置。根据匀速运动的定义,车辆的速度是恒定的,为 2 米每秒。因此,车辆的位置随时间的变化可以用以下线性方程表示:
[x(t) = 2t]
其中,(x(t)) 表示车辆在时间 (t) 时的位置(单位:米),(t) 表示时间(单位:秒),(2t) 表示车辆在时间 (t) 时已经行驶的距离。
在线性代数中,这个应该怎么写呢?
我们可以将位置 (x(t)) 视为一个列向量,时间 (t) 视为一个标量,速度 (v) 视为一个常数。
假设时间从 (t_0) 到 (t_f),我们可以将时间区间分成 (N) 个离散时间步长。每个时间步长的长度为 (\Delta t = \frac{t_f - t_0}{N})。
我们可以使用以下线性方程来描述车辆的位置随时间的变化:
[x(t_{i+1}) = x(t_i) + v\Delta t]
其中 (x(t_i)) 表示车辆在时间 (t_i) 的位置,(x(t_{i+1})) 表示车辆在时间 (t_{i+1}) 的位置,(v) 表示车辆的速度。
将其转换成矩阵形式:
其中,第一个矩阵是转移矩阵 (A),它将 (x(t_i)) 映射到 (x(t_{i+1}));第二个矩阵是状态向量,包含了初始位置 (x(t_0)) 和车辆的速度 (v)。
另外一种写法:
设状态向量为 (x = [x, v]^T),其中 (x) 表示位置,(v) 表示速度。则状态转移方程可以表示为:
其中,(x_{t+1}) 是下一个时刻的状态向量,(x_t) 是当前时刻的状态向量,(a) 是常量加速度。第一个矩阵是状态转移矩阵,描述了状态变量的演变规律;第二个矩阵描述了加速度对状态变量的影响。
观测方程可以根据具体情况来定义,一般形式为 (z_t = Hx_t + noise),其中 (z_t) 是观测值,(H) 是观测矩阵,描述了观测如何与状态相关联。
初始状态可以表示为 (x_0 = [x_0, v_0]^T),其中 (x_0) 和 (v_0) 是初始位置和速度。
还有一种写法是包含加速度:
如果状态向量需要增加加速度,则状态向量的维度需要扩展,同时更新状态转移方程和观测方程。假设状态向量为 (x = [x, v, a]^T),其中 (x) 表示位置,(v) 表示速度,(a) 表示加速度,则状态转移方程可以表示为:
其中 (x_t) 是初始位置,(x') 是速度,(x'') 是加速度。上面的矩阵,等价于:
这里再复习一下矩阵乘法。矩阵乘法其实就是方程的另一种表现形式,写成矩阵并不是为了装逼,在计算机中,矩阵乘法可以显著加速运算(算法矩阵提速原理-CSDN博客),所以都写成矩阵模式。个人觉得有些教程还可以先写成方程组的形式,方便理解。
假设我们有一个 2×2 矩阵 A 和一个 2×1 矩阵 B:
我们想要计算它们的乘积 C=A×B。
[c_1 = (1×5)+(2×6)=5+12=17]
[c_2 = (3×5)+(4×6)=15+24=39]
2. 协方差矩阵
假设我们有两个随机变量,分别表示一个人的身高和体重。我们想要描述这两个变量之间的关系,我们可以使用一个 2x2 的协方差矩阵来表示。
假设身高的标准差为 10 厘米,体重的标准差为 5 公斤,而身高和体重之间的相关系数为 0.7。
协方差矩阵 P 将如下所示:
身高方差 = (身高标准差)平方 = 1010 = 100 平方厘米
体重方差 = (体重标准差)平方 = 55 = 25 平方公斤
身高与体重的协方差 = 相关系数×(身高标准差)×(体重标准差) = 0.7×10×5 = 35 平方厘米\公斤
因此,协方差矩阵为: