四、条件随机场 CRF

  1. 生成式概率图模型是直接对联合分布进行建模,如隐马尔可夫模型和马尔可夫随机场都是生成式模型。

    判别式概率图模型是对条件分布进行建模,如条件随机场Conditional Random Field:CRF

  2. 条件随机场试图对多个随机变量(它们代表标记序列)在给定观测序列的值之后的条件概率进行建模:

    四、条件随机场 CRF - 图1 为观测变量序列, 四、条件随机场 CRF - 图2 为对应的标记变量序列。条件随机场的目标是构建条件概率模型 四、条件随机场 CRF - 图3

    即:已知观测变量序列的条件下,标记序列发生的概率。

  3. 标记随机变量序列 四、条件随机场 CRF - 图4 的成员之间可能具有某种结构:

    • 在自然语言处理的词性标注任务中,观测数据为单词序列,标记为对应的词性序列(即动词、名词等词性的序列),标记序列具有线性的序列结构。
    • 在自然语言处理的语法分析任务中,观测数据为单词序列,标记序列是语法树,标记序列具有树形结构。
  4. 四、条件随机场 CRF - 图5 表示与观测变量序列 四、条件随机场 CRF - 图6 和标记变量序列 四、条件随机场 CRF - 图7 对应的无向图, 四、条件随机场 CRF - 图8 表示与结点 四、条件随机场 CRF - 图9 对应的标记随机变量, 四、条件随机场 CRF - 图10 表示结点 四、条件随机场 CRF - 图11 的邻接结点集。若图 四、条件随机场 CRF - 图12 中结点对应的每个变量 四、条件随机场 CRF - 图13 都满足马尔可夫性,即:

    四、条件随机场 CRF - 图14

    四、条件随机场 CRF - 图15 构成了一个条件随机场。

4.1 链式条件随机场

  1. 理论上讲,图 四、条件随机场 CRF - 图16 可以具有任意结构,只要能表示标记变量之间的条件独立性关系即可。

    但在现实应用中,尤其是对标记序列建模时,最常用的是链式结构,即链式条件随机场chain-structured CRF

    如果没有特殊说明,这里讨论是基于链式条件随机场。

    四、条件随机场 CRF - 图17

  2. 给定观测变量序列 四、条件随机场 CRF - 图18 ,链式条件随机场主要包含两种关于标记变量的团:

    • 单个标记变量与 四、条件随机场 CRF - 图19 构成的团: 四、条件随机场 CRF - 图20
    • 相邻标记变量与 四、条件随机场 CRF - 图21 构成的团: 四、条件随机场 CRF - 图22
  3. 与马尔可夫随机场定义联合概率的方式类似,条件随机场使用势函数和团来定义条件概率 四、条件随机场 CRF - 图23

    采用指数势函数,并引入特征函数feature function,定义条件概率:

    四、条件随机场 CRF - 图24

    其中:

    • 四、条件随机场 CRF - 图25 :在已知观测序列情况下,两个相邻标记位置上的转移特征函数transition feature function

      • 它刻画了相邻标记变量之间的相关关系,以及观察序列 四、条件随机场 CRF - 图26 对它们的影响。
      • 位置变量 四、条件随机场 CRF - 图27 也对势函数有影响。比如:已知观测序列情况下,相邻标记取值(代词,动词)出现在序列头部可能性较高,而(动词,代词)出现在序列头部的可能性较低。
    • 四、条件随机场 CRF - 图28 :在已知观察序列情况下,标记位置 四、条件随机场 CRF - 图29 上的状态特征函数status feature function

      • 它刻画了观测序列 四、条件随机场 CRF - 图30 对于标记变量的影响。
      • 位置变量 四、条件随机场 CRF - 图31 也对势函数有影响。比如:已知观测序列情况下,标记取值 名词出现在序列头部可能性较高,而 动词 出现在序列头部的可能性较低。
    • 四、条件随机场 CRF - 图32 为参数, 四、条件随机场 CRF - 图33 为规范化因子(它用于确保上式满足概率的定义)。

      四、条件随机场 CRF - 图34 为转移特征函数的个数,四、条件随机场 CRF - 图35 为状态特征函数的个数。

  4. 特征函数通常是实值函数,用来刻画数据的一些很可能成立或者预期成立的经验特性。

    一个特征函数的例子(词性标注):

    四、条件随机场 CRF - 图36

    • 转移特征函数刻画的是:第 四、条件随机场 CRF - 图37 个观测值 四、条件随机场 CRF - 图38 为单词 "knock" 时,相应的标记 四、条件随机场 CRF - 图39四、条件随机场 CRF - 图40 很可能分别为 [V][P]
    • 状态特征函数刻画的是: 第 四、条件随机场 CRF - 图41 个观测值 四、条件随机场 CRF - 图42 为单词 "knock" 时,标记 四、条件随机场 CRF - 图43 很可能为 [V]
  5. 条件随机场与马尔可夫随机场均使用团上的势函数定义概率,二者在形式上没有显著区别。

    条件随机场处理的是条件概率,马尔可夫随机场处理的是联合概率。

  6. 四、条件随机场 CRF - 图44 的形式类似于逻辑回归。事实上,条件随机场是逻辑回归的序列化版本。

    • 逻辑回归是用于分类问题的对数线性模型。
    • 条件随机场是用于序列化标注的对数线性模型。

4.1.1 CRF 的简化形式

  1. 注意到条件随机场中的同一个特征函数在各个位置都有定义,因此可以对同一个特征在各个位置求和,将局部特征函数转化为一个全局特征函数。

    这样就可以将条件随机场写成权值向量和特征向量的内积形式,即条件随机场的简化形式。

  2. 设有 四、条件随机场 CRF - 图45 个转移特征函数, 四、条件随机场 CRF - 图46 个状态特征函数。令 四、条件随机场 CRF - 图47 ,定义:

    四、条件随机场 CRF - 图48

    注意:四、条件随机场 CRF - 图49要求 四、条件随机场 CRF - 图50, 而 四、条件随机场 CRF - 图51 要求 四、条件随机场 CRF - 图52 ,因此对于边界条件要特殊处理。

    对转移与状态函数在各个位置 四、条件随机场 CRF - 图53 求和,记作:

    四、条件随机场 CRF - 图54

    其中 四、条件随机场 CRF - 图55 为标记变量序列, 四、条件随机场 CRF - 图56 为观测变量序列。

    该式子刻画的是特征函数在所有位置上的和,可以理解为特征函数在所有位置上的得的总分。

  3. 四、条件随机场 CRF - 图57 表示特征 四、条件随机场 CRF - 图58 的权值,即:

    四、条件随机场 CRF - 图59

    则条件随机场可以简化为:

    四、条件随机场 CRF - 图60

    其中 四、条件随机场 CRF - 图61四、条件随机场 CRF - 图62 表示对所有可能的标记序列进行求和。

  4. 定义权值向量为 四、条件随机场 CRF - 图63 ,定义全局特征向量为:

    四、条件随机场 CRF - 图64

    则条件随机场可以简化为:

    四、条件随机场 CRF - 图65

    其中 四、条件随机场 CRF - 图66四、条件随机场 CRF - 图67 表示对所有可能的标记序列进行求和。

    四、条件随机场 CRF - 图68 的物理意义为:已知序列 四、条件随机场 CRF - 图69 的条件下,标记序列为 四、条件随机场 CRF - 图70 的未归一化的概率。它就是每个特征函数的总分的加权和(权重为特征函数的权重)。

4.1.2 CRF 的矩阵形式

  1. 假设标记变量 四、条件随机场 CRF - 图71 的取值集合为 四、条件随机场 CRF - 图72, 其中 四、条件随机场 CRF - 图73 是标记的取值个数。

    对于观测变量序列和标记变量序列的每个位置 四、条件随机场 CRF - 图74 ,定义一个 四、条件随机场 CRF - 图75 阶矩阵:

    四、条件随机场 CRF - 图76

    其中:四、条件随机场 CRF - 图77 。i其中:

    四、条件随机场 CRF - 图78

    四、条件随机场 CRF - 图79 物理意义是:在位置 四、条件随机场 CRF - 图80 ,所有转移特征函数值加上所有状态特征函数值。对其取指数则是非规范化概率。

  2. 引入两个特殊的状态标记:起点状态标记 四、条件随机场 CRF - 图81 表示起始符,终点状态标记 四、条件随机场 CRF - 图82 表示终止符。

    • 四、条件随机场 CRF - 图83 表示第 0 个位置的标记为 四、条件随机场 CRF - 图84 ,第 1个位置的标记为 四、条件随机场 CRF - 图85

      第 0 个位置是一个虚拟符号,表示这是一个新的序列。因为 四、条件随机场 CRF - 图86 状态取值只能是 四、条件随机场 CRF - 图87 ,则:

      四、条件随机场 CRF - 图88

    • 四、条件随机场 CRF - 图89 表示第 四、条件随机场 CRF - 图90 个位置的标记为 四、条件随机场 CRF - 图91 ,第 四、条件随机场 CRF - 图92 个位置的标记为 四、条件随机场 CRF - 图93 。由于序列长度为 四、条件随机场 CRF - 图94,因此第 四、条件随机场 CRF - 图95 个位置是一个虚拟符号,表示该序列结束。因为 四、条件随机场 CRF - 图96 的取值只能是 四、条件随机场 CRF - 图97 ,则:

      四、条件随机场 CRF - 图98

      因此 四、条件随机场 CRF - 图99四、条件随机场 CRF - 图100 中包含大量的 0 。

  3. 给定观测变量序列 四、条件随机场 CRF - 图101 , 标记变量序列 四、条件随机场 CRF - 图102 可以这样产生:

    • 首先位于起点状态 四、条件随机场 CRF - 图103
    • 然后从 四、条件随机场 CRF - 图104 转移到 四、条件随机场 CRF - 图105
    • 最后到达终点状态 四、条件随机场 CRF - 图106

    于是条件概率为:

    四、条件随机场 CRF - 图107

    其中 四、条件随机场 CRF - 图108 是以 四、条件随机场 CRF - 图109 为起点,以 四、条件随机场 CRF - 图110 为终点的所有标记路径的非规范化概率 四、条件随机场 CRF - 图111 之和 :

    四、条件随机场 CRF - 图112

    它也等于矩阵乘积 四、条件随机场 CRF - 图113 的结果的第一个元素(位于第一行第一列)的元素。

    根据 四、条件随机场 CRF - 图114四、条件随机场 CRF - 图115 的性质,该结果矩阵只有第一个元素非零,其他所有元素都为 0)。

  4. 如下图所示,上半部分是条件随机场的示意图,下半部分是条件随机场所有可能的路径。

    • 除了起点和终点外,每个节点都有 四、条件随机场 CRF - 图116 个可能的取值。
    • 起点取值只能是 四、条件随机场 CRF - 图117, 终点取值只能是 四、条件随机场 CRF - 图118
    • 红色粗实线给出了从起点到终点的一条可能的路径。

    四、条件随机场 CRF - 图119

  5. 矩阵形式和前述形式是统一的:

    四、条件随机场 CRF - 图120

    与前述形式区别在于:这里由于引入了两个特殊的状态标记:起点状态标记、终点状态标记,从而累加的区间为 四、条件随机场 CRF - 图121

    由于引入的状态标记是人为引入且状态固定的,因此相当于引入了常量。它会相应的改变 四、条件随机场 CRF - 图122 的值,最终结果是统一的。

4.2 概率计算问题

4.2.1 概率计算

  1. 条件随机场的概率计算问题是:已知条件随机场 四、条件随机场 CRF - 图123,其中 四、条件随机场 CRF - 图124 的取值集合为 四、条件随机场 CRF - 图125, 给定观测值序列 四、条件随机场 CRF - 图126 , 给定标记值序列 四、条件随机场 CRF - 图127 ,其中 四、条件随机场 CRF - 图128

    • 计算条件概率: 四、条件随机场 CRF - 图129
    • 计算条件概率: 四、条件随机场 CRF - 图130

    类似隐马尔可夫模型,可以通过前向-后向算法解决条件随机场的概率计算问题。

  2. 采用 CRF 的矩阵形式,对于每个指标 四、条件随机场 CRF - 图131,(包括了起点标记和终点标记):

    • 定义前向概率 四、条件随机场 CRF - 图132 :表示在位置 四、条件随机场 CRF - 图133 的标记是 四、条件随机场 CRF - 图134 ,并且到位置 四、条件随机场 CRF - 图135 的前半部分标记序列的非规范化概率。

      由于 四、条件随机场 CRF - 图136 的取值有 四、条件随机场 CRF - 图137 个,因此前向概率向量 四、条件随机场 CRF - 图138四、条件随机场 CRF - 图139 维列向量:

      四、条件随机场 CRF - 图140

    • 定义后向概率 四、条件随机场 CRF - 图141 表示在位置 四、条件随机场 CRF - 图142 的标记是 四、条件随机场 CRF - 图143 ,并且从位置 四、条件随机场 CRF - 图144 的后半部分标记序列的非规范化概率。

      由于 四、条件随机场 CRF - 图145 的取值有 四、条件随机场 CRF - 图146 个,因此后向概率向量 四、条件随机场 CRF - 图147 也是 四、条件随机场 CRF - 图148 维列向量:

      四、条件随机场 CRF - 图149

  3. 根据 CRF 的矩阵形式, 前向概率 四、条件随机场 CRF - 图150 的递推形式为:

    四、条件随机场 CRF - 图151

    • 其物理意义是:所有从起点到 四、条件随机场 CRF - 图152 的路径再通过 四、条件随机场 CRF - 图153 转移到 四、条件随机场 CRF - 图154

    • 根据前向概率向量 四、条件随机场 CRF - 图155 的定义,则也可以表示为:

      四、条件随机场 CRF - 图156

  4. 根据 CRF 的矩阵形式,后向概率 四、条件随机场 CRF - 图157 的递归形式为:

    四、条件随机场 CRF - 图158

    • 其物理意义可以这样理解:从 四、条件随机场 CRF - 图159 到终点的路径可以这样分解:

      • 先通过 四、条件随机场 CRF - 图160四、条件随机场 CRF - 图161四、条件随机场 CRF - 图162
      • 再通过 四、条件随机场 CRF - 图163 到终点。
      • 对所有可能的 四、条件随机场 CRF - 图164 累加,即得到从 四、条件随机场 CRF - 图165 到终点的路径。
    • 根据后向概率向量 四、条件随机场 CRF - 图166 的定义,则也可以表示为:

      四、条件随机场 CRF - 图167

  5. 根据前向-后向向量定义可以得到:四、条件随机场 CRF - 图168 。其中:

    • 四、条件随机场 CRF - 图169CRF 的矩阵形式中的归一化因子。
    • 四、条件随机场 CRF - 图170 为元素均为 1 的 四、条件随机场 CRF - 图171 维列向量。
  6. 概率计算: 给定观测序列 四、条件随机场 CRF - 图172 ,给定标记值序列 四、条件随机场 CRF - 图173 ,其中 四、条件随机场 CRF - 图174 ,据前向-后向向量的定义,有:

    • 标记序列在位置 四、条件随机场 CRF - 图175 处标记 四、条件随机场 CRF - 图176 的条件概率为:

    四、条件随机场 CRF - 图177

    • 标记序列在位置 四、条件随机场 CRF - 图178 处标记 四、条件随机场 CRF - 图179 ,且在位置 四、条件随机场 CRF - 图180 处标记 四、条件随机场 CRF - 图181 的条件概率为:

      四、条件随机场 CRF - 图182

      其中:四、条件随机场 CRF - 图183

4.2.2 期望值计算

  1. 利用前向-后向向量可以计算特征函数 四、条件随机场 CRF - 图184关于联合分布四、条件随机场 CRF - 图185 和条件分布 四、条件随机场 CRF - 图186 的数学期望。

    • 特征函数 四、条件随机场 CRF - 图187 关于条件分布 四、条件随机场 CRF - 图188 的数学期望为:

      四、条件随机场 CRF - 图189

      其中 四、条件随机场 CRF - 图190

      如果合并所有的位置 四、条件随机场 CRF - 图191 ,则有特征函数 四、条件随机场 CRF - 图192 的期望为:

      四、条件随机场 CRF - 图193

      其物理意义为:在指定观测序列 四、条件随机场 CRF - 图194 的条件下,特征 四、条件随机场 CRF - 图195 的均值。

    • 假设 四、条件随机场 CRF - 图196 的经验分布为 四、条件随机场 CRF - 图197 ,则特征函数 四、条件随机场 CRF - 图198 关于联合分布四、条件随机场 CRF - 图199 的数学期望为:

      四、条件随机场 CRF - 图200

      如果合并所有的位置 四、条件随机场 CRF - 图201 ,则有特征函数 四、条件随机场 CRF - 图202 的期望为:

      四、条件随机场 CRF - 图203

      其物理意义为:在所有可能观测序列和标记序列中, 四、条件随机场 CRF - 图204 预期发生的次数。

  2. 上述两个式子是特征函数数学期望的一般计算公式。

    • 对于转移特征函数 四、条件随机场 CRF - 图205 , 可以将上式中的 四、条件随机场 CRF - 图206 替换成 四、条件随机场 CRF - 图207,即得到转移特征函数的两个期望。
    • 对于状态特征函数 四、条件随机场 CRF - 图208 ,可以将 四、条件随机场 CRF - 图209 替换成 四、条件随机场 CRF - 图210 ,即得到状态特征函数的两个期望。

4.3 CRF 的学习算法

  1. 条件随机场模型实际上是定义在时序数据上的对数线性模型,其学习方法包括:极大似然估计、正则化的极大似然估计。

    具体的实现算法有:改进的迭代尺度法Improved Iterative Scaling:IIS、 梯度下降法、拟牛顿法。

  2. 给定训练数据集 四、条件随机场 CRF - 图211,其中:

    • 四、条件随机场 CRF - 图212 代表第 四、条件随机场 CRF - 图213 个观测序列,其长度为 四、条件随机场 CRF - 图214

      四、条件随机场 CRF - 图215 代表第 四、条件随机场 CRF - 图216 个观测序列的第 四、条件随机场 CRF - 图217 个位置的值。

    • 四、条件随机场 CRF - 图218 代表第 四、条件随机场 CRF - 图219 个标记序列,其长度为 四、条件随机场 CRF - 图220

      四、条件随机场 CRF - 图221 代表第 四、条件随机场 CRF - 图222 个标记序列的第 四、条件随机场 CRF - 图223 个位置的值,其中 四、条件随机场 CRF - 图224

    • 同一组观测序列和标记序列的长度相同,不同组的观测序列之间的长度可以不同。

    给定 四、条件随机场 CRF - 图225 个特征函数 四、条件随机场 CRF - 图226 ,其中:

    四、条件随机场 CRF - 图227

    四、条件随机场 CRF - 图228 为转移特征函数,四、条件随机场 CRF - 图229 为状态特征函数。

    条件随机场的学习问题是:给定训练数据集 四、条件随机场 CRF - 图230四、条件随机场 CRF - 图231 个特征函数,估计条件随机场的模型参数。即模型中的参数 四、条件随机场 CRF - 图232

    四、条件随机场 CRF - 图233

    其中 四、条件随机场 CRF - 图234 为归一化参数。

    注意到:四、条件随机场 CRF - 图235 包含参数 四、条件随机场 CRF - 图236 ,同时 四、条件随机场 CRF - 图237 也受 四、条件随机场 CRF - 图238 影响,因此 将 四、条件随机场 CRF - 图239 记作 四、条件随机场 CRF - 图240 。因此将待求解的模型重新写作:

    四、条件随机场 CRF - 图241

    四、条件随机场 CRF - 图242 不受 四、条件随机场 CRF - 图243 的影响,因为 四、条件随机场 CRF - 图244 将变量 四、条件随机场 CRF - 图245 吸收掉。

  3. 考虑观测序列和标记序列 四、条件随机场 CRF - 图246, 根据经验分布 四、条件随机场 CRF - 图247 , 该对序列出现的次数为 四、条件随机场 CRF - 图248

    • 利用条件概率和经验分布 四、条件随机场 CRF - 图249 ,出现如此多次数的 四、条件随机场 CRF - 图250 概率为:

    四、条件随机场 CRF - 图251

    • 考虑整个训练集,则训练数据集 四、条件随机场 CRF - 图252 发生的概率为:四、条件随机场 CRF - 图253

      其对数似然函数为:

      四、条件随机场 CRF - 图254

    • 因为最终需要求解对数似然的最大值,考虑到 四、条件随机场 CRF - 图255为常数,所以去掉该项,则有:

      四、条件随机场 CRF - 图256

      忽略约去常系数 四、条件随机场 CRF - 图257,则有:四、条件随机场 CRF - 图258

      与最大熵情况类似,这里使用了经验分布 四、条件随机场 CRF - 图259 ,但是并没有使用 四、条件随机场 CRF - 图260 来作为 四、条件随机场 CRF - 图261 的估计值,因为我们是针对该条件概率建模。

    • 根据 四、条件随机场 CRF - 图262 的定义,有:

      四、条件随机场 CRF - 图263

      其形式和最大熵算法完全一致,因此可以直接使用最大熵算法的学习算法。

      这也说明了,从最大熵原理可以推导出条件随机场的条件概率表示形式。

  4. 给定训练数据集 四、条件随机场 CRF - 图264 ,则可以获取经验概率分布 四、条件随机场 CRF - 图265四、条件随机场 CRF - 图266,从而可以通过极大化训练数据的对数似然函数 四、条件随机场 CRF - 图267 来求解模型。

4.3.1 改进的迭代尺度法

  1. IIS 算法通过迭代的方法不断优化对数似然函数增量的下界,达到极大化对数似然函数的目的。具体推导可以参看最大熵算法。

  2. 假设模型的当前参数向量是 四、条件随机场 CRF - 图268, 参数向量的增量为 四、条件随机场 CRF - 图269。更新的参数向量为 四、条件随机场 CRF - 图270

    IIS 推导的结果为:每一轮迭代中, 四、条件随机场 CRF - 图271 满足:

    四、条件随机场 CRF - 图272

    四、条件随机场 CRF - 图273 放到 四、条件随机场 CRF - 图274 右侧,重新整理为:

    四、条件随机场 CRF - 图275

    其中:

    • 四、条件随机场 CRF - 图276 :为所有特征函数在序列 四、条件随机场 CRF - 图277 的所有位置的总和。
    • 四、条件随机场 CRF - 图278 :为特征函数 四、条件随机场 CRF - 图279 在训练集 四、条件随机场 CRF - 图280 中对所有序列样本的所有位置上的求和。
  3. CRF学习的改进迭代尺度算法IIS

    • 输入:

      • 特征函数 四、条件随机场 CRF - 图281
      • 经验分布 四、条件随机场 CRF - 图282
      • 经验分布 四、条件随机场 CRF - 图283
    • 输出:

      • 参数估计值 四、条件随机场 CRF - 图284
      • 模型 四、条件随机场 CRF - 图285
    • 算法步骤:

      • 初始化:对所有的 四、条件随机场 CRF - 图286 ,取值 四、条件随机场 CRF - 图287

      • 迭代,迭代的停止条件是:所有 四、条件随机场 CRF - 图288 都收敛。迭代步骤为:

        • 对每一个 四、条件随机场 CRF - 图289 ,从方程中计算出 四、条件随机场 CRF - 图290

          四、条件随机场 CRF - 图291

        • 更新 四、条件随机场 CRF - 图292 的值: 四、条件随机场 CRF - 图293 。如果不是所有 四、条件随机场 CRF - 图294 都收敛,继续迭代。

      • 迭代终止时,四、条件随机场 CRF - 图295

4.3.1.1 算法 S
  1. IIS算法中,四、条件随机场 CRF - 图296 为所有特征函数在序列 四、条件随机场 CRF - 图297 的所有位置的总和。对于不同的数据 四、条件随机场 CRF - 图298四、条件随机场 CRF - 图299 很有可能不同。

    选择一个常数 四、条件随机场 CRF - 图300 ,定义松弛特征:四、条件随机场 CRF - 图301

    • 通常选择足够大的常数 四、条件随机场 CRF - 图302 ,使得对于训练数据集的所有数据 四、条件随机场 CRF - 图303四、条件随机场 CRF - 图304 成立。
    • 当每个特征函数的取值范围都是 四、条件随机场 CRF - 图305 时,则可以将 四、条件随机场 CRF - 图306 选取为:四、条件随机场 CRF - 图307 。其物理意义为:所有潜在的特征函数取 1 的位置的总数,乘以特征函数的数量。
  2. 将松弛特征代入,有:

    四、条件随机场 CRF - 图308

    考虑到 四、条件随机场 CRF - 图309四、条件随机场 CRF - 图310 上恒成立,因此有:

    四、条件随机场 CRF - 图311

    因此对于下面两个方程的解:

    四、条件随机场 CRF - 图312

    必然有: 四、条件随机场 CRF - 图313

    如果 四、条件随机场 CRF - 图314,则有:

    四、条件随机场 CRF - 图315

    因此可以将 四、条件随机场 CRF - 图316 作为 四、条件随机场 CRF - 图317 的一个近似。其物理意义为:更新 四、条件随机场 CRF - 图318 的值( 四、条件随机场 CRF - 图319 )时,选择一个较小的更新幅度。

  3. 对于方程 四、条件随机场 CRF - 图320 ,其解为:

    四、条件随机场 CRF - 图321

    其中 四、条件随机场 CRF - 图322

  4. CRF学习的算法 S

    • 输入:

      • 特征函数 四、条件随机场 CRF - 图323
      • 经验分布 四、条件随机场 CRF - 图324
      • 经验分布 四、条件随机场 CRF - 图325
    • 输出:

      • 参数估计值 四、条件随机场 CRF - 图326
      • 模型 四、条件随机场 CRF - 图327
    • 算法步骤:

      • 初始化:对所有的 四、条件随机场 CRF - 图328 ,取值 四、条件随机场 CRF - 图329

      • 迭代,迭代的停止条件是:所有 四、条件随机场 CRF - 图330 都收敛。迭代步骤为:

        • 对每一个 四、条件随机场 CRF - 图331 ,计算 四、条件随机场 CRF - 图332

          四、条件随机场 CRF - 图333

          其中 四、条件随机场 CRF - 图334

        • 更新 四、条件随机场 CRF - 图335 的值: 四、条件随机场 CRF - 图336 。如果不是所有 四、条件随机场 CRF - 图337 都收敛,继续迭代。

      • 迭代终止时,四、条件随机场 CRF - 图338

4.3.1.2 算法 T
  1. 在算法S中,通常需要使常数 四、条件随机场 CRF - 图339 取得足够大,此时每一步迭代的增量向量会较小,算法收敛会变慢。

    算法T试图解决这个问题。

  2. 算法T 对每个观测序列 四、条件随机场 CRF - 图340 ,计算其特征总数最大值 四、条件随机场 CRF - 图341

    四、条件随机场 CRF - 图342

    四、条件随机场 CRF - 图343 ,由于 四、条件随机场 CRF - 图344 ,则对于下面两个方程的解:

    四、条件随机场 CRF - 图345

    必然有: 四、条件随机场 CRF - 图346 ,原因与算法S 相同。

    因此可以将 四、条件随机场 CRF - 图347 作为 四、条件随机场 CRF - 图348 的一个近似。其物理意义为:更新 四、条件随机场 CRF - 图349 的值( 四、条件随机场 CRF - 图350 )时,选择一个较小的更新幅度。

    由于 四、条件随机场 CRF - 图351,因此算法 T 求解的 四、条件随机场 CRF - 图352 会相对于算法 S 更大,使得算法收敛的更快。

  3. 对于方程 四、条件随机场 CRF - 图353,有:

    四、条件随机场 CRF - 图354

    令:四、条件随机场 CRF - 图355 ,则有:

    四、条件随机场 CRF - 图356

    它就是一个以 四、条件随机场 CRF - 图357 为变量的非线性方程,求解该方程即可得到 四、条件随机场 CRF - 图358 的解。

  4. CRF学习的算法 T

    • 输入:

      • 特征函数 四、条件随机场 CRF - 图359
      • 经验分布 四、条件随机场 CRF - 图360
      • 经验分布 四、条件随机场 CRF - 图361
    • 输出:

      • 参数估计值 四、条件随机场 CRF - 图362
      • 模型 四、条件随机场 CRF - 图363
    • 算法步骤:

      • 初始化:对所有的 四、条件随机场 CRF - 图364 ,取值 四、条件随机场 CRF - 图365

      • 迭代,迭代的停止条件是:所有 四、条件随机场 CRF - 图366 都收敛。迭代步骤为:

        • 对每一个 四、条件随机场 CRF - 图367 ,从方程中计算出 四、条件随机场 CRF - 图368

          四、条件随机场 CRF - 图369

        • 更新 四、条件随机场 CRF - 图370 的值: 四、条件随机场 CRF - 图371 。如果不是所有 四、条件随机场 CRF - 图372 都收敛,继续迭代。

      • 迭代终止时,四、条件随机场 CRF - 图373

4.3.2 拟牛顿法

  1. 条件随机场的对数似然函数为:

    四、条件随机场 CRF - 图374

    其中:四、条件随机场 CRF - 图375

    学习的优化目标是最大化对数似然函数 四、条件随机场 CRF - 图376

    令:

    四、条件随机场 CRF - 图377

    于是学习优化目标是最小化 四、条件随机场 CRF - 图378

  2. 计算梯度:

    四、条件随机场 CRF - 图379

  3. CRF 学习的 BFGS算法:

    • 输入:

      • 特征函数 四、条件随机场 CRF - 图380
      • 经验分布 四、条件随机场 CRF - 图381
      • 目标函数 四、条件随机场 CRF - 图382
      • 梯度 四、条件随机场 CRF - 图383
      • 精度要求 四、条件随机场 CRF - 图384
    • 输出:

      • 最优参数值 四、条件随机场 CRF - 图385
      • 最优模型 四、条件随机场 CRF - 图386
    • 算法步骤:

      • 选定初始点 四、条件随机场 CRF - 图387,取 四、条件随机场 CRF - 图388 为正定对阵矩阵,置 四、条件随机场 CRF - 图389

      • 计算 四、条件随机场 CRF - 图390:

        • 四、条件随机场 CRF - 图391 ,停止计算,得到 四、条件随机场 CRF - 图392

        • 四、条件随机场 CRF - 图393:

          • 四、条件随机场 CRF - 图394 求得 四、条件随机场 CRF - 图395

          • 一维搜索:求出 四、条件随机场 CRF - 图396四、条件随机场 CRF - 图397

          • 四、条件随机场 CRF - 图398

          • 计算 四、条件随机场 CRF - 图399。 若 四、条件随机场 CRF - 图400 ,停止计算,得到 四、条件随机场 CRF - 图401

          • 否则计算 四、条件随机场 CRF - 图402:

            四、条件随机场 CRF - 图403

            其中: 四、条件随机场 CRF - 图404

          • 四、条件随机场 CRF - 图405 ,继续迭代。

4.4 预测算法

  1. 给定条件随机场 四、条件随机场 CRF - 图406 以及输入序列(观测序列) 四、条件随机场 CRF - 图407 的情况下,求条件概率最大的输出序列(标记序列) 四、条件随机场 CRF - 图408,其中 四、条件随机场 CRF - 图409

  2. 根据条件随机场的简化形式:

    四、条件随机场 CRF - 图410

    其中 四、条件随机场 CRF - 图411

    于是:

    四、条件随机场 CRF - 图412

    考虑到 四、条件随机场 CRF - 图413四、条件随机场 CRF - 图414 无关,于是:

    四、条件随机场 CRF - 图415

    于是:条件随机场的预测问题就成为求非规范化概率最大的最优路径问题。

    其中:

    四、条件随机场 CRF - 图416

    其中就是非规范化概率。

  3. 定义局部特征向量:

    四、条件随机场 CRF - 图417

    其物理意义为:每个特征函数在 四、条件随机场 CRF - 图418 的条件下,在位置 四、条件随机场 CRF - 图419 处的取值组成的向量。

    于是:四、条件随机场 CRF - 图420

    为了便于统一描述,这里引入了两个人工标记: 四、条件随机场 CRF - 图421 。它们具有唯一的、固定的取值(不是随机变量)。

  4. 维特比算法用动态规划来求解条件随机场的预测问题。它用动态规划求解概率最大路径(最优路径),这时一条路径对应着一个标记序列。

    • 根据动态规划原理,最优路径具有这样的特性:如果最优路径在位置 四、条件随机场 CRF - 图422 通过结点 四、条件随机场 CRF - 图423, 则这一路径从结点 四、条件随机场 CRF - 图424 到终点 四、条件随机场 CRF - 图425 的部分路径,对于从 四、条件随机场 CRF - 图426四、条件随机场 CRF - 图427 的所有可能路径来说,也必须是最优的。

    • 只需要从位置 四、条件随机场 CRF - 图428 开始,递推地计算从位置 1 到位置 四、条件随机场 CRF - 图429 且位置 四、条件随机场 CRF - 图430 的标记为 四、条件随机场 CRF - 图431 的各条部分路径的最大非规范化概率。

      于是在位置 四、条件随机场 CRF - 图432 的最大非规范化概率即为最优路径的非规范化概率 四、条件随机场 CRF - 图433 ,最优路径的终结点 四、条件随机场 CRF - 图434 也同时得到。

    • 之后为了找出最优路径的各个结点,从终结点 四、条件随机场 CRF - 图435 开始,由后向前逐步求得结点 四、条件随机场 CRF - 图436,得到最优路径 四、条件随机场 CRF - 图437

  5. 假设标记 四、条件随机场 CRF - 图438 的取值集合为 四、条件随机场 CRF - 图439, 其中 四、条件随机场 CRF - 图440 是标记的取值个数。

    • 首先求出位置 1 的各个标记值的非规范化概率:

    四、条件随机场 CRF - 图441

    • 根据递推公式,求出到位置 四、条件随机场 CRF - 图442 的各个标记取值的非规范化概率的最大值,同时记录非规范化概率最大值的路径:

      四、条件随机场 CRF - 图443

      • 其中 四、条件随机场 CRF - 图444 为:到位置 四、条件随机场 CRF - 图445 、且标记取值为 四、条件随机场 CRF - 图446 的非规范化概率的最大值。
      • 四、条件随机场 CRF - 图447 为:到位置 四、条件随机场 CRF - 图448 且标记取值为 四、条件随机场 CRF - 图449 的最优路径中,位置 四、条件随机场 CRF - 图450 处的标记的取值的编号。
    • 四、条件随机场 CRF - 图451 时,这时求得非规范化概率的最大值,以及最优路径的终点:

    四、条件随机场 CRF - 图452

    • 根据最优路径得到:四、条件随机场 CRF - 图453

      最终得到最优路径:四、条件随机场 CRF - 图454

  6. CRF 预测的维特比算法:

      • 输入:

        • 模型特征向量 四、条件随机场 CRF - 图455 ,其中标记 四、条件随机场 CRF - 图456 的取值集合为 四、条件随机场 CRF - 图457
        • 权值向量 四、条件随机场 CRF - 图458
        • 观测序列 四、条件随机场 CRF - 图459
      • 输出: 最优路径 四、条件随机场 CRF - 图460

      • 算法步骤:

        • 初始化:四、条件随机场 CRF - 图461
        • 递推:对 四、条件随机场 CRF - 图462

        四、条件随机场 CRF - 图463

        • 终止:

        四、条件随机场 CRF - 图464

        • 回溯路径:四、条件随机场 CRF - 图465
        • 返回路径 :四、条件随机场 CRF - 图466

4.5 词性标注任务

  1. 在词性标注任务中,给定单词序列 四、条件随机场 CRF - 图467,需要给出每个单词对应的词性 四、条件随机场 CRF - 图468 。如: 他们 吃 苹果 对应的标注序列为 代词 动词 名词

    • 给定一个单词序列,可选的标注序列有很多种,需要从中挑选出一个最靠谱的作为标注结果。
    • 标注序列是否靠谱,是通过利用特征函数来对序列打分来获得。序列的得分越高(意味着非规范化概率越大),则越靠谱。
  2. CRF 中的特征函数接受四个参数:

    • 单词序列 四、条件随机场 CRF - 图469
    • 位置 四、条件随机场 CRF - 图470 ,表示序列 四、条件随机场 CRF - 图471 中第 四、条件随机场 CRF - 图472 个单词。
    • 标记 四、条件随机场 CRF - 图473 ,表示第 四、条件随机场 CRF - 图474 个单词的标注词性。
    • 标记 四、条件随机场 CRF - 图475,表示第 四、条件随机场 CRF - 图476 个单词的标注词性。

    特征函数的输出值为 四、条件随机场 CRF - 图477,表示满足/不满足这个特征。

  3. 每个特征函数对应一个权重 四、条件随机场 CRF - 图478

    • 若权重为正,则说明该特征贡献一个正的分数;如果权重为负,则说明该特征贡献一个负的分数。
    • 权重越大,则说明该特征靠谱的可能性越大(对于正的权重),或者该特征不靠谱的程度越大(对于负的权重)。
    • 该权重是模型的参数,从训练集中训练得到。

4.6 CRF 与 HMM 模型

  1. 设已知隐马尔科夫模型的参数,则给定观察序列 四、条件随机场 CRF - 图479,以及标记序列 四、条件随机场 CRF - 图480,其出现的概率为:

    四、条件随机场 CRF - 图481

    • 对于 HMM 中的每一个转移概率 四、条件随机场 CRF - 图482,定义特征函数:

      四、条件随机场 CRF - 图483

      定义其权重为:四、条件随机场 CRF - 图484

    • 对于 HMM中每一个发射概率 四、条件随机场 CRF - 图485,定义特征函数:

      四、条件随机场 CRF - 图486

      定义其权重为:四、条件随机场 CRF - 图487

    • 则有:

      四、条件随机场 CRF - 图488

      其中 四、条件随机场 CRF - 图489 为人工引入的 四、条件随机场 CRF - 图490 结点。

      因此 四、条件随机场 CRF - 图491 的物理意义为:所有特征函数在所有位置之和。将其归一化之后就得到了CRF的公式。

  2. 从推导中可以看出:每一个HMM模型都等价于某个CRF模型。

    • CRF模型比HMM模型更强大。

      因为CRF模型能定义数量更多、更丰富多样的特征函数,能使用任意形式的权重。

    • HMM模型中当前的标注结果只依赖于当前的单词,以及前一个标注结果。

    • HMM模型转换过来的形式中,权重是条件概率的对数,因此权重都是负的。

  3. HMM 是生成式模型,而CRF是判别式模型

    • 生成式模型对联合概率建模,可以生成样本。

      生成式模型定义的是联合概率,必须列举所有观察序列的可能值。在很多场景下,这是很困难的。

    • 判别式模型对条件概率建模,无法生成样本,只能判断分类。