机器学习笔记(三)LDA主题模型


本文是对https://www.cnblogs.com/pinard/p/6831308.html此篇博客的自我理解和细节的补充。

模型学习的目标

  1. 学习M篇文章中每个文章的主题分布,和K个主题中每个主题中词的分布。
    例:我们想要知道一个文章中,它包含了哪些主题且主题的比重是怎样的,例如一篇文章《神探夏洛克》,它的主题分布可能是
    (1)包含了40%的犯罪、20%的基情、40%的悬疑
    (2)包含了30%的犯罪、30%的基情、40%的悬疑
    等等。。。
    我们先从可能的主题分布中按概率抽取一条,再根据该主题分布,抽取一个主题。
    例如我们抽取到的是犯罪主题,那么该主题的词的分布可能是(1)“谋杀”这个词出现的概率是20%、“抢劫”出现的概率是30%、“社会出现的概率是50%”
    (2)“谋杀”这个词出现的概率是30%、“抢劫”出现的概率是20%、“社会出现的概率是50%”。
    等等,
    我们再从中抽取一条词分布,再根据词分布抽取一个词,作为该文章的第n个词。
    我们要学习的目的就是根据语料库,学习出上边具体的概率。
    我们共有M篇文章和K个主题,则要求出M个文章的主题分布的狄利克雷分布,和K个主题的词的狄利克雷分布。共需要求M+K个狄利克雷分布。还有狄利克雷的超参数。即LDA主要有两个任务:对现有文集确定LDA模型参数α、η的值(使用EM变分推断);或对一篇新文档,根据模型确定隐变量的分布p(β,z,θ|w,α,η)(使用Gibbs采样等方法)。

数学理论基础

  1. Beta分布是二项分布的共轭分布,啥叫共轭分布?就是先验概率和后验概率的分布形式是一样的。下面是证明过程,p是二项0,1分布中值取1的概率,n是取样次数、k是取样n次的和、 α \alpha α β \beta β是二项先验知识,即先验知识里二项分布共有 α \alpha α+ β \beta β次取值,其中取1的有 α \alpha α次,取0的有 β \beta β次。我们要求取的是二项分布的p。
    P ( p ∣ k , n , α , β ) = P ( k ∣ p , n , α , β ) ∗ P ( p ∣ α , β , n ) P ( k ∣ α , β , n ) P(p|k,n,\alpha ,\beta )=\frac{P(k|p,n,\alpha,\beta)*P(p|\alpha,\beta,n)}{P(k|\alpha,\beta,n)} P(pk,n,α,β)=P(kα,β,n)P(kp,n,α,β)P(pα,β,n)
    由于 k , n , α , β k,n,\alpha,\beta k,n,α,β皆为已知变量,所以 P ( k ∣ α , β , n ) P(k|\alpha,\beta,n) P(kα,β,n)为定值。故 P ( p ∣ k , n , α , β ) ∝ P ( k ∣ p , n , α , β ) ∗ P ( p ∣ α , β , n ) P(p|k,n,\alpha ,\beta )\propto P(k|p,n,\alpha,\beta)*P(p|\alpha,\beta,n) P(pk,n,α,β)P(kp,n,α,β)P(pα,β,n)
    = P ( k ∣ p , n ) ∗ P ( p ∣ α , β ) =P(k|p,n)*P(p|\alpha,\beta) =P(kp,n)P(pα,β)
    = C n k p k ( 1 − p ) n − k ∗ B e t a ( α , β ) =C_n^kp^k(1-p)^{n-k}*Beta(\alpha,\beta) =Cnkpk(1p)nkBeta(α,β)
    = C n k p k ( 1 − p ) n − k ∗ Γ ( α + β ) Γ ( α ) ∗ Γ ( β ) p α − 1 ( 1 − p ) β − 1 =C_n^kp^k(1-p)^{n-k}*\frac{\Gamma (\alpha+\beta)}{\Gamma (\alpha)*\Gamma (\beta)}p^{\alpha-1}(1-p)^{\beta-1} =Cnkpk(1p)nkΓ(α)Γ(β)Γ(α+β)pα1(1p)β1
    …其中 Γ ( x ) = ( x − 1 ) ! \Gamma (x)=(x-1)!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值