二、pLSA Model

  1. Unigram Model模型过于简单。事实上人们写一篇文章往往需要先确定要写哪几个主题。

    如:写一篇计算机方面的文章,最容易想到的词汇是:内存、CPU、编程、算法等等。之所以能马上想到这些词,是因为这些词在对应的主题下出现的概率相对较高。

    因此可以很自然的想到:一篇文章由多个主题构成,而每个主题大概可以用与该主题相关的频率最高的一些词来描述。

    上述直观的想法由Hoffman在 1999 年的 probabilistic Latent Semantic Analysis:pLSA模型中首先进行了明确的数学化。

  2. 主题 topic:表示一个概念。具体表示为一系列相关的词,以及它们在该概念下出现的概率。

    • 与某个主题相关性比较强的词,在该主题下出现概率较高
    • 与某个主题相关性比较弱的词,在该主题下出现概率较低
  3. 主题示例:给定一组词: 证明,推导,对象,酒庄,内存,下列三个主题可以表示为:

    • 数学主题:二、pLSA Model - 图1
    • 计算机主题:二、pLSA Model - 图2
    • 红酒主题:二、pLSA Model - 图3
     证明推导对象酒庄内存
    数学0.450.350.200
    计算机0.20.150.4500.2
    红酒000.20.80

2.1 文档生成算法

  1. 假设话题集合 二、pLSA Model - 图4二、pLSA Model - 图5 个话题,分别为 二、pLSA Model - 图6pLSA 模型的文档生成规则:

    • 以概率 二、pLSA Model - 图7 选中第 二、pLSA Model - 图8 个话题 二、pLSA Model - 图9 ,然后在话题 二、pLSA Model - 图10 中以概率 二、pLSA Model - 图11 选中第 二、pLSA Model - 图12 个单词 二、pLSA Model - 图13

    • 重复执行上一步挑选话题--> 挑选单词 二、pLSA Model - 图14 次,则得到一篇包含 二、pLSA Model - 图15 个单词 二、pLSA Model - 图16 的文档,记作 二、pLSA Model - 图17

      其中: 二、pLSA Model - 图18二、pLSA Model - 图19 表示文档的第 二、pLSA Model - 图20 个单词为 二、pLSA Model - 图21

  2. 对于包含 二、pLSA Model - 图22 篇文档的数据集 二、pLSA Model - 图23 ,假设所有文档都是如此生成。则数据集 二、pLSA Model - 图24 的生成规则:

    • 以概率 二、pLSA Model - 图25 选中第 二、pLSA Model - 图26 篇文档。这个概率仅仅用于推导原理,事实上随着公式的推导,该项会被消掉。

      通常选择均匀选择,即 二、pLSA Model - 图27

    • 对于第 二、pLSA Model - 图28 篇文档,以概率 二、pLSA Model - 图29 选中第 二、pLSA Model - 图30 个话题 二、pLSA Model - 图31 ,然后在话题 二、pLSA Model - 图32 中以概率 二、pLSA Model - 图33 选中第 二、pLSA Model - 图34 个单词 二、pLSA Model - 图35

    • 重复执行上一步挑选话题--> 挑选单词 二、pLSA Model - 图36 次,则得到一篇包含 二、pLSA Model - 图37 个单词 二、pLSA Model - 图38 的文档,记作 二、pLSA Model - 图39

    • 重复执行上述文档生成规则 二、pLSA Model - 图40 次,即得到 二、pLSA Model - 图41 篇文档组成的文档集合 二、pLSA Model - 图42

2.2 模型原理

  1. 二、pLSA Model - 图43

    • 二、pLSA Model - 图44 表示:选中第 二、pLSA Model - 图45 篇文档 二、pLSA Model - 图46 的条件下,选中第 二、pLSA Model - 图47 个话题 二、pLSA Model - 图48 的概率
    • 二、pLSA Model - 图49 表示:选中第 二、pLSA Model - 图50 个话题 二、pLSA Model - 图51 的条件下,选中第 二、pLSA Model - 图52 个单词 二、pLSA Model - 图53 的概率

    待求的是参数 二、pLSA Model - 图54二、pLSA Model - 图55

    二、pLSA Model - 图56

  2. 根据pLSA概率图模型(盘式记法),结合成对马尔可夫性有:

    二、pLSA Model - 图57

    即:文档和单词关于主题条件独立。

    二、pLSA Model - 图58

  3. 对于文档 二、pLSA Model - 图59 ,给定其中的单词 二、pLSA Model - 图60 ,有:

    二、pLSA Model - 图61

    根据该等式,可以得到:

    二、pLSA Model - 图62

    即:给定文档 二、pLSA Model - 图63 的条件下,某个的单词 二、pLSA Model - 图64 出现的概率可以分成三步:

    • 首先得到给定的文档 二、pLSA Model - 图65 的条件下,获取某个话题 二、pLSA Model - 图66 的概率
    • 再得到该话题 二、pLSA Model - 图67 生成该单词 二、pLSA Model - 图68 的概率
    • 对所有的话题累加 二、pLSA Model - 图69 即得到给定的单词 二、pLSA Model - 图70 在给定文档 二、pLSA Model - 图71 中出现的概率
  4. 对于给定文档 二、pLSA Model - 图72 中主题 二、pLSA Model - 图73 生成的单词 二、pLSA Model - 图74 ,有:

    二、pLSA Model - 图75

    则已知文档 二、pLSA Model - 图76 中出现了单词 二、pLSA Model - 图77 的条件下,该单词由主题 二、pLSA Model - 图78 生成的概率为:

    二、pLSA Model - 图79

    其物理意义为:给定文档 二、pLSA Model - 图80 的条件下,单词 二、pLSA Model - 图81 由主题 二、pLSA Model - 图82 生成的概率占单词 二、pLSA Model - 图83 出现的概率的比例。

2.3 参数求解

  1. pLSA 模型由两种参数求解方法:矩阵分解、EM 算法。

2.3.1 矩阵分解

  1. 根据前面的推导,有:二、pLSA Model - 图84 。其中文档 二、pLSA Model - 图85 和单词 二、pLSA Model - 图86 是观测到的,主题 二、pLSA Model - 图87 是未观测到的、未知的。

    二、pLSA Model - 图88 ,根据:

    二、pLSA Model - 图89

    则有:

    二、pLSA Model - 图90

  2. 令:

    二、pLSA Model - 图91

    则有:二、pLSA Model - 图92

    由于 二、pLSA Model - 图93 是观测的、已知的,所以pLSA对应着矩阵分解。其中要求满足约束条件:

    二、pLSA Model - 图94

    .

2.3.2 EM 算法

  1. 在文档 二、pLSA Model - 图95 中,因为采用词袋模型,所以单词的生成是独立的。假设文档 二、pLSA Model - 图96 中包含单词 二、pLSA Model - 图97 ,其中:

    • 二、pLSA Model - 图98 表示文档 二、pLSA Model - 图99 的单词总数。
    • 二、pLSA Model - 图100 表示文档 二、pLSA Model - 图101 的第 二、pLSA Model - 图102 个单词为 二、pLSA Model - 图103

    则有:

    二、pLSA Model - 图104

  2. 根据前面的推导,有:二、pLSA Model - 图105。则:

    二、pLSA Model - 图106

    则有:

    二、pLSA Model - 图107

  3. 假设文档 二、pLSA Model - 图108 的单词 二、pLSA Model - 图109 中,单词 二、pLSA Model - 图110二、pLSA Model - 图111 个, 二、pLSA Model - 图112。 则有:

    二、pLSA Model - 图113

    二、pLSA Model - 图114 的物理意义为:文档 二、pLSA Model - 图115 中单词 二、pLSA Model - 图116 的数量。

  4. 考虑观测变量 二、pLSA Model - 图117,它表示第 二、pLSA Model - 图118 篇文档 二、pLSA Model - 图119 以及该文档中的 二、pLSA Model - 图120 个单词。

    则有:

    二、pLSA Model - 图121

    由于文档之间是相互独立的,因此有:

    二、pLSA Model - 图122

    要使得观测结果发生,则应该最大化 二、pLSA Model - 图123 。但是这里面包含了待求参数的乘积,其最大化难于求解,因此使用EM算法求解。

  5. 考虑完全变量 二、pLSA Model - 图124,其中 二、pLSA Model - 图125 为文档中 二、pLSA Model - 图126 中每位置的单词背后的话题。

    • 由于采用词袋模型,所以生成单词是相互独立的,因此有:

    二、pLSA Model - 图127

    • 根据 二、pLSA Model - 图128 有:

      二、pLSA Model - 图129

      于是:

    二、pLSA Model - 图130

    • 由于文档之间是相互独立的,因此有:

    二、pLSA Model - 图131

  6. 假设在文档 二、pLSA Model - 图132 中,单词 二、pLSA Model - 图133 不论出现在文档的哪个位置,都是由同一个话题 二、pLSA Model - 图134 产生的

    则有:

    二、pLSA Model - 图135

    则有:

    二、pLSA Model - 图136

    则完全数据的对数似然函数为:

    二、pLSA Model - 图137

  7. E 步:求取Q函数,为 二、pLSA Model - 图138 关于后验概率 二、pLSA Model - 图139 的期望。

    根据前面的推导,有:

    二、pLSA Model - 图140

    其中 二、pLSA Model - 图141 均为上一轮迭代的结果,为已知量。

    则有:

    二、pLSA Model - 图142

  8. M步:最大化Q函数,同时考虑约束条件:

    二、pLSA Model - 图143

    对每个参数进行求导并使之等于0 ,联立方程求解得到:

    二、pLSA Model - 图144

  9. 文档-主题概率 二、pLSA Model - 图145 更新方程

    二、pLSA Model - 图146

    其物理意义:文档 二、pLSA Model - 图147 中每个位置背后的、属于主题 二、pLSA Model - 图148 的频数(按概率计数),除以位置的个数。也就是主题 二、pLSA Model - 图149 的频率。

    二、pLSA Model - 图150

  10. 主题-单词概率 二、pLSA Model - 图151 更新方程

    二、pLSA Model - 图152

    其物理意义为:单词 二、pLSA Model - 图153 在数据集 二、pLSA Model - 图154 中属于主题 二、pLSA Model - 图155 的频数(按概率计数),除以数据集 二、pLSA Model - 图156 中属于主题 二、pLSA Model - 图157 的频数(按概率计数)。即单词 二、pLSA Model - 图158 的频率。

    二、pLSA Model - 图159

  11. pLSAEM算法:

    • 输入:文档集合 二、pLSA Model - 图160 ,话题集合 二、pLSA Model - 图161,字典集合 二、pLSA Model - 图162

    • 输出:参数 二、pLSA Model - 图163二、pLSA Model - 图164 ,其中:

      二、pLSA Model - 图165

    • 算法步骤:

      • 初始化: 令 二、pLSA Model - 图166 , 为 二、pLSA Model - 图167二、pLSA Model - 图168 赋初值,二、pLSA Model - 图169

      • 迭代,迭代收敛条件为参数变化很小或者 Q函数的变化很小。迭代步骤如下:

        • E步:计算 二、pLSA Model - 图170 函数。

          • 先计算后验概率:

          二、pLSA Model - 图171

          • 再计算 二、pLSA Model - 图172 函数:

            二、pLSA Model - 图173

        • M步:计算 二、pLSA Model - 图174 函数的极大值,得到参数的下一轮迭代结果:

          二、pLSA Model - 图175

        • 重复上面两步直到收敛