一、Unigram Model

  1. 假设有一个骰子,骰子有 一、Unigram Model - 图1 个面,每个面对应于词典中的一个单词。 Unigram Model是这样生成文档的:

    • 每次抛一次骰子,抛出的面就对应于产生一个单词。
    • 如果一篇文档有 一、Unigram Model - 图2 个单词,则独立的抛掷 一、Unigram Model - 图3 次骰子就产生着 一、Unigram Model - 图4 个单词。
  2. 令骰子的投掷出各个面的概率为 一、Unigram Model - 图5,其中 一、Unigram Model - 图6 为抛出的面是第 一、Unigram Model - 图7 面的概率:一、Unigram Model - 图8。满足约束:

    一、Unigram Model - 图9

    一、Unigram Model - 图10 就是待求的参数。

  3. 假设文档包含 一、Unigram Model - 图11 个单词,这些单词依次为 : 一、Unigram Model - 图12,其中 一、Unigram Model - 图13。用 一、Unigram Model - 图14 代表文档, 则生成这篇文档的概率为:

    一、Unigram Model - 图15

    一、Unigram Model - 图16 中, 一、Unigram Model - 图17 称作 一、Unigram Model - 图18 的上下文。由于采取的是词袋模型,没有考虑上下文,所以有:

    一、Unigram Model - 图19

    于是有:

    一、Unigram Model - 图20

    • 如果考虑了上下文(即抛弃词袋模型),则各种单词的组合会导致爆炸性的复杂度增长。
    • 由于是词袋模型,因此 一、Unigram Model - 图21 并不构成一个概率分布。一、Unigram Model - 图22 仅仅是生成该文档的一种非归一化概率。
  4. 假设单词 一、Unigram Model - 图23 中,有 一、Unigram Model - 图24一、Unigram Model - 图25,有 一、Unigram Model - 图26一、Unigram Model - 图27,…有 一、Unigram Model - 图28一、Unigram Model - 图29 ,其中 一、Unigram Model - 图30,则:

    一、Unigram Model - 图31

  5. 参数估计:就是估计骰子的投掷出各个面的概率 一、Unigram Model - 图32

1.1 最大似然估计

  1. 假设数据集 一、Unigram Model - 图33 包含 一、Unigram Model - 图34 篇文档 一、Unigram Model - 图35 。对文档 一、Unigram Model - 图36,假设其单词依次为 一、Unigram Model - 图37, 用 一、Unigram Model - 图38 来表示。其中:

    • 一、Unigram Model - 图39 表示文档 一、Unigram Model - 图40 的第 一、Unigram Model - 图41 个单词为单词 一、Unigram Model - 图42
    • 一、Unigram Model - 图43 表示文档 一、Unigram Model - 图44 一共有 一、Unigram Model - 图45 个单词。
  2. 由于每篇文档都是独立的且不考虑文档的顺序和单词的顺序,则数据集发生的概率

    一、Unigram Model - 图46

    假设数据集的所有单词 一、Unigram Model - 图47 中,有 一、Unigram Model - 图48一、Unigram Model - 图49,有 一、Unigram Model - 图50一、Unigram Model - 图51,…有 一、Unigram Model - 图52一、Unigram Model - 图53 。其中 一、Unigram Model - 图54一、Unigram Model - 图55 为所有文档的所有单词的数量。则有:

    一、Unigram Model - 图56

  3. 使用最大似然估计法,也就是最大化对数的 一、Unigram Model - 图57

    一、Unigram Model - 图58

    于是求解:

    一、Unigram Model - 图59

    用拉格朗日乘子法求解,其解为:

    一、Unigram Model - 图60

    其物理意义为:单词 一、Unigram Model - 图61 出现的概率 一、Unigram Model - 图62 等于它在数据集 一、Unigram Model - 图63 中出现的频率,即:它出现的次数 一、Unigram Model - 图64 除以数据集 一、Unigram Model - 图65 所有单词数 一、Unigram Model - 图66

1.2 最大后验估计

  1. 根据贝叶斯学派的观点, 参数 一、Unigram Model - 图67 也是一个随机变量而不再是一个常量,它服从某个概率分布 一、Unigram Model - 图68, 这个分布称作参数 一、Unigram Model - 图69 的先验分布。

    此时:

    一、Unigram Model - 图70

    根据前面的推导有: 一、Unigram Model - 图71 ,则有:

    一、Unigram Model - 图72

  2. 此处先验分布 一、Unigram Model - 图73 有多种选择。注意到数据集条件概率 一、Unigram Model - 图74 刚好是多项式分布的形式,于是选择先验分布为多项式分布的共轭分布,即狄利克雷分布:

    一、Unigram Model - 图75

    其中:一、Unigram Model - 图76 为参数向量,一、Unigram Model - 图77Beta函数:

    一、Unigram Model - 图78

    显然根据定义有:

    一、Unigram Model - 图79

  3. 一、Unigram Model - 图80 为词频向量,其每个元素代表了对应的单词在数据集 一、Unigram Model - 图81 中出现的次数。

    此时有:

    一、Unigram Model - 图82

    因此 一、Unigram Model - 图83 仅由 一、Unigram Model - 图84 决定,记作:一、Unigram Model - 图85

  4. 后验概率 :

    一、Unigram Model - 图86

    可见后验概率服从狄利克雷分布 一、Unigram Model - 图87

  5. 因为这时候的参数 一、Unigram Model - 图88 是一个随机变量,而不再是一个固定的数值,因此需要通过对后验概率 一、Unigram Model - 图89 最大化或者期望来求得。

    • 这里使用期望值 一、Unigram Model - 图90 来做参数估计。

      由于后验分布 一、Unigram Model - 图91 服从狄利克雷分布 一、Unigram Model - 图92, 则有期望:

      一、Unigram Model - 图93

      即参数 一、Unigram Model - 图94 的估计值为:

      一、Unigram Model - 图95

      考虑到 一、Unigram Model - 图96 在狄利克雷分布中的物理意义为:事件的先验的伪计数。因此该估计式物理意义为:估计值是对应事件计数(伪计数+真实计数)在整体计数中的比例。

    • 这里并没有使用最大似然数据集 一、Unigram Model - 图97 来做参数估计,因为 一、Unigram Model - 图98 中并没有出现参数 一、Unigram Model - 图99

1.3 文档生成算法

  1. 文档生成算法:根据主题模型求解的参数来生成一篇新的文档。

  2. 最大似然模型的 Unigram Model 生成文档步骤:

    根据词汇分布 一、Unigram Model - 图100 ,从词汇表 一、Unigram Model - 图101 中独立重复采样 一、Unigram Model - 图102 次从而获取 一、Unigram Model - 图103 个单词。则这些单词就生成一篇文档。

  3. 最大后验估计的 Unigram Model生成文档的步骤为:

    • 根据参数为 一、Unigram Model - 图104 的狄利克雷分布 一、Unigram Model - 图105 随机采样一个词汇分布 一、Unigram Model - 图106

      所谓随机采样一个词汇分布,即:根据狄里克雷分布生成一个随机向量。选择时要求 :

      一、Unigram Model - 图107

    • 根据词汇分布 一、Unigram Model - 图108 ,从词汇表 一、Unigram Model - 图109 中独立重复采样 一、Unigram Model - 图110 次从而获取 一、Unigram Model - 图111 个单词。则这些单词就生成一篇文档。