3. 算法概述
接下来的两个部分分别讨论条件随机场的推断和参数估计。参数估计是找到参数集合\(\theta\),以使得分布\(p(\mathbf{y}|\mathbf{x},\theta)\)能够最佳拟合训练样本\(\mathcal{D}=\{\mathbf{x}^{(i)}, \mathbf{y}^{(i)} \}_{i=1}^N\),其中样本的输入输出已知。直觉上,我们在参数估计过程中要实现的是,如果已知训练输入\(\mathbf{x}^{(i)}\),模型在输出上的分布\(p(\mathbf{y}|\mathbf{x}^{(i)}, \theta)\)应当“貌似”训练数据中真实的\(\mathbf{y}^{(i)}\)的分布。
量化这种直觉的一种方法,是利用模型的特征函数。考虑一个线性链条件随机场。对于每个特征\(f_k(y_t,y_{t-1},\mathbf{x}_t)\),我们希望数据中\(f_k\)的总值(total value),与根据条件模型\(p(\mathbf{y}|\mathbf{x},\theta )\)对\(\mathbf{y}\)抽样,从而在训练样本中随机选择的输入序列\(\mathbf{x}\)中得到的\(f_k\)的总值相等。正式来说,这要求所有的\(f_k\)满足
\[ \sum_{i=1}^N \sum_{t=1}^T f_k(y_t^{(i)}, y_{t-1}^{(i)}, \mathbf{x}_t^{(i)}) = \sum_{i=1}^N \sum_{t=1}^T \sum_{y,y'} f_k(y,y',\mathbf{x}_t^{(i)}) p(y_t=y,y_{t-1}=y' | \mathbf{x}^{(i)}). \]
很明显,这个方程组可以通过目标函数对参数求梯度得到。一旦我们有了目标函数,就可以利用标准的数值技术来优化它。具有这种特性的目标函数是似然函数
\[ \ell (\theta) = p(\mathbf{y}^{(i)}|\mathbf{x}^{(i)}, \theta) = \sum_{i=1}^N\sum_{t=1}^T\sum_{k=1}^K\theta_k f_k(y_t^{(i)}, y_{t-1}^{(i)}, \mathbf{x}_t^{(i)}) - \sum_{i=1}^N\log Z(\mathbf{x}^{(i)}), \]
它是训练数据在模型中出现的概率,可看作是参数向量的函数。
训练条件随机场的标准方法是极大似然估计,确定参数\(\hat{\theta}_{\text{ML}}=\sup _\theta \ell(\theta)\)。极大似然估计背后的思想是,当模型参数为\(\hat{\theta}_{\text{ML}}\)时,观测到的数据出现的概率最大。为了将其与特征期望相等的讨论相连系,对参数\(\theta_k\)求偏导并令其等于0。于是就精确地得到了我们前面提到的期望特征的匹配条件。
尽管我们介绍的是线性链条件随机场的极大似然估计思想,但任意结构条件随机场也与其类似。在任意结构条件随机场中,计算似然函数梯度时需要确定任意结构图模型中变量集合\(Y_a\)上的边缘分布\(p(\mathbf{y}_a|\mathbf{x},\theta)\),而线性链条件随机场中则为链上相邻变量的边缘分布\(p(y_t,y_{t-1}|\mathbf{x},\theta)\)。
参数估计过程中边缘分布的计算量巨大。这是概率推断(probabilistic inference)算法需要完成的任务。一般情况下,推断的目的是在\(\theta\)固定的情况下,给定\(\mathbf{x}\)对输出\(\mathbf{y}\)进行预测。我们将会关注两种具体的推断问题:
- 计算输出变量子集\(Y_a\)上的边缘分布\(p(\mathbf{y}_a|\mathbf{x},\theta)\)。通常,\(Y_a\)包含单一的变量,或者为共享一个因子的相邻变量的集合。该问题的算法一般也会同时将似然函数中的归一化函数\(Z(\mathbf{x})\)求出。
- 计算标记\(\mathbf{y}^* = \arg \max_\mathbf{y} p(\mathbf{y}|\mathbf{x},\theta)\),即给出一个新的输入\(\mathbf{x}\)计算最可能的一个标记序列。
边缘分布\(p(\mathbf{y}_a|\mathbf{x},\theta)\)和归一化函数\(Z(\mathbf{x})\)用于参数估计。一些参数估计方法,如利用有随内存的BFGS算法进行极大似然估计,同时需要边缘分布和归一化函数。有的参数估计方法,如随机梯度下降,则仅需要边缘分布。通常使用Viterbi算法来确定新数据\(\mathbf{x}\)的标记\(\mathbf{y}^*\)。
这些推断任务可以利用标准的图模型技术来解决。对于树结构的模型,能够得到精确结果,而在任意结构的模型中常常需要借助于近似方法。
接下来的两部分讨论线性链条件随机场和任意结构条件随机场的推断和参数估计。首先,在第4部分,讨论条件随机场的推断方法,包括树结构条件随机场的精确方法和任意结构条件随机场的近似方法。从某种意义上来说,由于条件随机场是一种无向图模型,因而可以使用图模型的标准方法,但我们主要关注最适用于条件随机场的方法。接下来在第5部分中讨论参数估计问题。尽管极大似然估计过程从概念上来说很简单,但它要求巨大的计算量。我们即给出了标准极大似然估计的过程,将近似推断与极大似然相结合,也给出了大规模数据和复杂结构条件随机场的近似训练方法。