机器学习之主题模型

1. 共轭先验分布

1.1 β分布

在进入正题之前,先来了解一下beta分布。

Γ函数 
Γ函数是阶乘在实数上的推广。

image_1b3gmvumc1teadop1hit1e8t1tblm.png-13.7kB

β分布 
Beta分布的概率密度函数为:

f(x) = image_1b3gn7tb1139j18aflpo1tjg1okb13.png-7.8kB

其中系数B为: 
image_1b3gn927119i5nad16a275pc1g.png-7.8kB

Γ函数可以堪称是阶乘的实数域推广。 
image_1b3gnbd42evcqo51c8f14ihdc41t.png-11.9kB

Beta分布的期望可以定义为: 
image_1b3gncc8bgns1r8bdcl19t1v7j2a.png-27.8kB

1.2 共轭先验分布

回顾贝叶斯分类算法,通过先验概率和条件概率去计算求得后验概率。如下公式,如果目的是去找后验概率P(θ|x)最大的类别,而不关心P(θ|x)具体的值,那么可以将分母P(x)省去。 
image_1b3gnknff11bs19l12il1n2tppr2n.png-8.8kB

在贝叶斯概率理论仲,如果后验概率P(θ|x)和先验概率P(θ)满足同样的分布律,那么,先验分布和后验分布被叫做“共轭分布”,同时,先验分布叫做似然函数的共轭先验分布。

1.3 二项分布与先验

投掷一个非均匀的硬币,可以使用参数为θ的伯努利模型,θ为硬币为正面的改了,那么x的分布形式是: 
image_1b3godfifnkgen019i36ba5aa34.png-3.7kB 
这是x的极大似然估计。

二项分布的共轭先验是Beta分布,它具有两个参数α和β。 
beta分布的形式为: 
image_1b3gogq3av8rgb81ss8b6s1cc83h.png-10.4kB

现在,可以根据以上的似然和先验来计算后验概率。 
后验概率P(θ|x)为: 
image_1b3goiqr6or1k54vqhml2o523u.png-21.5kB

后验概率的形式与先验概率的形式一样,后验概率的参数为(x+α, 1-x+β).即伯努利分布的共轭先验是beta分布。

1.4 伪计数

参数α与β是决定参数θ的参数,称之超参数。

计算得到的后验概率为: 
image_1b3gp60bl1pb4nbccfi1etf1kqt9.png-4.2kB

在后验概率的最终表达式仲,参数α,β和x一起作为参数θ的指数,后验概率的参数为(x+α, 1-x+β)。 
而这个指数的实践意义是:投币过程中,正面朝上的次数。α和β先验地给出了在没有任何实验的前提下,硬币朝上的概率分配,因此,α和β可称为“伪计数”。

于是看下面的案例: 
在校门口统计一定时间出入的男女生数目分别为NB, NG,从而估计该校男女生比例。

若观察到4个女生,和1个男生,可得出改校女生比例是80%ma ?

用极大似然估计那么的确女生比例是80%: 
image_1b3gpmg6u11sle5v1gau83ee3n13.png-5.5kB

但是这显然好像有失偏颇,所以我们将伪计数考虑进去,得到修正后的公式: 
image_1b3gpokg3lpg1gs71fuf7f12io1t.png-13.2kB

1.5 共轭的直接推广:

从2到k 
二项分布–>多项分布 
Beta分布–>Dirichlet分布

以上我们讲了寻找一个二项分布的共轭先验分布为Beta分布的过程。现在衍生到多向分布。 
多项分布的共轭先验分布为Dirichlet分布

2. Dirichlet分布

2.1 Dirichlet分布

再来回顾一下Beta分布: 
image_1b3grtki21gol1scl20vee91j4q2a.png-7.7kB

其中:image_1b3gruan46i01tni15d21msc1hqh37.png-4kB

然后衍生到Dirichlet分布: 
image_1b3grvqfm16761f1314op117emls3k.png-9.2kB

以上公式间记做: 
image_1b3gs10ha1kkrbni14fd13lv1vl441.png-5.6kB

其中:image_1b3gs1cjoi8c1etp16g3uat1fik4e.png-5.6kB

Beta分布中有两个可能发生的情况x, (1-x),在多项分布中会有多种情况,记为P1,P2,…,Pk。

Beta分布中两个项分别用超参数α,β来表示,在Dirichlet分布中用α1,α2,…αk来表示

2.2 对称Dirichlet分布

当α1=α2=…=αk-1的时候,参数其实就只剩下(k,α)了。这个时候叫做“对称Dirichlet分布”

对称Dirichlet分布: 
image_1b3gscmpi5ju95j1f8ppq4apu4r.png-6.8kB

其中:image_1b3gsfh8its11n1579k798h758.png-4.8kB

在对称Dirichlet分布仲, 
当阿尔法=1时,退化为均匀分布;

当α>1时,p1=p2=…=pk的概率增大;

当α<1时,pi=1, 非pi的概率增大。

三种情况画成图: 
image_1b3gslab71vpp13qf1ekm17ie1kq65l.png-133.4kB

也就是说: 
若α取值过大,则每个主题的概率都趋于同一个值; 
若α取值小,则有一个主题的概率非常大,其他主题概率都很小。

在实践中,我们一般选取α小一点,这样才能突出某些主题。

3. LDA

3.1 LDA的应用方向:

信息提取和搜索(比如语义分析) 
文档分类/聚类,文章摘要,社区挖掘 
基于内容的ti图像聚类,目标识别 
生物信息数据的应用

3.2 LDA逻辑解释

首先假设我们现在手上有一堆文本。共有m篇文章,d1,d2,..dm 
共涉及K个主题, T1,T2,..,Tk

每篇文章的长度,即分词后的词个数为Nm,每篇文章都有可能被分到K个类别中,都会有一个概率,我们称之为每篇文章的主题分布。 
主题分布是多项分布,该多项分布的参数服从Dirichlet分布,该Dirichlet分布的参数设为α。

对于每个主题,都是由词组成,所有每个主题都有各自的次分不,词分布也是多想分布,该多相分布的参数服从Dirichlet分布,该Dirichlet分布的参数设为β。

然后所有的文本分次之后去重就可以组成一个字典,这个字典中有V个不重复的term(也就是词)。

每篇文章的主题分布记为θ,对于第i篇文档di的主题分布是θi=(θi1,θi2,..θiK), 维度为K维 
对于第i篇文档di,在主题分布θ下,可以确定一个具体的主图zij=k 
φK表示第k个主题的词分布,词分布向量的长度为字典的长度V

由zij选择φzij,表示由次分不确定term,即得到观测值wij

过程如图: 
image_1b56vb4021t161ldp1t8m1l5dehh9.png-36.9kB

也就是说,通过α和β的两个分布,要求出文档的主题分布与主题的词分布。写成联合概率如下: 
image_1b573bnpt1gvq1udtucekto1c7em.png-11.7kB

可以分别计算这两个因子: 
nz(t)表示词t被观察到分配给主题z的次数 
nm(k)表示主题k分配给文档m的次数 
image_1b573covi84h1h3vtvl1fql15c513.png-30.1kB

image_1b573d3ogihb1kr21ung1stkume1g.png-27.8kB

利用gibbs采样: 
image_1b573gcdk1o7e2r91mnv793kq91t.png-53.1kB

于是词分布与主题分布: 
image_1b573h124q0p1q61avu1ocqnlj2a.png-12.5kB

3.3 人话解释

公式都是纸老虎,现在我们说回人话来解释一下,如何去把LDA真正得实践出来。

首先准备语料库 
假设现在手头上有m篇文章(d1,d2,..dm),先将这m篇文章处理成每行为一篇文章的格式,即现在有m行的一个数据集D。

然后对这个数据集进行分词,去掉停用词等处理,于是现在我们有m行,每行由一堆逗号隔开的词组成,每行的长度是不一的。好,这是要拿去训练的语料库。

另外,将上面这个语料库的词全部放在一起再去重,就得到了一个大的字典,长度为V。

然后假设现在有t个topic,记为集合T。

LDA开始学习: 
1.先随机地生成两个分布:文章的主题分布θ,主题的词分布φ

2.对每篇文章中的每个词都进行遍历,比如文章ds的词wi,可以通过最新的两个分布求出pj(wi/ds),j属于1到t。也就是可以求出每篇文章仲每个词属于每个主题的概率。

3.经过了第二步,我们得到了ds文档中wi词的主题,如果与原来的不同,根据上面的公式θd和φt就更新了

4.于是我们用新的θd和φt分布去继续第2,3两步,这样进行n次循环迭代之后,就会收敛到LDA所需要的结果了。

3.4 LDA总结

由于在词和文档之间加入了主题的概念,可以较好的解决一词多义和多词一义的问题。

在实践中发现,LDA用于段文本往往效果不明显。

LDA可以和其他算法相结合,首先使用LDA将长度为Ni的文档降维到K维,同时给出每个主题的概率)主题分布),从而可以使用tf-idf继续分析或者直接作为文档的特征进入聚类或者标签传播算法(用于社区发现等)

猜你喜欢

转载自blog.csdn.net/qq_35654080/article/details/82391188
今日推荐