一、Unigram Model
假设有一个骰子,骰子有 个面,每个面对应于词典中的一个单词。
Unigram Model
是这样生成文档的:- 每次抛一次骰子,抛出的面就对应于产生一个单词。
- 如果一篇文档有 个单词,则独立的抛掷 次骰子就产生着 个单词。
令骰子的投掷出各个面的概率为 ,其中 为抛出的面是第 面的概率:。满足约束:
就是待求的参数。
假设文档包含 个单词,这些单词依次为 : ,其中 。用 代表文档, 则生成这篇文档的概率为:
在 中, 称作 的上下文。由于采取的是词袋模型,没有考虑上下文,所以有:
于是有:
- 如果考虑了上下文(即抛弃词袋模型),则各种单词的组合会导致爆炸性的复杂度增长。
- 由于是词袋模型,因此 并不构成一个概率分布。 仅仅是生成该文档的一种非归一化概率。
假设单词 中,有 个 ,有 个 ,…有 个 ,其中 ,则:
参数估计:就是估计骰子的投掷出各个面的概率
1.1 最大似然估计
假设数据集 包含 篇文档 。对文档 ,假设其单词依次为 , 用 来表示。其中:
- 表示文档 的第 个单词为单词 。
- 表示文档 一共有 个单词。
由于每篇文档都是独立的且不考虑文档的顺序和单词的顺序,则数据集发生的概率
假设数据集的所有单词 中,有 个 ,有 个 ,…有 个 。其中 , 为所有文档的所有单词的数量。则有:
使用最大似然估计法,也就是最大化对数的 :
于是求解:
用拉格朗日乘子法求解,其解为:
其物理意义为:单词 出现的概率 等于它在数据集 中出现的频率,即:它出现的次数 除以数据集 所有单词数 。
1.2 最大后验估计
根据贝叶斯学派的观点, 参数 也是一个随机变量而不再是一个常量,它服从某个概率分布 , 这个分布称作参数 的先验分布。
此时:
根据前面的推导有: ,则有:
此处先验分布 有多种选择。注意到数据集条件概率 刚好是多项式分布的形式,于是选择先验分布为多项式分布的共轭分布,即狄利克雷分布:
其中: 为参数向量, 为
Beta
函数:显然根据定义有:
令 为词频向量,其每个元素代表了对应的单词在数据集 中出现的次数。
此时有:
因此 仅由 决定,记作:
后验概率 :
可见后验概率服从狄利克雷分布 。
因为这时候的参数 是一个随机变量,而不再是一个固定的数值,因此需要通过对后验概率 最大化或者期望来求得。
这里使用期望值 来做参数估计。
由于后验分布 服从狄利克雷分布 , 则有期望:
即参数 的估计值为:
考虑到 在狄利克雷分布中的物理意义为:事件的先验的伪计数。因此该估计式物理意义为:估计值是对应事件计数(伪计数+真实计数)在整体计数中的比例。
这里并没有使用最大似然数据集 来做参数估计,因为 中并没有出现参数 。
1.3 文档生成算法
文档生成算法:根据主题模型求解的参数来生成一篇新的文档。
最大似然模型的
Unigram Model
生成文档步骤:根据词汇分布 ,从词汇表 中独立重复采样 次从而获取 个单词。则这些单词就生成一篇文档。
最大后验估计的
Unigram Model
生成文档的步骤为:根据参数为 的狄利克雷分布 随机采样一个词汇分布 。
所谓随机采样一个词汇分布,即:根据狄里克雷分布生成一个随机向量。选择时要求 :
根据词汇分布 ,从词汇表 中独立重复采样 次从而获取 个单词。则这些单词就生成一篇文档。