【概述】
条件随机场(Conditional Random Field)是给定随机变量 $X$ 的条件下,随机变量 $Y$ 的马尔可夫随机场
这里仅介绍定义在线性链上的特殊的条件随机场,即线性随机场(Linear Chain Conditional Random Field),其在机器学习中常用于标注问题
对于条件概率模型 $P(Y|X)$,其中,$X$ 是输入变量,表示需要标注的观测序列,$Y$ 为输出变量,表示标记序列(在隐马尔可夫模型中,称为状态序列)
与马尔可夫随机场相比,条件随机场也是使用团上的势函数定义概率,两者在形式上没有显著区别,但条件随机场处理的是条件概率,马尔可夫随机场处理的联合概率
【形式定义】
条件随机场
设 $X$ 与 $Y$ 是随机变量,$P(Y|X)$ 是在给定 $X$ 的条件下 $Y$ 的条件概率分布,若随机变量 $Y$ 构成一个由无向图 $G=(V,E)$ 表示的马尔可夫随机场,即:
对任意结点 $v$ 成立,则称条件概率分布 $P(Y|X)$ 为条件随机场
式中,$w\sim v$ 表示在图 $G=(V,E)$ 中与结点 $v$ 有边连接的所有结点 $w$,$w\neq v$ 表示结点 $v$ 以外的所有结点,$Y_v,Y_u,Y_w$ 为结点 $v,u,w$ 对应的随机变量
线性链条件随机场
在条件随机场的定义中,没有要求 $X$ 与 $Y$ 具有相同的结构,但在实际应用中,一般假设 $X$ 与 $Y$ 具有相同的图结构
线性链条件随机场即如下图所示的线性链的情况,有:
在线性链的情况下,$X=(X_1,X_2,\cdots,X_n),Y=(Y_1,Y_2,\cdots,Y_n)$ 均为线性链表示的随机变量序列,最大团是相邻两结点的集合
若在给定随机变量序列 $X$ 的情况下,随机变量序列 $Y$ 的条件概率分布 $P(Y|X)$ 构成条件随机场,即满足马尔可夫性
则称 $P(Y|X)$ 为线性链条件随机场
在标准问题中,$X$ 表示输入观测序列,$Y$ 表示对应的输出标记序列或状态序列,同时将线性链条件随机场简称为条件随机场
【基本形式】
形式
根据 Hammersley-Clifford 定理,可给出线性链条件随机场 $P(Y|X)$ 的因子分解式,各因子是定义在最大团(相邻两结点)上的势函数
设 $P(Y|X)$ 为线性链条件随机场,则在随机变量 $X$ 取值为 $x$ 的条件下,随机变量 $Y$ 取值为 $y$ 的条件概率具有如下形式:
其中,求和是在所有可能的输出序列上进行的,$Z(x)$ 是规范化因子,其保证 $P(y|x)$ 构成一概率分布
$t_k$ 是定义在边上的局部特征函数,依赖于当前和前一个位置,被称为转移特征,$s_l$ 是定义在结点上的局部特征函数,依赖于当前位置,被称为状态特征,$\lambda_k$ 和 $\mu_l$ 是对应的权值
对于转移特征和状态特征,通常当满足特征条件时取 $1$,否则取 $0$,因此,条件随机场完全由特征函数 $t_k,s_l$ 和对应的权值 $\lambda_k,\mu_l$ 确定
示例
设有一标注问题:输入观测序列为 $X=(X_1,X_2,X_3)$,输出标记序列为 $Y=(Y_1,Y_2,Y_3)$,$Y_1,Y_2,Y_3\in \mathcal{Y}=\{1,2\}$
假设特征函数 $t_1$ 和对应的权值 $\lambda_1$ 为:
将特征取值为 $0$ 的条件省略,即有:
以此类推,对于特征函数 $t_k,s_l$ 和对应权值 $\lambda_k,\mu_l$,有:
对于给定的观测序列 $x$,求:标记序列为 $y=(y_1,y_2,y_3)=(1,2,2)$ 的非规范化条件概率
解:线性链条件随机场模型为:
故对给定的观测序列 $x$,标记序列 $y=(1,2,2)$ 的非规范化条件概率为:
【内积形式】
注意到线性链条件随机场中同一特征的各个位置都有定义,故可对同一特征在各个位置求和,将局部特征函数转换为全局特征函数,从而将线性链条件随机场写为权值向量和特征向量的内积形式
设有 $K_1$ 个转移特征,$K_2$ 个状态特征,则总共有 $K=K_1+K_2$ 个特征函数,记:
用 $f_k(y,x)$ 表示转移特征与状态特征在各位置 $i$ 求和,即:
再用 $w_k$ 表示特征 $f_k(y,x)$ 的权值,即:
则线性链条件随机场可写为:
若以 $\mathbf{w}$ 表示权值向量,即:
以 $F(y,x)$ 表示全局特征向量,即:
则线性链条件随机场可写为向量 $\mathbf{w}$ 与 $F(y,x)$ 的内积形式,即:
【矩阵形式】
形式
假设 $P_{\mathbf{w}}(y|x)$ 是由线性链条件随机场,其形式如下:
对每个标记序列引进特殊的起点和终点状态标记 $y_0=\text{start}$ 和 $y_{n+1}=\text{stop}$,此时标注序列的概率 $P_{\mathbf{w}}(y|x)$ 可以通过矩阵形式表示并有效计算
对观测序列 $x$ 的每一位置 $i=1,2,\cdots,n+1$,由于 $y_{i-1}$ 和 $y_i$ 在 $m$ 个标记中取值,故可以定义一个 $m$ 阶矩阵随机变量:
矩阵随机变量的元素为:
这样,在给定观测序列 $x$ 时,线性链条件随机场可写为矩阵形式,即:
其中,相应标记序列 $y$ 的非规范化概率是通过该序列 $n+1$ 个矩阵的适当元素的乘积 $\prod\limits_{i=1}^{n+1} M_i(y_{i-1},y_i|x)$ 来表示,$Z_{\mathbf{w}}(x)$ 是规范化因子,其是 $n+1$ 个矩阵的乘积的 $(\text{start},\text{stop})$ 元素,即以 $\text{start}$ 为起点以 $\text{stop}$ 为终点通过状态的所有路径 $y_1y_2\cdots y_n$ 的非规范化概率 $\prod_{i=1}^{n+1} M_i(y_{i-1},y_i|x)$ 之和
示例
给定一个如下图所示的线性链条件随机场,观测序列 $x$,状态序列 $y,i=1,2,3$,标记 $y_i\in \mathcal{Y}=\{1,2\}$
假设 $y_0=\text{start}=1,y_4=\text{stop}=1$,各位置的随机矩阵如下:
求:状态序列 $y$ 以 $\text{start}$ 为起点 $\text{stop}$ 为终点所有路径的非规范化概率以及规范化因子
解:对于图中从 $\text{start}$ 到 $\text{stop}$ 对应于 $y=(1,1,1),y=(1,1,2),\cdots,y=(2,2,2)$ 各路径的非规范化概率为
通过计算 $M_1(x)M_2(x)M_3(x)M_4(x)$ 可知,其第一行第一列的元素为:
恰好等于从 $\text{start}$ 到 $\text{stop}$ 的所有路径的非规范化概率和,即规范化因子 $Z(x)$
【三个基本问题】
与隐马尔可夫模型类似,线性链条件随机场也存在三个基本问题:
1)概率计算问题
给定线性链条件随机场 $P(Y|X)$,输入序列 $x$ 和输出序列 $y$,计算条件概率 $P(Y_i=y_i|x)$ 和 $P(Y_{i-1}=y_{i-1},Y_i=y_i|x)$,以及相应的数学期望
关于该问题,详见:条件随机场的条件概率计算
2)学习问题
已知线性链条件随机场 $P(Y|X)$,估计 $P(Y|X)$ 的参数
关于该问题,详见:条件随机场的学习
3)预测问题
已知线性链条件随机场 $P(Y|X)$ 和输入序列 $x$,求条件概率最大的输出序列 $y^{*}$,即对输入序列进行标注
关于该问题,详见:条件随机场的预测