1. 给定一个训练数据集 ,学习的目标是用最大熵原理选取最好的分类模型。

    1. 根据训练集 二、分类任务最大熵模型 - 图1,可以得到联合分布 的经验分布 二、分类任务最大熵模型 - 图2 和 的经验分布 二、分类任务最大熵模型 - 图3

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

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

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

      • 特征函数 二、分类任务最大熵模型 - 图7 关于经验分布 的期望定义为 二、分类任务最大熵模型 - 图8 : 。

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

        • 如果 二、分类任务最大熵模型 - 图10 取值为二值,则表示约束 在训练集上出现的次数的均值。
        • 如果 二、分类任务最大熵模型 - 图11 取值为任意值,则表示约束 在训练集上累计的结果的均值。
      • 特征函数 二、分类任务最大熵模型 - 图12 关于模型 与经验分布 二、分类任务最大熵模型 - 图13 的期望用 表示:

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

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

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

        • 二、分类任务最大熵模型 - 图17 时为 0,在 才有可能非 0 。因此 二、分类任务最大熵模型 - 图18 仅仅在 上累加。
        • 二、分类任务最大熵模型 - 图19 在 时为 0,在 二、分类任务最大熵模型 - 图20 才有可能非 0 。因此 仅在 二、分类任务最大熵模型 - 图21 上累加。
    3. 理论上,由于 ,看起来可以使用 二、分类任务最大熵模型 - 图22 作为 的一个估计。

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

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

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

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

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

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

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

      其中:

      • 二、分类任务最大熵模型 - 图29 为二元对 出现的次数。
      • 满足特征函数的样本出现总数为: 二、分类任务最大熵模型 - 图30
    2. 以及约束条件:二、分类任务最大熵模型 - 图31 。其中 为满足特征函数 二、分类任务最大熵模型 - 图32 的样本个数。

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

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

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

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

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

        • 其物理意义为:单词 的词性为 二、分类任务最大熵模型 - 图41 的概率 = 数据集 中单词 二、分类任务最大熵模型 - 图42 的词性为 出现的次数 / 数据集 二、分类任务最大熵模型 - 图43 中单词 出现的次数。

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

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

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

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

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

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

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

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

      其中:

      • 是已知的。
      • 二、分类任务最大熵模型 - 图49 是未知的。
    3. 先求解内部的极小化问题: 。

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

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

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

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

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

      • 定义 为规范因子,则:

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

        由该式表示的模型 就是最大熵模型。

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

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

      • 先求对偶问题的内部极小化,得到 二、分类任务最大熵模型 - 图59 函数,以及极值点 。
      • 再求 二、分类任务最大熵模型 - 图60 函数的极大值,得到 。
      • 最后将 二、分类任务最大熵模型 - 图61 代入 得到最终模型 二、分类任务最大熵模型 - 图62
    6. 可以证明: 函数的最大化,等价于最大熵模型的极大似然估计。

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

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

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

      再利用 :

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

      代入,最后化简合并,最终发现它就是 。

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

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

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

      以及:

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

      最终得到:

      这就是逻辑回归模型。