机器学习——主题模型
朴素贝叶斯的分析
- 可以胜任许多文本分类问题。
- 无法解决语料中一词多义和多词一义的问题——它更像是词法分析,而非语义分析。
- 如果使用词向量作为文档的特征,一词多义和多词一义会造成计算文档间相似度的不准确性。
- 可以通过增加“主题”的方式,一定程度的解决上述问题。
1、一个词可能被映射到多个主题中——一词多义;
2、多个词可能被映射到某个主题的概率很高——多词一义。
LDA涉及的主要问题
函数
函数是阶乘在实数上的推广
Beta分布
Beta分布的概率密度:
其中系数B为:
Beta分布的期望:
共轭先验分布
由于x为给定样本, P(x)有时被称为“证据” ,仅仅是归一化因子,如果不关心P(|x)的具体值,只考察取何值时后验概率P(|x)最大,则可将分母省去。
在贝叶斯概率理论中,如果后验概率P(|x)和先验概率P()满足同样的分布律,那么先验分布和后验分布被叫做共轭分布,同时先验分布叫做似然函数的共轭先验分布。
二项分布与先验
投掷一个非均匀的硬币,可以使用参数为的伯努利模型,为硬币为正面的概率,那么x的分布形式是:
两点分布/二项分布的共轭先验是Beta分布,它具有两个参数和, Beta分布形式为:
先验概率和后验概率的关系:
后验概率是参数为(k+,n-k+)的Beta分布,即:伯努利分布/二项分布的共轭先验是Beta分布。
共轭先验的直接推广:
从2到k :
- 二项分布–>多项分布
- Beta分布–>Dirichlet分布
伪计数
参数α与β是决定参数θ的参数,称之超参数。
计算得到的后验概率为:
在后验概率的最终表达式仲,参数α,β和x一起作为参数θ的指数,后验概率的参数为(x+α, 1-x+β)。
而这个指数的实践意义是:投币过程中,正面朝上的次数。α和β先验地给出了在没有任何实验的前提下,硬币朝上的概率分配,因此,α和β可称为“伪计数”。
Dirichlet分布
Dirichlet分布由Beta分布衍生而来
Dirichlet分布的期望:
Dirichlet分布分析:
对称Dirichlet分布
参数对Dirichlet分布的影响:
LDA
LDA的应用方向
- 信息提取和搜索(如语义分析);
- 文档分类/聚类,文章摘要,社区挖掘 ;
- 基于内容的图像聚类,目标识别;
- 生物信息数据的应用。
LDA的解释
- 共有m篇文章,一共涉及了K个主题;
- 每篇文章(长度为N)都有各自的主题分布,主题分布是多项分布,该多项分布的参数服从Dirichlet分布,该Dirichlet分布的参数为;
- 每个主题都有各自的词分布,词分布为多项分布,该多项分布的参数服从Dirichlet分布,该Dirichlet分布的参数为;
- 对于某篇文章中的第n个词,首先从该文章的主题分布中采样一个主题,然后在这个主题对应的词分布中采样一个词。不断重复这个随机生成过程,直到m篇文章全部完成上述过程。
通过和的两个分布,要求出文档的主题分布与主题的词分布,写成联合概率如下:
可以分别计算这两个因子:
表示词t被观察到分配给主题z的次数
表示主题k分配给文档m的次数
利用gibbs采样:
词分布与主题分布:
LDA的学习:
- 先随机地生成两个分布:文章的主题分布θ,主题的词分布φ;
- 对每篇文章中的每个词都进行遍历,比如文章ds的词wi,可以通过最新的两个分布求出pj(wi/ds),j属于1到t。也就是可以求出每篇文章仲每个词属于每个主题的概率;
- 经过了第二步,我们得到了ds文档中wi词的主题,如果与原来的不同,根据上面的公式θd和φt就更新了;
- 于是我们用新的θd和φt分布去继续第2,3两步,这样进行n次循环迭代之后,就会收敛到LDA所需要的结果了。