# LDA-math-文本建模

4. 文本建模

• 上帝都有什么样的骰子；
• 上帝是如何抛掷这些骰子的；

4.1 Unigram Model

$$p(\overrightarrow{w}) = p(w_1, w_2, \cdots, w_n) = p(w_1)p(w_2) \cdots p(w_n)$$

$$p(\mathcal{W})= p(\overrightarrow{w_1})p(\overrightarrow{w_2}) \cdots p(\overrightarrow{w_m})$$

$$p(\overrightarrow{n}) = Mult(\overrightarrow{n}|\overrightarrow{p}, N) = \binom{N}{\overrightarrow{n}} \prod_{k=1}^V p_k^{n_k}$$

\begin{align*}
p(\mathcal{W})= p(\overrightarrow{w_1})p(\overrightarrow{w_2}) \cdots p(\overrightarrow{w_m})
= \prod_{k=1}^V p_k^{n_k}
\end{align*}

$$\hat{p_i} = \frac{n_i}{N} .$$

$$p(\mathcal{W}) = \int p(\mathcal{W}|\overrightarrow{p}) p(\overrightarrow{p})d\overrightarrow{p}$$

$$p(\overrightarrow{n}) = Mult(\overrightarrow{n}|\overrightarrow{p}, N)$$

$$Dir(\overrightarrow{p}|\overrightarrow{\alpha})= \frac{1}{\Delta(\overrightarrow{\alpha})} \prod_{k=1}^V p_k^{\alpha_k -1}， \quad \overrightarrow{\alpha}=(\alpha_1, \cdots, \alpha_V)$$

$$\Delta(\overrightarrow{\alpha}) = \int \prod_{k=1}^V p_k^{\alpha_k -1} d\overrightarrow{p} .$$

Dirichlet 先验下的 Unigram Model

Unigram Model的概率图模型

Dirichlet 先验 + 多项分布的数据 $\rightarrow$ 后验分布为 Dirichlet 分布

$$Dir(\overrightarrow{p}|\overrightarrow{\alpha}) + MultCount(\overrightarrow{n})= Dir(\overrightarrow{p}|\overrightarrow{\alpha}+\overrightarrow{n})$$

p(\overrightarrow{p}|\mathcal{W},\overrightarrow{\alpha})
= Dir(\overrightarrow{p}|\overrightarrow{n}+ \overrightarrow{\alpha})
= \frac{1}{\Delta(\overrightarrow{n}+\overrightarrow{\alpha})}
\prod_{k=1}^V p_k^{n_k + \alpha_k -1} d\overrightarrow{p}

$$E(\overrightarrow{p}) = \Bigl(\frac{n_1 + \alpha_1}{\sum_{i=1}^V(n_i + \alpha_i)}, \frac{n_2 + \alpha_2}{\sum_{i=1}^V(n_i + \alpha_i)}, \cdots, \frac{n_V + \alpha_V}{\sum_{i=1}^V(n_i + \alpha_i)} \Bigr)$$

\label{dirichlet-parameter-estimation}
\hat{p_i} = \frac{n_i + \alpha_i}{\sum_{i=1}^V(n_i + \alpha_i)}

\begin{align}
p(\mathcal{W}|\overrightarrow{\alpha}) & = \int p(\mathcal{W}|\overrightarrow{p}) p(\overrightarrow{p}|\overrightarrow{\alpha})d\overrightarrow{p} \notag \\
& = \int \prod_{k=1}^V p_k^{n_k} Dir(\overrightarrow{p}|\overrightarrow{\alpha}) d\overrightarrow{p} \notag \\
& = \int \prod_{k=1}^V p_k^{n_k} \frac{1}{\Delta(\overrightarrow{\alpha})}
\prod_{k=1}^V p_k^{\alpha_k -1} d\overrightarrow{p} \notag \\
& = \frac{1}{\Delta(\overrightarrow{\alpha})}
\int \prod_{k=1}^V p_k^{n_k + \alpha_k -1} d\overrightarrow{p} \notag \\
& = \frac{\Delta(\overrightarrow{n}+\overrightarrow{\alpha})}{\Delta(\overrightarrow{\alpha})}
\label{likelihood-dir-mult}
\end{align}

4.2 Topic Model 和 PLSA

• 说到语言学，我们容易想到的词包括：语法、句子、乔姆斯基、句法分析、主语…；
• 谈论概率统计，我们容易想到以下一些词: 概率、模型、均值、方差、证明、独立、马尔科夫链、…；
• 谈论计算机，我们容易想到的词是： 内存、硬盘、编程、二进制、对象、算法、复杂度…；

Topic 就是Vocab 上的概率分布

PLSA 模型的文档生成过程

$$p(w|d_m) = \sum_{z=1}^K p(w|z)p(z|d_m) = \sum_{z=1}^K \varphi_{zw} \theta_{mz}$$

$$p(\overrightarrow{w}|d_m) = \prod_{i=1}^n \sum_{z=1}^K p(w_i|z)p(z|d_m) = \prod_{i=1}^n \sum_{z=1}^K \varphi_{zw_i} \theta_{dz}$$

### 《LDA-math-文本建模》有 11 条评论

1. wsz说：

写得真好！太容易理解了，也很能看出unigram和pLSA的区别。

[回复]

2. 丕子说：

嗯 生成模型就是这么的自然

[回复]

3. chase说：

在game 1中先讲了多项分布，但是为什么后面语料的概率却不是多项分布呢

[回复]

miao 回复:

因为是共轭先验加上数据后来还是共轭后验

[回复]

4. qing chen说：

写得真好

[回复]

5. 皮皮说：

unigram model 中“而文档和文档之间我们认为是独立的， 所以如果语料中有多篇文档 W=(w1−→,w2−→,…,wm−→),则该语料的概率是
p(W)=p(w1−→)p(w2−→)⋯p(wm−→)”
为什么语料的概率没有多项式前缀？不是独立的嘛？

[回复]

Blei 回复:

同问！

[回复]

6. Jige说：

学习了，写得很不错~

[回复]

7. zephyr说：

请问一个感性的问题：

如果连续抛掷一个硬币（先验概率50%对50%）1000次。

出现600次正面，400次反面。

通过贝叶斯理论，得出硬币有很大概率是不均匀的（后验概率不为50%对50%）

这是不是就可以视为是“贝叶斯统计学派的统计学家会有不同意见”的一个例子？

[回复]

8. Lyu说：

刚开始学习贝叶斯统计和自然语言处理，希望给出语料的概率公式的推导，感觉这点好像有问题的样子

[回复]

9. weiyuan说：

老师您好，我有一个LDA的问题想问一下。就是它的gibbs采样的问题。

gibbs采样是已知分布（转移矩阵）获取样本，但是LDA模型在采样之前，转移矩阵是不确定的

我看算法里面是随机初始了一些参数（Nm，Nk）等，然后构建转移概率，然后进行采样，然后根据每次采样的结果去更新转移概率，之后接着采样直到收敛。这感觉像是鸡生蛋蛋生鸡啊，为什么能保证采样的结果是真正符合实际的P(Z|W)的分布的样本呢？

[回复]