二、分类任务最大熵模型

  1. 设分类模型是一个条件概率分布 二、分类任务最大熵模型 - 图1 为输入, 二、分类任务最大熵模型 - 图2 为输出。

    给定一个训练数据集 二、分类任务最大熵模型 - 图3,学习的目标是用最大熵原理选取最好的分类模型。

2.1 最大熵模型

  1. 根据训练集 二、分类任务最大熵模型 - 图4,可以得到联合分布 二、分类任务最大熵模型 - 图5 的经验分布 二、分类任务最大熵模型 - 图6二、分类任务最大熵模型 - 图7 的经验分布 二、分类任务最大熵模型 - 图8

    二、分类任务最大熵模型 - 图9

    其中 二、分类任务最大熵模型 - 图10 为样本数量, 二、分类任务最大熵模型 - 图11 为频数。

  2. 用特征函数 二、分类任务最大熵模型 - 图12 描述输入 二、分类任务最大熵模型 - 图13 和输出 二、分类任务最大熵模型 - 图14 之间的某个事实:

    二、分类任务最大熵模型 - 图15

    • 特征函数是一个二值函数,但是理论上它也可以取任意值。

    • 特征函数 二、分类任务最大熵模型 - 图16 关于经验分布 二、分类任务最大熵模型 - 图17 的期望定义为 二、分类任务最大熵模型 - 图18二、分类任务最大熵模型 - 图19

      这个期望其实就是约束 二、分类任务最大熵模型 - 图20 在训练集上的统计结果的均值(也就是约束 二、分类任务最大熵模型 - 图21 出现的期望的估计量)。

      • 如果 二、分类任务最大熵模型 - 图22 取值为二值0,1,则表示约束 二、分类任务最大熵模型 - 图23 在训练集上出现的次数的均值。
      • 如果 二、分类任务最大熵模型 - 图24 取值为任意值,则表示约束 二、分类任务最大熵模型 - 图25 在训练集上累计的结果的均值。
    • 特征函数 二、分类任务最大熵模型 - 图26 关于模型 二、分类任务最大熵模型 - 图27 与经验分布 二、分类任务最大熵模型 - 图28 的期望用 二、分类任务最大熵模型 - 图29 表示:

      二、分类任务最大熵模型 - 图30

      理论上 二、分类任务最大熵模型 - 图31 ,这里使用 二、分类任务最大熵模型 - 图32 作为 二、分类任务最大熵模型 - 图33 的估计。

    • 可以假设这两个期望相等,即:二、分类任务最大熵模型 - 图34

      • 二、分类任务最大熵模型 - 图35二、分类任务最大熵模型 - 图36 时为 0,在 二、分类任务最大熵模型 - 图37 才有可能非 0 。因此 二、分类任务最大熵模型 - 图38 仅仅在 二、分类任务最大熵模型 - 图39 上累加。
      • 二、分类任务最大熵模型 - 图40二、分类任务最大熵模型 - 图41 时为 0,在 二、分类任务最大熵模型 - 图42 才有可能非 0 。因此 二、分类任务最大熵模型 - 图43 仅在 二、分类任务最大熵模型 - 图44 上累加。
  3. 理论上,由于 二、分类任务最大熵模型 - 图45,看起来可以使用 二、分类任务最大熵模型 - 图46 作为 二、分类任务最大熵模型 - 图47 的一个估计。

    但是这个估计只考虑某个点 二、分类任务最大熵模型 - 图48 上的估计,并未考虑任何约束。所以这里通过特征函数的两种期望相等来构建在数据集整体上的最优估计。

  4. 最大熵模型:假设有 二、分类任务最大熵模型 - 图49 个约束条件 二、分类任务最大熵模型 - 图50,满足所有约束条件的模型集合为:二、分类任务最大熵模型 - 图51

    定义在条件概率分布 二、分类任务最大熵模型 - 图52 上的条件熵为:

    二、分类任务最大熵模型 - 图53

    则模型集合 二、分类任务最大熵模型 - 图54 中条件熵最大的模型称为最大熵模型。

2.2 词性标注约束案例

  1. 在词性标注任务中,给定单词序列 二、分类任务最大熵模型 - 图55,需要给出每个单词对应的词性 二、分类任务最大熵模型 - 图56 。如 :{他们 吃 苹果} 对应的标注序列为 {代词 动词 名词}

    假设标注仅仅与当前单词有关,与前面、后面的单词无关,也无前面、后面的标注有关。即:标注 二、分类任务最大熵模型 - 图57 由单词 二、分类任务最大熵模型 - 图58 唯一决定。

    则统计文本中所有单词及其词性,得到训练集 二、分类任务最大熵模型 - 图59 ,其中 二、分类任务最大熵模型 - 图60 为单词数量。

  2. 假设没有任何约束,则每个单词取得任何词性的概率都是等可能的。现在发现:苹果 这个单词的词性标记结果中,大部分都是名词,因此可以定义特征函数:

    二、分类任务最大熵模型 - 图61

    统计满足特征函数的样本的个数 二、分类任务最大熵模型 - 图62,除以样本总数 二、分类任务最大熵模型 - 图63 。则可以认为:当数据足够多时,这个商就是统计意义下的结果:

    二、分类任务最大熵模型 - 图64

    其中:

    • 二、分类任务最大熵模型 - 图65二、分类任务最大熵模型 - 图66 为二元对 二、分类任务最大熵模型 - 图67 出现的次数。
    • 满足特征函数的样本出现总数为: 二、分类任务最大熵模型 - 图68
  3. 事实上对于任意单词 二、分类任务最大熵模型 - 图69,其中 二、分类任务最大熵模型 - 图70 为所有单词的词汇表,二、分类任务最大熵模型 - 图71 为词汇表大小; 以及对任意词性 二、分类任务最大熵模型 - 图72 ,其中 二、分类任务最大熵模型 - 图73 为词性集合(如名词、动词、形容词….), 二、分类任务最大熵模型 - 图74 为词性表大小。 可以任意选择搭配从而构造非常庞大的特征函数:

    二、分类任务最大熵模型 - 图75

    以及约束条件:二、分类任务最大熵模型 - 图76 。其中二、分类任务最大熵模型 - 图77 为满足特征函数 二、分类任务最大熵模型 - 图78 的样本个数。

    • 如果 二、分类任务最大熵模型 - 图79 较大,则说明该约束指定的 单词,词性 搭配的可能性很高。
    • 如果 二、分类任务最大熵模型 - 图80 较小,则说明该约束指定的 单词,词性 搭配的可能性很低。
    • 如果 二、分类任务最大熵模型 - 图81 为 0,则说明该约束指定的 单词,词性 搭配几乎不可能出现。
  4. 待求的模型为 二、分类任务最大熵模型 - 图82 。以矩阵的形式描述为:

    二、分类任务最大熵模型 - 图83

    其中 二、分类任务最大熵模型 - 图84,即单词 二、分类任务最大熵模型 - 图85 的词性为 二、分类任务最大熵模型 - 图86 的概率。

    • 设单词 二、分类任务最大熵模型 - 图87二、分类任务最大熵模型 - 图88 中出现的次数为 二、分类任务最大熵模型 - 图89 ,则有:二、分类任务最大熵模型 - 图90 。则有:

      二、分类任务最大熵模型 - 图91

    • 考虑到 二、分类任务最大熵模型 - 图92 ,则根据 二、分类任务最大熵模型 - 图93 有:

      二、分类任务最大熵模型 - 图94

      • 其物理意义为:单词 二、分类任务最大熵模型 - 图95 的词性为 二、分类任务最大熵模型 - 图96 的概率 = 数据集 二、分类任务最大熵模型 - 图97 中单词 二、分类任务最大熵模型 - 图98 的词性为 二、分类任务最大熵模型 - 图99 出现的次数 / 数据集 二、分类任务最大熵模型 - 图100 中单词 二、分类任务最大熵模型 - 图101 出现的次数。

      • 由于 二、分类任务最大熵模型 - 图102二、分类任务最大熵模型 - 图103 ,因此可以发现有:

        二、分类任务最大熵模型 - 图104

        因此在这个特殊的情形下,二、分类任务最大熵模型 - 图105二、分类任务最大熵模型 - 图106 的估计。

  5. 事实上,真实的词性标注还需要考虑前后单词的词性的影响。比如:不可能出现连续的三个动词,也不可能出现连续的五个代词。

    当需要考虑前后文影响时,需要使用 HMM 模型 或者 CRF 模型。

2.3 模型求解

  1. 对给定的训练数据集 二、分类任务最大熵模型 - 图107,以及特征函数 二、分类任务最大熵模型 - 图108 ,最大熵模型的学习等价于约束最优化问题:

    二、分类任务最大熵模型 - 图109

  2. 将其转化为最小化问题:

    二、分类任务最大熵模型 - 图110

    其中:

    • 二、分类任务最大熵模型 - 图111 是已知的。
    • 二、分类任务最大熵模型 - 图112 是未知的。
  3. 将约束最优化的原始问题转换为无约束最优化的对偶问题,通过求解对偶问题来求解原始问题。

    引入拉格朗日乘子 二、分类任务最大熵模型 - 图113,定义拉格朗日函数 二、分类任务最大熵模型 - 图114

    二、分类任务最大熵模型 - 图115

    • 最优化的原始问题是:二、分类任务最大熵模型 - 图116 ,对偶问题是 二、分类任务最大熵模型 - 图117
    • 由于拉格朗日函数 二、分类任务最大熵模型 - 图118 是凸函数,因此原始问题的解与对偶问题的解是等价的。
    • 求解对偶问题:先求解内部的极小化问题,之后求解对偶问题外部的极大化问题。
  4. 先求解内部的极小化问题:二、分类任务最大熵模型 - 图119

    它是一个 二、分类任务最大熵模型 - 图120 的函数,将其记作:二、分类任务最大熵模型 - 图121

    • 先用 二、分类任务最大熵模型 - 图122二、分类任务最大熵模型 - 图123 求偏导数:

      二、分类任务最大熵模型 - 图124

      令偏导数为 0 。在 二、分类任务最大熵模型 - 图125 时,解得:

      二、分类任务最大熵模型 - 图126

    • 由于 二、分类任务最大熵模型 - 图127,则有:二、分类任务最大熵模型 - 图128 。因此有:

      二、分类任务最大熵模型 - 图129

    • 定义 二、分类任务最大熵模型 - 图130 为规范因子,则:

      二、分类任务最大熵模型 - 图131

      由该式表示的模型 二、分类任务最大熵模型 - 图132 就是最大熵模型。

  5. 再求解对偶问题外部的极大化问题:二、分类任务最大熵模型 - 图133

    • 将其解记作 二、分类任务最大熵模型 - 图134,即:二、分类任务最大熵模型 - 图135
    • 求得 二、分类任务最大熵模型 - 图136 之后,用它来表示 二、分类任务最大熵模型 - 图137,得到 二、分类任务最大熵模型 - 图138 ,即得到最大熵模型。
  6. 上述过程总结为:

    • 先求对偶问题的内部极小化,得到 二、分类任务最大熵模型 - 图139 函数,以及极值点 二、分类任务最大熵模型 - 图140
    • 再求 二、分类任务最大熵模型 - 图141 函数的极大值,得到 二、分类任务最大熵模型 - 图142
    • 最后将 二、分类任务最大熵模型 - 图143 代入 二、分类任务最大熵模型 - 图144 得到最终模型 二、分类任务最大熵模型 - 图145
  7. 可以证明: 二、分类任务最大熵模型 - 图146 函数的最大化,等价于最大熵模型的极大似然估计。

    证明如下:已知训练数据 二、分类任务最大熵模型 - 图147 中,二、分类任务最大熵模型 - 图148 出现的频次为 二、分类任务最大熵模型 - 图149 。则条件概率分布 二、分类任务最大熵模型 - 图150 的对数似然函数为:

    二、分类任务最大熵模型 - 图151

    将对数似然函数除以常数 二、分类任务最大熵模型 - 图152,考虑到 二、分类任务最大熵模型 - 图153 ,其中 二、分类任务最大熵模型 - 图154 为经验概率分布。则 二、分类任务最大熵模型 - 图155 的对数似然函数为:

    二、分类任务最大熵模型 - 图156

    再利用 :

    二、分类任务最大熵模型 - 图157

    代入,最后化简合并,最终发现它就是 二、分类任务最大熵模型 - 图158

2.4 最大熵与逻辑回归

  1. 二、分类任务最大熵模型 - 图159二、分类任务最大熵模型 - 图160 维变量,对于二类分类问题,定义 二、分类任务最大熵模型 - 图161 个约束:

    二、分类任务最大熵模型 - 图162

  2. 根据最大熵的结论,有:

    二、分类任务最大熵模型 - 图163

    以及:

    二、分类任务最大熵模型 - 图164

    • 二、分类任务最大熵模型 - 图165 时有:

      二、分类任务最大熵模型 - 图166

    • 二、分类任务最大熵模型 - 图167 时有:

      二、分类任务最大熵模型 - 图168

    最终得到:

    二、分类任务最大熵模型 - 图169

    这就是逻辑回归模型。