1、有监督主题模型(Supervised LDA, SLDA)

1、SLDA

SLDA主题模型,主要思想是利用softmax分类器将文档类别标签信息,考虑到主题模型中,作为一个完整的模型进行训练,从而利用类别标签能很好的约束模型训练,能提高模型对于文本分类的分类性能。

Softmax分类器简介

**Logistic回归:**Logistic
Regression虽然名字里带“回归”,但是它实际上是一种分类方法,用于两分类问题(即输出只有两种)。根据第二章中的步骤,需要先找到一个预测函数(h),显然,该函数的输出必须是两个值(分别代表两个类别),所以利用了Logistic函数(或称为Sigmoid函数),函数形式为:

g(z)=11+ezg\left( z \right) = {1 \over {1 + {e^{ - z}}}}

对应的函数图像是一个取值在0和1之间的S型曲线。

图片

Softmax回归

softmax回归是逻辑斯蒂回归的推广,即,逻辑斯蒂回归只能区分两个类,softmax回归将它推广到了k个,经常放在各种神经网络的最顶层当作分类器。

回想一下在 logistic回归中,我们的训练集由mm个已标记的样本构成{(x(1),y(1)),...,(x(m),y(m))}\left\{ {\left( {{x^{\left( 1 \right)}},{y^{\left( 1 \right)}}} \right),...,\left( {{x^{\left( m \right)}},{y^{\left( m \right)}}} \right)} \right\}:,其中输入特征x(i)n+1{x^{\left( i \right)}} \in {\Re ^{n + 1}}。(我们对符号的约定如下:特征向量xx的维度为n+1n + 1,其中x0=1{x_0} = 1对应截距项) 由于 logistic 回归是针对二分类问题的,因此类标记y(i){0,1}{y^{\left( i \right)}} \in \left\{ {0,1} \right\}。假设函数(hypothesis function) 如下:

hθ(x)=11+exp(θTx){h_\theta }\left( x \right) = {1 \over {1 + \exp \left( { - {\theta ^T}x} \right)}}

我们训练模型参数$\theta $,使其能够最小化代价函数 :

J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]J\left( \theta \right) = - {1 \over m}\left[ {\sum\limits_{i = 1}^m {{y^{\left( i \right)}}\log {h_\theta }\left( {{x^{\left( i \right)}}} \right) + \left( {1 - {y^{\left( i \right)}}} \right)\log \left( {1 - {h_\theta }\left( {{x^{\left( i \right)}}} \right)} \right)} } \right]

在 softmax回归中,我们解决的是多分类问题(相对于 logistic回归解决的二分类问题),类标yy可以取kk个不同的值(而不是2个)。因此,对于训练集{(x(1),y(1)),...,(x(m),y(m))}\left\{ {\left( {{x^{\left( 1 \right)}},{y^{\left( 1 \right)}}} \right),...,\left( {{x^{\left( m \right)}},{y^{\left( m \right)}}} \right)} \right\},我们有y(i){1,2,...,k}{y^{\left( i \right)}} \in \left\{ {1,2,...,k} \right\}。(注意此处的类别下标从1 开始,而不是 0)。例如,在 MNIST 数字识别任务中,我们有k=10k = 10个不同的类别。

对于给定的测试输入xx,我们想用假设函数针对每一个类别j估算出概率值p(y=jx)p\left( {y = j|x} \right)。也就是说,我们想估计xx的每一种分类结果出现的概率。因此,我们的假设函数将要输出一个kk维的向量(向量元素的和为1)来表示这kk个估计的概率值。
具体地说,我们的假设函数hθ(x){h_\theta }\left( x \right)形式如下:

图片

其中θ1,θ2,...,θkn+1{\theta _1},{\theta _2},...,{\theta _k} \in {\Re ^{n + 1}}是模型的参数。请注意1j=1keθjTx(i){1 \over {\sum\nolimits_{j = 1}^k {{e^{\theta _j^T{x^{\left( i \right)}}}}} }}这一项对概率分布进行归一化,使得所有概率之和为 1 。

详细内容请参考ufldl:

http://ufldl.stanford.edu/wiki/index.php/Softmax回归

SLDA(Supervised topic models)

SLDA(有监督主题模型)有很多扩展,包括Blei等人的“Supervised topic
models”,以及Labeled LDA,Disc LDA等。这里介绍一下Supervised topic
models,只介绍监督信息是离散的类标信息,开门见山,其图模型如下:

图片

SLDA图模型生成过程

  • 对于每一个主题k:

  • 从Dirichlet分布中获取文档-主题分布θd:θdαDir(α){\theta _d}:{\theta _d}|\alpha \sim Dir\left( \alpha \right)

  • 对于每个单词wn{w_n}

  • 首先从文档-主题分布中获取一个主题:znθMult(θ){z_n}|\theta \sim Mult\left( \theta \right)

  • 然后从对应的主题以及主题的主题-词分布中获取一个词:wnzn,β1:KMult(βzn){w_n}|{z_n},{\beta _{1:K}} \sim Mult\left( {{\beta _{{z_n}}}} \right)

  • 获取单词类别标签:yz1:N,ηN(ηTz¯)y|{z_{1:N}},\eta \sim N\left( {{\eta ^T}\bar z} \right)

对于如何考虑单词的类别标签,作者在使用Softmax分类器,即:

图片

该模型的参数估计方法有多种,这里参考论文中“Multi-Modal Supervised Latent Dirichlet Allocation for Event Classification in Social Media”的方法,给出求解过程:

首先写出联合后验分布

图片

其中B(α)=kΓ(αk)Γ(kαk)B\left( \alpha \right) = {{\prod\nolimits_k {\Gamma \left( {{\alpha _k}} \right)} } \over {\Gamma \left( {\sum\nolimits_k {{\alpha _k}} } \right)}}是归一化常数;图片是文档m中属于主题k的单词的数目;图片表示所有文档中,属于主题k的单词的数目;

利用EM算法求解未知变量,在E-step利用Gibbs Sampling采样变量z,根据给定的参数η1:C{\eta _{1:C}},在M-step通过最大化联合似然更新参数η1:C{\eta _{1:C}}(分类器)。

E-step:

利用collapsed Gibbs sampling采样当前词的topic,隐变量zw{z^w},当前词分配主题k的概率公式为:

图片

其中,z¬(m,i),w{z_{\neg \left( {m,i} \right),w}}表示文档-主题分布向量(除去当前位置i的词,只考虑文档m中其他维度的单词)。(nm,k¬(i)+αΩ)k=1K(nm,k+αΩ)1(nt,k¬(m,i),w+αΦ)p=1D(np,kw+αΦ)1{{\left( {n_{m,k}^{\neg \left( i \right)} + {\alpha _\Omega }} \right)} \over {\sum\nolimits_{k = 1}^K {\left( {{n_{m,k}} + {\alpha _\Omega }} \right)} - 1}}{{\left( {n_{t,k}^{\neg \left( {m,i} \right),w} + {\alpha _\Phi }} \right)} \over {\sum\nolimits_{p = 1}^D {\left( {n_{p,k}^w + {\alpha _\Phi }} \right)} - 1}}传统的LDA类似,表示单词计数l=1C{exp(ηlTz¯m)/j=1Cexp(ηlTz¯m)}1{y(m)=l}\prod\limits_{l = 1}^C {{{\left\{ {\exp \left( {\eta _l^T{{\bar z}_m}} \right)/\sum\nolimits_{j = 1}^C {\exp \left( {\eta _l^T{{\bar z}_m}} \right)} } \right\}}^{1\left\{ {{y^{\left( m \right)}} = l} \right\}}}}考虑文档的类别信息,表示在当前分类器η\eta的条件下,当前词取主题k的概率。最终估计参数取值:

Φk,tw=nt,kw+αΦwp=1Dw(np,kw+αΦw)\Phi _{k,t}^w = {{n_{t,k}^w + {\alpha _{{\Phi ^w}}}} \over {\sum\nolimits_{p = 1}^{{D_w}} {\left( {n_{p,k}^w + {\alpha _{{\Phi ^w}}}} \right)} }}

Ωm,k=nm,k+αΩk=1K(nm,k+αΩ){\Omega _{m,k}} = {{{n_{m,k}} + {\alpha _\Omega }} \over {\sum\nolimits_{k = 1}^K {\left( {{n_{m,k}} + {\alpha _\Omega }} \right)} }}

M-step:

通过最大化联合概率分布,更新分类参数η\eta,固定E-step获取的参数,相当于最大化p(yz¯,η)p\left( {y|\bar z,\eta } \right),其中z¯\bar z是文档的表示。问题转化为下面的优化问题:

图片

参考文章

  1. sLDA—David M. Blei and Jon McAuliffe. Supervised topic models. In NIPS, 2007
展开全文
相关主题
Top