1、SLDA
SLDA主题模型,主要思想是利用softmax分类器将文档类别标签信息,考虑到主题模型中,作为一个完整的模型进行训练,从而利用类别标签能很好的约束模型训练,能提高模型对于文本分类的分类性能。
Softmax分类器简介
**Logistic回归:**Logistic
Regression虽然名字里带“回归”,但是它实际上是一种分类方法,用于两分类问题(即输出只有两种)。根据第二章中的步骤,需要先找到一个预测函数(h),显然,该函数的输出必须是两个值(分别代表两个类别),所以利用了Logistic函数(或称为Sigmoid函数),函数形式为:
g(z)=1+e−z1
对应的函数图像是一个取值在0和1之间的S型曲线。
Softmax回归
softmax回归是逻辑斯蒂回归的推广,即,逻辑斯蒂回归只能区分两个类,softmax回归将它推广到了k个,经常放在各种神经网络的最顶层当作分类器。
回想一下在 logistic回归中,我们的训练集由
m个已标记的样本构成
{(x(1),y(1)),...,(x(m),y(m))}:,其中输入特征
x(i)∈ℜn+1。(我们对符号的约定如下:特征向量
x的维度为
n+1,其中
x0=1对应截距项) 由于 logistic 回归是针对二分类问题的,因此类标记
y(i)∈{0,1}。假设函数(hypothesis function) 如下:
hθ(x)=1+exp(−θTx)1
我们训练模型参数$\theta $,使其能够最小化代价函数 :
J(θ)=−m1[i=1∑my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]
在 softmax回归中,我们解决的是多分类问题(相对于 logistic回归解决的二分类问题),类标
y可以取
k个不同的值(而不是2个)。因此,对于训练集
{(x(1),y(1)),...,(x(m),y(m))},我们有
y(i)∈{1,2,...,k}。(注意此处的类别下标从1 开始,而不是 0)。例如,在 MNIST 数字识别任务中,我们有
k=10个不同的类别。
对于给定的测试输入
x,我们想用假设函数针对每一个类别j估算出概率值
p(y=j∣x)。也就是说,我们想估计
x的每一种分类结果出现的概率。因此,我们的假设函数将要输出一个
k维的向量(向量元素的和为1)来表示这
k个估计的概率值。
具体地说,我们的假设函数
hθ(x)形式如下:
其中
θ1,θ2,...,θk∈ℜn+1是模型的参数。请注意
∑j=1keθjTx(i)1这一项对概率分布进行归一化,使得所有概率之和为 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(α);
-
对于每个单词
wn:
-
首先从文档-主题分布中获取一个主题:
zn∣θ∼Mult(θ);
-
然后从对应的主题以及主题的主题-词分布中获取一个词:
wn∣zn,β1:K∼Mult(βzn)
-
获取单词类别标签:
y∣z1:N,η∼N(ηTz¯)
对于如何考虑单词的类别标签,作者在使用Softmax分类器,即:
该模型的参数估计方法有多种,这里参考论文中“Multi-Modal Supervised Latent Dirichlet Allocation for Event Classification in Social Media”的方法,给出求解过程:
首先写出联合后验分布
其中
B(α)=Γ(∑kαk)∏kΓ(αk)是归一化常数;是文档m中属于主题k的单词的数目;表示所有文档中,属于主题k的单词的数目;
利用EM算法求解未知变量,在E-step利用Gibbs Sampling采样变量z,根据给定的参数
η1:C,在M-step通过最大化联合似然更新参数
η1:C(分类器)。
E-step:
利用collapsed Gibbs sampling采样当前词的topic,隐变量
zw,当前词分配主题k的概率公式为:
其中,
z¬(m,i),w表示文档-主题分布向量(除去当前位置i的词,只考虑文档m中其他维度的单词)。
∑k=1K(nm,k+αΩ)−1(nm,k¬(i)+αΩ)∑p=1D(np,kw+αΦ)−1(nt,k¬(m,i),w+αΦ)和传统的LDA类似,表示单词计数。
l=1∏C{exp(ηlTz¯m)/∑j=1Cexp(ηlTz¯m)}1{y(m)=l}考虑文档的类别信息,表示在当前分类器
η的条件下,当前词取主题k的概率。最终估计参数取值:
Φk,tw=∑p=1Dw(np,kw+αΦw)nt,kw+αΦw
Ωm,k=∑k=1K(nm,k+αΩ)nm,k+αΩ
M-step:
通过最大化联合概率分布,更新分类参数
η,固定E-step获取的参数,相当于最大化
p(y∣z¯,η),其中
z¯是文档的表示。问题转化为下面的优化问题:
参考文章
- sLDA—David M. Blei and Jon McAuliffe. Supervised topic models. In NIPS, 2007