主题模型(1)

1.数学知识背景:
   (1)Γ\Gamma函数:
     Γ\Gamma函数是阶乘在实数集上的推广
Γ(x)=0+tx1etdt=(x1)!\Gamma(x)=\int_{0}^{+\infty} t^{x-1} e^{-t} d t=(x-1) !Γ(x)=(x1)Γ(x1)Γ(x)Γ(x1)=x1\Gamma(x)=(x-1) \cdot \Gamma(x-1) \Rightarrow \frac{\Gamma(x)}{\Gamma(x-1)}=x-1
主题模型(1)
   (2)Beta分布:
     Beta分布概率密度函数:
f(x)={1B(α,β)xα1(1x)β1,x[0,1]0, f(x)=\left\{\begin{array}{ll} \frac{1}{B(\alpha, \beta)} x^{\alpha-1}(1-x)^{\beta-1}, & x \in[0,1] \\ 0, & 其他 \end{array}\right.
     其中系数B为:
B(α,β)=01xα1(1x)β1dx=Γ(α)Γ(β)Γ(α+β)B(\alpha, \beta)=\int_{0}^{1} x^{\alpha-1}(1-x)^{\beta-1} d x=\frac{\Gamma(\alpha) \Gamma(\beta)}{\Gamma(\alpha+\beta)}
     Beta分布的期望:
E(X)=01x1B(α,β)xα1(1x)β1dx=1B(α,β)01x(α+1)1(1x)β1dx=B(α+1,β)B(α,β)=Γ(α+β)Γ(α)Γ(β)/Γ(α+β+1)Γ(α+1)Γ(β)=αα+β\begin{array}{l} E(X)=\int_{0}^{1} x \cdot \frac{1}{B(\alpha, \beta)} x^{\alpha-1}(1-x)^{\beta-1} d x \\ =\frac{1}{B(\alpha, \beta)} \int_{0}^{1} x^{(\alpha+1)-1}(1-x)^{\beta-1} d x \\ =\frac{B(\alpha+1, \beta)}{B(\alpha, \beta)}=\frac{\Gamma(\alpha+\beta)}{\Gamma(\alpha) \Gamma(\beta)} / \frac{\Gamma(\alpha+\beta+1)}{\Gamma(\alpha+1) \Gamma(\beta)} \\ =\frac{\alpha}{\alpha+\beta} \end{array}
     Beta分布图像:
主题模型(1)
   (3)共轭先验分布
      由于x为给定样本,P(x)\mathrm{P}(\mathrm{x})有时被称为证据,紧紧是归一化因子,如果不关心P(θx)P(\theta | x)的具体值,只考察θ\theta取何值时后验概率P(θx)\mathrm{P}(\theta | \mathrm{x}),则可以将分母去掉。
P(θx)=P(xθ)P(θ)P(x)P(xθ)P(θ)P(\theta | x)=\frac{P(x | \theta) P(\theta)}{P(x)} \propto P(x | \theta) P(\theta)
      在贝叶斯概率理论中,如果后验概率P(θx)\mathrm{P}(\theta | \mathrm{x})和先验概率p(θ)\mathrm{p}(\theta)满足同样的分布律,则先验分布和后验分布叫做共轭分布,同时,先验分布叫做似然函数的共轭先验分布。
   (4)共轭先验分布举例
    (i)两点分布/二项分布的共轭先验分布是Beta分布
      根据似然和先验:
P(xθ)=Cnkθk(1θ)nkP(θα,β)=1B(α,β)θα1(1θ)β1\begin{array}{c} P(x | \theta)=C_{n}^{k} \cdot \theta^{k} \cdot(1-\theta)^{n-k} \\ P(\theta | \alpha, \beta)=\frac{1}{B(\alpha, \beta)} \theta^{\alpha-1}(1-\theta)^{\beta-1} \end{array}
      计算后验概率:
P(θx)=P(xθ)P(θ)P(x)P(xθ)P(θ)=(Cnkθk(1θ)nk)(1B(α,β)θα1(1θ)β1)=CnkB(α,β)θ(k+α)1(1θ)(nk+β)11B(k+α,nk+β)θ(k+α)1(1θ)(nk+β)1\begin{array}{l} P(\theta | x)=\frac{P(x | \theta) \cdot P(\theta)}{P(x)} \propto P(x | \theta) \cdot P(\theta) \\ =\left(C_{n}^{k} \theta^{k}(1-\theta)^{n-k}\right) \cdot\left(\frac{1}{B(\alpha, \beta)} \theta^{\alpha-1}(1-\theta)^{\beta-1}\right) \\ =\frac{C_{n}^{k}}{B(\alpha, \beta)} \theta^{(k+\alpha)-1}(1-\theta)^{(n-k+\beta)-1} \\ \propto\frac{1}{B(k+\alpha, n-k+\beta)} \theta^{(k+\alpha)-1}(1-\theta)^{(n-k+\beta)-1} \end{array}
          后验概率是参数为(k+α,nk+β)(\mathrm{k}+\alpha, \mathrm{n}-\mathrm{k}+\beta)的Beta分布,即:伯努利分布/二项分布的共轭先验是Beta分布。参数α,β\alpha, \beta是决定参数θ\theta的参数,即超参数,在后验概率的最终表达式中,参数α,β\alpha, \beta和k以及n-k一起作为参数θ\theta的指数–后验概率的参数为(k+α,nk+β)(\mathrm{k}+\alpha, \mathrm{n}-\mathrm{k}+\beta)
    (ii)多项分布的共轭先验分布是Dirichlet分布
      多项分布,是二项分布扩展到多维的情况. 多项分布是指单次试验中的随机变量的取值不再是0-1的,而是有多种离散值可能(1,2,3…,k).概率密度函数为:
P(x1,x2,,xk;n,p1,p2,,pk)=n!x1!xk!p1x1pkxkP\left(x_{1}, x_{2}, \ldots, x_{k} ; n, p_{1}, p_{2}, \ldots, p_{k}\right)=\frac{n !}{x_{1} ! \ldots x_{k} !} p_{1}^{x_{1}} \ldots p_{k}^{x_{k}}
      Dirichlet分布如下:
f(pα)={1Δ(α)k=1Kpkαk1,pk[0,1]0, f(\vec{p} | \vec{\alpha})=\left\{\begin{array}{l} \frac{1}{\Delta(\vec{\alpha})} \prod_{k=1}^{K} p_{k}^{\alpha_{k}-1}, \quad p_{k} \in[0,1] \\ 0, \quad 其他 \end{array}\right.
        其中,Δ(α)=k=1KΓ(αk)Γ(k=1Kαk)\Delta(\vec{\alpha})=\frac{\prod_{k=1}^{K} \Gamma\left(\alpha_{k}\right)}{\Gamma\left(\sum_{k=1}^{K} \alpha_{k}\right)}
      Dirichlet分布期望:
f(pα)=1Δ(α)k=1Kpkαk1,p[0,1]E(pi)=αik=1Kαkf(\vec{p} | \vec{\alpha})=\frac{1}{\Delta(\vec{\alpha})} \prod_{k=1}^{K} p_{k}^{\alpha_{k}-1}, p \in[0,1] \Rightarrow E\left(p_{i}\right)=\frac{\alpha_{i}}{\sum_{k=1}^{K} \alpha_{k}}
      对称Dirichlet分布:
Dir(pα,K)=1ΔK(α)k=1Kpkα1 \operatorname{Dir}(\vec{p} | \alpha, K)=\frac{1}{\Delta_{K}(\alpha)} \prod_{k=1}^{K} p_{k}^{\alpha-1}
        其中,
ΔK(α)=ΓK(αk)Γ(Kα)\Delta_{K}(\vec{\alpha})=\frac{\Gamma^{K}\left(\alpha_{k}\right)}{\Gamma(K \cdot \alpha)}
      对称Dirichlet分布参数分析:
      α=1\alpha=1退化为均匀分布,α>1\alpha>1时,p1=p2==pk\mathrm{p}_{1}=\mathrm{p}_{2}=\ldots=\mathrm{p}_{\mathrm{k}}的概率增大,
α<1\alpha<1时,pi=1,pi=0\mathrm{p}_{\mathrm{i}}=1, \quad \mathrm{p}_{非{i}}=0的概率增大。
主题模型(1)
2.LDA介绍
   (1)LDA应用方向:
     朴素贝叶斯可以胜任许多文本分类的问题,但是无法解决语料中一词多义和多次一意的问题,是一种词法分析,并非语义分析。如果使用词向量作为文档的特征,一词多义和多
     信息提取和搜索:语义分析
     文档分类/聚类,文章摘要,社区挖掘
   (2)LDA的解释:
     共有m篇文章,一共涉及了K个主题;
     每篇文章(长度为Nm)都有各自的主题分布,主题分布式多项分布,该多项分布的参数服从Dirichlet分布,该Dirichlet分布的参数为α\alpha
     每个主题都有各自的词分布,此分布为多项分布,该多项分布的参数服从Dirichlet分布,该Dirichlet分布的参数为β\beta;
     对于某篇文章中的第n个词,首先从该文章中的主题分布中采样一个主题,然后在个主题对应的词分布中采样一个词,不断重复整个随机生成过程,直到m篇文章全部完成上述过程。
主题模型(1)
主题模型(1)
     字典*有V个term(不可重复的),这些term出现在具体的文章中,就是word,在具体文章中的word当然是有可能重复的;
     语料库*有m篇文档d1,d2dm\mathrm{d}_{1}, \mathrm{d}_{2} \ldots \mathrm{d}_{\mathrm{m}};
     对于文档di\mathrm{d}_{i},由NiN_{i}个word组成,可重复;
     语料库*有K个主题T1,T2Tk\mathrm{T}_{1}, \mathrm{T}_{2} \dots \mathrm{T}_{\mathrm{k}}
     αβ\alpha 和 \beta为先验分布的参数,一般事先给定:如取0.1的对称Dirichlet分布,表示在参数学习结束后,期望每个文档的主题不会十分集中。
     θ\theta是每篇文档的主题分布,对于第i篇文档did_i的主题分布是 θ1=(θ11,θ12,θiK)\theta_{1}=\left(\theta_{11}, \theta_{12} \cdots, \theta_{i K}\right),是长度为K的向量;
     对于第i篇文章did_i,在主题分布θi\theta_i下,可以确定一个具体的主题Z1j=KZ_{1 j}=K,k[1,K]\mathrm{k} \in[1, \mathrm{K}]
     φk\varphi_{k}表示第k个主题分布的词分布,k[1,K]\mathrm{k} \in[1, \mathrm{K}],对于第K个主题TkT_{\mathrm{k}}的词分布φk=(φk1,φk2φkv)\varphi_{\mathrm{k}}=\left(\varphi_{\mathrm{k} 1}, \varphi_{\mathrm{k} 2} \ldots \varphi_{\mathrm{kv}}\right),是长度为v的向量;
     由ZijZ_{i j}选择φzij\varphi_{z i j}
   (3)LDA推导:
     (i)参数的学习
     给定一个文档的集合,Wmn\mathrm{W}_{\mathrm{mn}}是可以观测到的已知变量,α\alphaβ\beta都是根据经验给定的先验参数,其他的变量
Zmnθ,φ\mathrm{Z}_{\mathrm{mn}} \cdot \theta, \quad \varphi都是未知的隐含变量,需要根据观测到的变量来学习估计的,根据LDA的图模型,可以写出所有变量的联合分布:
p(wm,zm,ϑm,Φα,β)=n=1Nmp(wm,nφzmn)p(zm,nϑm)p(ϑmα)p(Φβ)p\left(\vec{w}_{m}, \vec{z}_{m}, \vec{\vartheta}_{m}, \underline{\Phi} | \vec{\alpha}, \vec{\beta}\right)=\prod_{n=1}^{N_{m}} p\left(w_{m, n} | \vec{\varphi}_{z_{m n}}\right) p\left(z_{m, n} | \vec{\vartheta}_{m}\right) \cdot p\left(\vec{\vartheta}_{m} | \vec{\alpha}\right) \cdot p(\underline{\Phi} | \vec{\beta})
     (ii)似然概率
     一个词Wmn\mathrm{W}_{\mathrm{mn}}初始化为一个词t的概率是
p(wm,n=tϑm,Φ)=k=1Kp(wm,n=tφk)p(zm,n=kϑm)p\left(w_{m, n}=t | \vec{\vartheta}_{m}, \underline{\Phi}\right)=\sum_{k=1}^{K} p\left(w_{m, n}=t | \vec{\varphi}_{k}\right) p\left(z_{m, n}=k | \vec{\vartheta}_{m}\right)
     每个文档中出现主题k的概率乘以主题k下出现词t的概率,然后枚举所有主题求和得到整个文档集合的似然函数为:
p(WΘ,Φ)=m=1Mp(wmϑm,Φ)=m=1Mn=1Nmp(wm,nϑm,Φ)p(\mathcal{W} | \underline{\Theta}, \underline{\Phi})=\prod_{m=1}^{M} p\left(\vec{w}_{m} | \vec{\vartheta}_{m}, \underline{\Phi}\right)=\prod_{m=1}^{M} \prod_{n=1}^{N_{m}} p\left(w_{m, n} | \vec{\vartheta}_{m}, \underline{\Phi}\right)