Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

Sequential Data / Temporal Data

针对Sequential Data我们一般会这样划分机器学习的数据集,只用未来的数据进行测试:

image-20260420094940660

Autoregressive Models

Motivation & Definitions

Motivation: 很多时间序列都有这种特点:

  • 今天气温和昨天气温接近
  • 今天销量会受前几天销量影响
  • 今天利率、通胀、库存、流量,通常和前几天的数据有关系

所以就有了以下定义的 autoregressive model:

Definition: An autoregressive model AR(p) of order $p$ is defined as

where $\varphi_1, \ldots, \varphi_p$ are the parameters, $c$ is a constant, and $\varepsilon_t \sim N(0,\sigma)$ is white noise. The variable $X_{t-i}$ is the lagged value of $X$ at time $t-i$.

也可以写成:


注意,随着t增加,$\varphi_i$不变,但是会跟着一起”平移“:

对应的Graphical Model:

image-20260420094431911

Definition:

  • The mean function of an AR model is $\mu(t) = E[X_t]$.
    By default, it depends on $t$.

  • The autocovariance is $\gamma(t,i) = \operatorname{Cov}(X_t, X_{t-i})$.
    By default, it depends on $t$ and $i$.

  • The autocovariance function can be normalized to give the Pearson autocorrelation function

    It lies in $[-1,1]$.


参数学习(Parameter learning)

先假设$c=0$,不难发现对 $t = p, p+1, p+2, \ldots, T$,分别有::

写成矩阵的形式就是:

记成:

用OLS(ordinary least squares)的公式可得:


如果$c$不等于0的话,把$X$和$\varphi$调整成:

再套用公式即可。

Stationary

Definition:

A process is said to be stationary if

  1. $E[X_t] = E[X_{t-i}] = \mu,\ \forall\ t,\forall\ i$(也就是$E[X_t] \equiv \mu \ \forall t$)
  2. $\text{Cov}(X_t, X_{t-i}) = \gamma_i,\ \forall\ t,\forall\ i$
  3. $E!\left[|X_t|^2\right] < \infty,\ \forall\ t$


在满足stationary的条件下,我们可以用Yule-Walker equations来学习参数:

先计算:

Yule-Walker equations:

因为

所以这里的Yule-Walker矩阵也可以写成对称的形式:


注意到其实Yule-Walker矩阵本质上是一个协方差矩阵,假设

那么


Yule-Walker equations的推导:

还是假设$c=0$并且期望值等于$\mu = 0$:

(不为0的话就考虑$Y_t := X_t - \mu$,其中$\mu$满足$c + \sum_{i=1}^{p} \varphi_i \mu$。)

在两边同时乘上一个$X_{t-k}$($k \geq 1$):

再同时取expectation:

因为我们一开始假设了$\mu = 0$,所以

也就是说上面的等式可以写成:

观察$k=1,…,p$的部分,就得到了Yule-Walker equations:

Markov Chains

我们假设r.v $X_t$和time index都是离散的。

Definition: A Markov Chain is a sequence of r.v. $X_1, X_2, \ldots, X_T$ which fulfills the Markov property:


也就是说,当前状态出现的概率只取决于上一个状态。

Joint distribution则是:


General的情况下,每个r.v的分布可能是不同的,也就是说

here $\pi \in \mathbb{R}^K$ is a prior probability on the initial state, and $A^{(t)} \in \mathbb{R}^{K \times K}$ are the transition matrices.

image-20260420125911751

但是我们这里考虑简单点的情况:time-homogeneous / stationary Markov Chain

也就是$A^{(t)} \equiv A \ \forall t$。

image-20260420130038723

Theorem:


Theorem:


参数学习(Parameter learning)

核心思路就是用MLE(maximum likelihood estimation)。

假设有$N$条观测序列:

每条的长度是$T_i$。比如说

对于每条观测序列都有:

所以

统计初始状态次数(多少条序列是从$i$开始的)以及状态转移次数($i$到$j$的次数):

于是

在满足$\sum_k \pi_k = 1$和$\sum_j A_{ij} = 1$的情况下maximize $\log P(\mathcal{D})$就会得到:

所以$\hat{A}$适合一行一行算。

例子:

统计一下:

所以可以得到

Hidden Markov Models

现实中很多系统的真实状态并不能直接被看到,我们只能通过观测来间接感知。

所以我们需要考虑当序列数据的真实状态看不见,只能看到带噪声的观测时,怎么建模、推断和学习参数。

比如说我们考虑一个观测飞机位置的例子:

  • 真正的状态是位置、速度等物理量,是隐藏变量
  • 传感器读到的是有噪声的位置,是观测变量

真实状态序列可能满足 Markov 性,但观测序列本身未必满足,所以需要 HMM。

Definition: A Hidden Markov Model (HMM) is composed of a sequence of hidden/latent variables $[Z_1,\ldots,Z_T]$ and a sequence of observed variables $[X_1,\ldots,X_T]$ such that:

  • The r.v. $Z_1,\ldots,Z_T$ satisfy the Markov property:

where $P(Z_{t+1}\mid Z_t)$ are the transition probabilities.

  • Distribution of $X_t$ depends only on $Z_t$:

where $P(X_{t+1}\mid Z_{t+1})$ are the emission probabilities.

也就是说当前隐藏状态只依赖上一个隐藏状态,并且当前观测状态只取决于当前的隐藏状态。


和之前一样,可以这样建模:

image-20260424155445891

但为了降低参数数量,我们还是假设所有时间点共享一样的分布$A,B$:

image-20260424160701507


在HMM中,我们一般有2种任务(都是假设已知观测数据$X_{1:T}$):

  • Inference:参数($(\pi, A, B)$)已知,推导隐藏状态
  • Parameter Learning:隐藏状态未知,学习模型参数

Inference

而Inference一般也分3种:

  • Filtering: computes $P(Z_t \mid X_{1:t} )$ online

    只拥有到目前为止的所有观测信息,也就是及时判断。

    image-20260424172709372

  • Smoothing: computes $P(Z_t \mid X_{1:T} )$ offline

    拥有全部的观测信息,也就是事后回顾。

    image-20260424173000407

  • MAP inference: computes $\text{arg } \underset{Z_{1:T}}{\text{max}}P(Z_{1:T} \mid X_{1:T} )$

    image-20260424172930853

Filtering

computes $P(Z_t \mid X_{1:t} )$.

Forward Algorithm:

根据Bayes rule:

Forward Algorithm主要就分2步:

  1. 计算$\alpha_1$(initialisation)


  2. 给定$\alpha_t$,计算$\alpha_t$(recursion)

    写成矩阵的话就是:

    (其中$\odot$ denotes the Hadamard product:$(A \odot B)_{ij} = (A)_{ij}(B)_{ij}.$)

计算$\alpha_{1:T}$的复杂度为$O(TK^2)$。


Smoothing

computes $P(Z_t \mid X_{1:T} )$ .

Forward-Backward Algorithm

在之前forward的基础上再定义一个$\beta$:

那么根据Bayes就有:

Backward Algorithm也分2步:

  • 计算$\beta_T$(initialisation)

    因为在$T$的时候:

    $\alpha_T(k)$已经捕获了所有已知信息了,所以$\beta_T(k)$就需要是个常量。


  • 给定$\beta_{t+1}$,计算$\beta_t$(recursion)

    写成矩阵的话就是:

计算$\beta_{1:T}$的复杂度也为$O(TK^2)$。

最后计算

即可。

MAP inference

Viterbi algorithm

注意到:

注意到每一项都只取决于$Z_t$和$Z_{t-1}$,所以我们可以把它转成一个图论里的最短路径问题

image-20260425000853114

其中:

  • 和start相连的边的权重:$-\log\left[ \Pr(Z_1=j)\Pr(X_1\mid Z_1=j) \right]$
  • 中间层:$-\log\left[\Pr(Z_t=j\mid Z_{t-1}=i)\Pr(X_t\mid Z_t=j)\right]$
  • 和start相连的边:$0$

复杂度依旧是$O(TK^2)$。

Parameter Learning

$X_{1:T}$已知,$Z_{1:T}$未知。

目标:求

也就是说虽然 $X$ 观测到了,但背后的状态序列 $Z_{1:T}$ 没看到,所以必须把所有可能的隐藏状态序列都加起来。但隐藏状态序列的可能数是指数级的,所以不能直接做。

但注意到这和GMM问题很像,所以我们考虑用EM算法求近似解。

Baum-Welch algorithm

  • E step: evaluate the posterior:

    其中

  • M step: maximize the expected joint log-likelihood

    其中

Continuous Data

我们之前假设的是离散的情况:discrete time $t \in \{1,2,\ldots,T\}$ and discrete r.v.$Z_t \in \{1,2,\ldots,K\}$, $X_t \in \{1,2,\ldots,K’\}$

我们现在关注discrete time $t \in \{1,2,\ldots,T\}$, discrete r.v. $Z_t \in \{1,2,\ldots,K\}$, and continuous $X_t \in \mathbb{R}^d$:

image-20260425100133754

Inference部分基本不变,只需要把所有计算

的部分改成

即可。

Parameter Learning的部分,E-Step没有变化,M-step需要一点调整:

而它的参数更新的公式:

和GMM里更新高斯参数的形式是等价/一样的。

唯一的区别就是:

  • 在 GMM 里,不同观测样本$X_t$是独立的(independent)
  • 在 HMM 里,观测 $X_t$ 在给定隐藏状态之后是条件独立的(conditional independent given $Z$)

Neural Network Approches

Word Vectors

由于神经网络不能直接处理单词,所以我们需要先把词表示成向量,方便后续计算处理。

最简单的想法就是one-hot encoding:假设有个单词数量为n的单词表,把每个单词转成一个维度为n的向量(其中有且仅有一项等于1)。但它有三个问题:维度高、稀疏、假设词之间相互独立。

于是就引出了 word vectors / embeddings:相似词的向量应该接近,比如 “hotel” 和 “motel”,”man”和”woman”,”walking”和”walked”。这基于分布式假设:出现在相似上下文中的词,通常有相似含义


有2种常见的获取word vectors的方法:

1. Co-occurence Matrix + SVD

这个方法偏统计。它的初始想法很直观:一个词的含义可以通过“它经常和哪些词一起出现”来表示。

先统计一个词附近出现哪些词,得到一个co-occurrence matrix。然后再用SVD把高维稀疏向量压缩成低维稠密向量。

优点是相似的单词会得到相似的向量。

缺点是计算慢,而且新词不好加入。

2. Word2Vec

这种方法偏预测

先设计一个预测任务,然后用神经网络学习词向量。

来看2个经典模型:

1. CBOW (Continuous Bag-of-Words):

给定一个词周围的上下文词(window),预测中间词。

但是这种方法对稀有词不太好,因为稀有词出现次数非常少,模型很少有机会把它作为要预测的目标词,所以不容易学好它的向量。

2. Skip-gram:

给定中心词,预测它周围的上下文词。

它对稀有词更友好(可以这样理解:如果一个 rare word 出现了,模型会强迫自己用这个 rare word 去预测它的上下文。这样模型必须理解这个 rare word 通常出现在什么环境中,因此更容易学到它的含义。),但训练起来也会更慢。

来看一下具体的结构:

假设词表大小是$N$,并且每个词一开始用one-hot vector来表示。

Embedding则是通过一个矩阵$U \in \mathbb{R}^{N \times D}$来实现的。由于所有输入都是one-hot vector,所有相当于$U$的每一行都是对应一个单词的embedding结果的。

在此基础上还需要一个矩阵$V \in \mathbb{R}^{D \times N}$,用来把中心词 embedding 转换成对整个词表的预测分数。最后再套上softmax就会得到一个上下文单词的概率分布。

也就是整体流程是这样的:

image-20260429222523150

假设$S=[x_{i-l},\ldots,x_{i-1},x_{i+1},\ldots,x_{i+l}]$是当前$x_i$的大小为$l$的window,$\theta = (U,V)$为模型参数,那么我们的训练目标就是最大化这个期望值:

其中

但是注意到,softmax的形式是:

为了计算这个分母我们需要遍历整个单词表,当单词表很大的时候会非常低效。

所以可以用negative sampling技巧:我们不再把问题看成从整个词表中预测正确上下文词,而是把它变成一个二分类问题:判断一个词对是不是真实的上下文关系。

利用(最小化)这个Loss来训练模型:

并且用sigmoid代替softmax:

如果两个词经常一起出现,它们的向量点积应该大,sigmoid 后接近 1。
如果两个词很少一起出现,它们的向量点积应该小,sigmoid 后接近 0。

RNNs

我们刚才看了如何处理单个单词。但我们该怎么处理一整句话、一个音频片段、一个时间序列呢?尤其是它们的长度都各不相同。

答案就是Recurrent Neural Networks (RNNs)。它的基本想法就是用一个 hidden state 来总结到目前为止读过的序列信息。

RNN可以处理多种任务:

image-20260429231532875

来看正式的定义

假设输入是$\{x^{(1)},\ldots,x^{(T)}\}$,并且输出$\{y^{(1)},\ldots,y^{(T)}\}$。我们现在希望知道

的概率分布。

所以我们用 $h^{(t-1)}$表示/记录$\{x^{(1)},\ldots,x^{(t-1)}\}$的信息。

具体的更新公式:

image-20260429233633786

训练的时候关注negative log-likelihood:


当我们将RNN展开(unrolling):

image-20260429234233722

就会发现它像一个很深的神经网络,所以可以用反向传播训练。

Non-Recurrent Modesl (ConvNets, Transformer)

Stuctured State Space Models