论文阅读 | Supervised Topic Models(包含推导证明、理解、注释等)

本文深入探讨了Supervised Latent Dirichlet Allocation (sLDA)模型,一种结合主题模型与广义线性模型的监督学习方法。sLDA不仅用于文档主题建模,还能预测响应变量,如电影评论的评分。文章详细介绍了模型的推导过程,包括后验推断、参数估计和预测,特别讨论了高斯和泊松响应变量的特殊情况。实验部分展示了sLDA在电影评论情感分析和参议院修正案预测上的应用,证明了其在预测性能上的优势,尤其是在与LDA和LASSO的对比中表现突出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


摘要: sLDA(supervised latent Dirichlet allocation)是针对标记文档的主题模型,该模型采用变分EM算法,适用于多种响应变量(response variable),优于lasso和先使用无监督主题模型再进行回归。

1 背景

现在有很多大型语料库,需要建立合适的统计模型对其进行分析,如基于主题的分层统计模型LDA等,但现在的主题模型大都是无监督的,只对文档中的单词进行建模,最大化其后验概率。

本文关注有响应变量的文档,如电影评论有数字作为评级、论文有下载次数,对其建立监督主题模型,和无监督主题模型主要用于分类(降维)不同,sLDA主要用于预测。

2 模型

主题模型中每个文档被表示为单词 w 1 : n w_{1:n} w1:n的集合,我们将文档看成是一组潜在主题产生的单词,即词汇上的一组未知分布。语料库中的文档共享相同的K个主题,但是不同的文档有不同的主题比例。在LDA中,我们从狄利克雷分布中抽取主题比例,然后从这些比例中抽取一个主题,再从相应的主题中抽取一个单词,重复 n n n次构成一个文档。

在sLDA中,我们在LDA的基础上,对每个文档添加一个响应变量,对文档和响应变量共同建模,以便找到潜在的主题,从而最好地预测未标记文档的响应变量。

sLDA使用与广义线性模型相同的概率机制来适应各种类型的响应变量:无约束实值、被约束为正的实值(例如故障时间)、有序或无序的类标签、非负整数(例如计数数据)等。

模型参数:

  • K K K个主题 β 1 : K \beta_{1:K} β1:K β k \beta_k βk是第k个主题中每个词出现概率的向量
  • 狄利克雷参数 α \alpha α
  • 响应参数 η , δ \eta,\delta η,δ

在sLDA中,每个文档和响应变量都来自以下生成过程:

  1. 抽取主题比例 θ ∣ α ∼ Dir ⁡ ( α ) \theta | \alpha \sim \operatorname{Dir}(\alpha) θαDir(α)
  2. 对于每一个词:
    (a)抽取主题 z n ∣ θ ∼ Mult ⁡ ( θ ) z_{n} | \theta \sim \operatorname{Mult}(\theta) znθMult(θ)
    (b)抽取单词 w n ∣ z n , β 1 : K ∼ Mult ⁡ ( β z n ) w_{n} | z_{n}, \beta_{1: K} \sim \operatorname{Mult}\left(\beta_{z_{n}}\right) wnzn,β1:KMult(βzn)
  3. 抽取响应变量 y ∣ z 1 : N , η , δ ∼ GLM ⁡ ( z ˉ , η , δ ) y | z_{1: N}, \eta, \delta \sim \operatorname{GLM}(\bar{z}, \eta, \delta) yz1:N,η,δGLM(zˉ,η,δ),其中 z ˉ = 1 N ∑ n = 1 N z n \bar{z}=\frac1N\sum_{n=1}^{N} z_{n} zˉ=N1n=1Nzn

图示如下:
Alt

图1 sLDA的图形表示

响应变量的分布为广义线性模型 p ( y ∣ z 1 : N , η , δ ) = h ( y , δ ) exp ⁡ { ( η ⊤ z ˉ ) y − A ( η ⊤ z ˉ ) δ } (1) p\left(y | z_{1: N}, \eta, \delta\right)=h(y, \delta) \exp \left\{\frac{\left(\eta^{\top} \bar{z}\right) y-A\left(\eta^{\top} \bar{z}\right)}{\delta}\right\} \tag 1 p(yz1:N,η,δ)=h(y,δ)exp{ δ(ηzˉ)yA(ηzˉ)}(1)

h ( y , δ ) h(y,\delta) h(y,δ)为潜在测度, η ⊤ z ˉ \eta^{\top}\bar z ηzˉ为自然参数, δ \delta δ为分散参数(为对 y y y的方差建模提供了灵活性), A ( η ⊤ z ˉ ) A(\eta^{\top}\bar z) A(ηzˉ)对数规范化因子

GLM框架为我们提供了对不同类型的响应变量建模的灵活性,只要响应变量的分布可以被写成上式指数分散族(exponential dispersion family)的形式。包括很多常用分布,如正态分布(适用于实值响应变量)、二项分布(适用于二项响应变量)、多项分布(适用于分类响应变量)、泊松分布和负二项分布(适用于计数响应变量)、伽马分布和威布尔分布和逆高斯分布(适用于故障时间数据)等。每个分布都对应于特定的 h ( y , δ ) h(y, \delta) h(y,δ) A ( η ⊤ z ˉ ) A\left(\eta^{\top} \bar{z}\right) A(ηzˉ)

sLDA与通常的GLM的区别在于协变量是文档中主题的经验频率,这些经验频率是不能直接观测到的。在生成过程中,这些潜在的变量负责生成文档的单词,因此响应变量和单词得以联系在一起。回归系数记为 η \eta η。注意到GLM中通常包含截距项,相当于添加一个恒等于1的协变量,而在sLDA中,这一项是多余的,因为 z ˉ \bar z zˉ的各分量和恒为1。

对主题的经验频率而不是主题比例 θ \theta θ进行回归,前者将响应变量和单词视为是不可交换的(exchangeable),首先在全部单词可交换的条件下生成文档(单词及其主题分配),然后基于该文档生成响应变量,后者将响应变量和单词视为是可交换的。前者更加合理,因为响应变量取决于文档中实际出现的主题频率,而不是产生主题的分布,如果主题数足够多,在后者中允许一些主题被完全用来解释响应变量,另一些主题被完全用来解释单词的出现,这降低了预测的性能,而在前者中,决定响应变量的潜在变量和决定单词出现的潜在变量是相同的。这个模型不能推断用于解释响应变量的主题集合,也不能用它来解释一些观测到的单词。

3 推导

推导包括三个部分:

  1. 后验推断:给定单词 w 1 : N w_{1:N} w1:N和语料库范围内的模型参数,计算文档级别的潜变量的条件分布,即主题比例 θ \theta θ和主题分配 z 1 : N z_{1:N} z1:N的条件分布。这个分布不能直接计算,我们采用变分推断对其进行近似。
  2. 参数估计:给定文档和响应变量对 { w d , 1 : N , y d } d = 1 D \left\{w_{d, 1: N}, y_{d}\right\}_{d=1}^{D} { wd,1:N,yd}d=1D,估计狄利克雷参数 α \alpha α,GLM参数 η \eta η δ \delta δ,主题多项式 β 1 : K \beta_{1:K} β1:K。我们采用变分EM算法。
  3. 预测:给定新文档 w 1 : N w_{1:N} w1:N和模型参数,预测响应变量 y y y。这相当于近似得到后验期望 E [ y ∣ w 1 : N , α , β 1 : K , η , δ ] \mathrm{E}\left[y | w_{1: N}, \alpha, \beta_{1: K}, \eta, \delta\right] E[yw1:N,α,β1:K,η,δ]

我们针对sLDA的一般GLM设置依次处理这些问题,并指出需要计算或近似GLM特定量的位置,然后针对高斯响应变量和泊松响应变量的特殊情况计算精确的式子,最后对其它响应变量分布采用通用的近似方法。

3.1 后验推断

参数估计和预测都依赖于后验推断,给定文档和响应变量,潜变量的后验分布是 p ( θ , z 1 : N ∣ w 1 : N , y , α , β 1 : K , η , δ ) = p ( θ ∣ α ) ( ∏ n = 1 N p ( z n ∣ θ ) p ( w n ∣ z n , β 1 : K ) ) p ( y ∣ z 1 : N , η , δ ) ∫ d θ p ( θ ∣ α ) ∑ z 1 : N ( ∏ n = 1 N p ( z n ∣ θ ) p ( w n ∣ z n , β 1 : K ) ) p ( y ∣ z 1 : N , η , δ ) (2) \begin{aligned}p(\theta, z_{1: N} &| w_{1: N}, y, \alpha, \beta_{1: K}, \eta, \delta )\\ &= \frac{p(\theta | \alpha)\left(\prod_{n=1}^{N} p\left(z_{n} | \theta\right) p\left(w_{n} | z_{n}, \beta_{1: K}\right)\right) p\left(y | z_{1: N}, \eta, \delta\right)}{\int d \theta p(\theta | \alpha) \sum_{z_{1: N}}\left(\prod_{n=1}^{N} p\left(z_{n} | \theta\right) p\left(w_{n} | z_{n}, \beta_{1: K}\right)\right) p\left(y | z_{1: N}, \eta, \delta\right)} \tag 2\end{aligned} p(θ,z1:Nw1:N,y,α,β1:K,η,δ)=dθp(θα)z1:N(n=1Np(znθ)p(wnzn,β1:K))p(yz1:N,η,δ)p(θα)(n=1Np(znθ)p(wnzn,β1:K))p(yz1:N,η,δ)(2)

归一化值为观察到的值,即文档 w 1 : N w_{1:N} w1:N和响应变量 y y y的边际概率,我们采用变分方法来近似后验概率。

变分方法包括许多类型的后验归一化值的近似,这里我们使用平均场变分推断( q ( z ) q(\boldsymbol z) q(z) z \boldsymbol z z的所有分量是独立的, q ( z ) = q ( z 1 ) q ( z 2 ) … q ( z n ) q(\boldsymbol z)=q(z_1)q(z_2)\dots q(z_n) q(z)=q(z1)q(z2)q(zn)),其中詹森不等式用于归一化值的下限,令 π \pi π表示模型参数值, π = { α , β 1 : K , η , δ } \pi=\left\{\alpha, \beta_{1: K}, \eta, \delta\right\} π={ α,β1:K,η,δ},令 q ( θ , z 1 : N ) q\left(\theta, z_{1: N}\right) q(θ,z1:N)表示潜在变量的变分分布。变分分布与真实后验分布的的KL散度 D ( q ( θ , z 1 : N ) ∥ p ( θ , z 1 : N ∣ w 1 : N , π ) ) = E q [ log ⁡ q ( θ , z 1 : N ) ] − E q [ log ⁡ p ( θ , z 1 : N ∣ w 1 : N , π ) ] = E q [ log ⁡ q ( θ , z 1 : N ) ] − E q [ log ⁡ p ( θ , z 1 : N , w 1 : N ∣ π ) ] + log ⁡ p ( w 1 : N ∣ π ) ≥ 0 (3) \begin{aligned}D(q(\theta,z_{1:N})&\Vert p(\theta,z_{1:N}|w_{1:N},\pi))\\&=\mathrm{E}_q[\log q(\theta,z_{1:N})]-\mathrm{E}_q[\log p(\theta,z_{1:N}|w_{1:N},\pi)]\\&=\mathrm{E}_q[\log q(\theta,z_{1:N})]-\mathrm{E}_q[\log p(\theta,z_{1:N},w_{1:N}|\pi)]+\log p(w_{1:N}|\pi)\\&\geq 0\tag 3\end{aligned} D(q(θ,z1:N)p(θ,z1:Nw1:N,π))=Eq[logq(θ,z1:N)]Eq[logp(θ,z1:Nw1:N,π)]=Eq[logq(θ,z1:N)]Eq[logp(θ,z1:N,w1:Nπ)]+logp(w1:Nπ)0(3)

因此证据下界(ELBO)为 log ⁡ p ( w 1 : N ∣ π ) ≥ E q [ log ⁡ p ( θ , z 1 : N , w 1 : N ∣ π ) ] − E q [ log ⁡ q ( θ , z 1 : N ) ] (4) \log p(w_{1:N}|\pi)\geq \mathrm{E}_q[\log p(\theta,z_{1:N},w_{1:N}|\pi)]-\mathrm{E}_q[\log q(\theta,z_{1:N})] \tag 4 logp(w1:Nπ)Eq[logp(θ,z1:N,w1:Nπ)]Eq[logq(θ,z1:N)](4)

我们将其记为 L ( ⋅ ) \mathcal{L}(\cdot) L(),第一项为对隐藏变量和观察变量联合概率的对数的期望,第二项为变分分布的熵,记 H ( q ) = − E [ log ⁡ q ( θ , z 1 : N ) ] \mathrm{H}(q)=-\mathrm{E}\left[\log q\left(\theta, z_{1: N}\right)\right] H(q)=E[logq(θ,z1:N)],在其拓展形式中,sLDA ELBO为 L ( w 1 : N , y ∣ π ) = E q [ log ⁡ p ( θ ∣ α ) ] + ∑ n = 1 N E q [ log ⁡ p ( z n ∣ θ ) ] + ∑ n = 1 N E q [ log ⁡ p ( w n ∣ z n , β 1 : K ) ] + E q [ log ⁡ p ( y ∣ z 1 : N , η , δ ) ] + H ( q ) (5) \begin{aligned}\mathcal{L}\left(w_{1: N}, y | \pi\right)&=\mathrm{E}_q[\log p(\theta | \alpha)]+\sum_{n=1}^{N} \mathrm{E}_q\left[\log p\left(z_{n} | \theta\right)\right] \\&+\sum_{n=1}^{N} \mathrm{E}_q\left[\log p\left(w_{n} | z_{n}, \beta_{1: K}\right)\right]+\mathrm{E}_q\left[\log p\left(y | z_{1: N}, \eta, \delta\right)\right]+\mathrm{H}(q)\tag 5\end{aligned} L(w1:N,yπ)=Eq[logp(θα)]+n=1NEq[logp(znθ)]+n=1NEq[logp(wnzn,β1:K)]+Eq[logp(yz1:N,η,δ)]+H(q)(5)

在变分推断中,我们首先为变分分布构造一个参数化族,然后对给定的观测值拟合它的参数以最大化(5)式。变分分布的参数化决定了优化的速度。当 q ( θ , z 1 : N ) q\left(\theta, z_{1: N}\right) q(θ,z1:N)就是后验分布时,(5)式恰好等于 log ⁡ p ( w 1 : N ∣ π ) \log p(w_{1:N}|\pi) logp(w1:Nπ),但是包含后验分布的分布族会导致难以解决的优化问题,因此我们选择了一个更简单的可以完全分解的族 q ( θ , z 1 : N ∣ γ , ϕ 1 : N ) = q ( θ ∣ γ ) ∏ n = 1 N q ( z n ∣ ϕ n ) (6) q\left(\theta, z_{1: N} | \gamma, \phi_{1: N}\right)=q(\theta | \gamma) \prod_{n=1}^{N} q\left(z_{n} | \phi_{n}\right)\tag6 q(θ,z1:Nγ,ϕ1:N)=q(θγ)n=1Nq(znϕn)(6)

这里 γ \gamma γ K K K维狄利克雷参数, ϕ n \phi_n ϕn K K K维多项分布, z n z_n zn K K K维指示向量,有 E [ z n ] = q ( z n ) = ϕ n \mathrm{E}\left[z_{n}\right]=q\left(z_{n}\right)=\phi_{n} E[zn]=q(zn)=ϕn。最大化(5)式相当于找到在KL散度意义下最接近后验分布的变分分布。因此,给定文档和响应变量对,我们寻找使(5)式最大化的 ϕ 1 : N \phi_{1:N} ϕ1:N γ \gamma γ,从而估计后验分布。

在解决优化问题之间,我们进一步展开(5)式。前三项和变分分布的熵与无监督LDA相同:

  • 第一项: E [ log ⁡ p ( θ ∣ α ) ] = log ⁡ Γ ( ∑ i = 1 K α i ) − ∑ i = 1 N log ⁡ Γ ( α i ) + ∑ i = 1 K ( α i − 1 ) E [ log ⁡ θ i ] (7) \mathrm{E}[\log p(\theta | \alpha)]=\log \Gamma\left(\sum_{i=1}^{K} \alpha_{i}\right)-\sum_{i=1}^{N} \log \Gamma\left(\alpha_{i}\right)+\sum_{i=1}^{K}\left(\alpha_{i}-1\right) \mathrm{E}\left[\log \theta_{i}\right]\tag 7 E[logp(θα)]=logΓ(i=1Kαi)i=1NlogΓ(αi)+i=1K(αi1)E[logθi](7)

推导:根据狄利克雷分布 p ( θ ∣ α ) = Γ ( ∑ i = 1 K α i ) ∏ i = 1 K Γ ( α i ) ∏ i = 1 K θ i α i − 1 p(\theta | \alpha)=\frac{\Gamma\left(\sum_{i=1}^{K} \alpha_{i}\right)}{\prod_{i=1}^K\Gamma(\alpha_i)}\prod_{i=1}^K\theta_i^{\alpha_i-1} p(θα)=i=1KΓ(αi)Γ(i=1Kαi)i=1Kθiαi1

  • 第二项: E ⁡ [ log ⁡ p ( z n ∣ θ ) ] = ∑ i = 1 K ϕ n , i E [ log ⁡ θ i ] (8) \operatorname{E}\left[\log p\left(z_{n} | \theta\right)\right]=\sum_{i=1}^{K} \phi_{n, i} \mathrm{E}\left[\log \theta_{i}\right]\tag 8 E[logp(znθ)]=i=1Kϕn,iE[logθi](8)

推导: E [ log ⁡ p ( z n ∣ θ ) ] = E q ( θ , z n ∣ γ , ϕ 1 : N ) [ log ⁡ p ( z n ∣ θ ) ] = ∑ i = 1 K q ( z n , i ∣ ϕ n ) E q ( θ ∣ γ ) [ log ⁡ θ i ] = ∑ i = 1 K ϕ n , i E [ log ⁡ θ i ] \begin{aligned} E\left[\log p\left(z_{n} | \theta\right)\right] &=E_{q\left(\theta, z_{n} | \gamma, \phi_{1:N}\right)}\left[\log p\left(z_{n} | \theta\right)\right] \\ &=\sum_{i=1}^{K} q\left(z_{n,i} | \phi_{n}\right) E_{q(\theta | \gamma)}\left[\log \theta_{i}\right] \\&=\sum_{i=1}^{K} \phi_{n, i} \mathrm{E}\left[\log \theta_{i}\right]\end{aligned} E[logp(znθ)]=Eq(θ,znγ,ϕ1:N)[logp(znθ)]=i=1Kq(zn,iϕn)Eq(θγ)[logθi]=i=1Kϕn,iE[logθi]

  • 第三项: E [ log ⁡ p ( w n ∣ z n , β 1 : K ) ] = ∑ i = 1 K ϕ n , i log ⁡ β i , w n (9) \mathrm{E}\left[\log p\left(w_{n} | z_{n}, \beta_{1: K}\right)\right]=\sum_{i=1}^{K} \phi_{n, i} \log \beta_{i, w_{n}}\tag {9} E[logp(wnzn,β1:K)]=i=1Kϕn,ilogβi,wn(9)

推导: E [ log ⁡ p ( w n ∣ z n , β 1 : K ) ] = E q ( z n ∣ ϕ n ) [ log ⁡ p ( w n ∣ z n , β 1 : K ) ] = ∑ i = 1 K q ( z n , i ∣ ϕ n ) log ⁡ p ( w n ∣ z n , i , β 1 : K ) = ∑ i = 1 K ϕ n , i log ⁡ β i , w n \begin{aligned} E\left[\log p\left(w_{n} | z_{n}, \beta_{1:K}\right)\right] &=E_{q\left(z_{n} | \phi_n\right)}\left[\log p\left(w_{n} | z_{n}, \beta_{1:K}\right)\right] \\ &=\sum_{i=1}^{K} q\left(z_{n,i} | \phi_n\right) \log p\left(w_{n} | z_{n,i}, \beta_{1:K}\right) \\ &=\sum_{i=1}^{K} \phi_{n, i} \log \beta_{i, w_{n}} \end{aligned} E[logp(wnzn,β1:K)]=Eq(znϕn)[logp(wnzn,β1:K)]=i=1Kq(zn,i

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值