技术报告SVD与LDA.docx

上传人:b****6 文档编号:8559435 上传时间:2023-01-31 格式:DOCX 页数:22 大小:572.48KB
下载 相关 举报
技术报告SVD与LDA.docx_第1页
第1页 / 共22页
技术报告SVD与LDA.docx_第2页
第2页 / 共22页
技术报告SVD与LDA.docx_第3页
第3页 / 共22页
技术报告SVD与LDA.docx_第4页
第4页 / 共22页
技术报告SVD与LDA.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

技术报告SVD与LDA.docx

《技术报告SVD与LDA.docx》由会员分享,可在线阅读,更多相关《技术报告SVD与LDA.docx(22页珍藏版)》请在冰豆网上搜索。

技术报告SVD与LDA.docx

技术报告SVD与LDA

SVD与LDA

一、矩阵的奇异值分解(SingularValueDecomposition,SVD)

1.矩阵的奇异值定义

设C是MxN实矩阵,称n阶方阵CTC的非0特征值的算术平方根为矩阵C的奇异值。

2.矩阵的奇异值分解定理

SVD(SingleValueDecomposition),即奇异值分解,是潜在语义索引的理论基础。

它是线性代数中有关矩阵分解的一个理论。

设A是秩为r的mn阶实矩阵,则存在m阶正交阵U和n阶正交阵V,使得

(1)

其中,矩阵U、S和V分别为mm、mn和nn维的矩阵。

矩阵U的各列为AAT的特征向量,矩阵V的各列为ATA的特征向量。

且矩阵AAT和矩阵ATA的特征值均为1,…,r(i>0,i=1,2,…,r),设

,则

即矩阵S为对角阵,S中的对角元素称为奇异值。

图1给出了一个奇异值分解的示例。

图1SVD分解图示

Fig.1AnexampleofSVD

SVD分解能被用来计算最优的low-rankapproximation,即SVD分解能得到原矩阵的最优低阶近似。

这转化为一个近似问题,即:

找到秩为k的矩阵Ak,使得

(2)

其中,

称为Frobeniuserror,Ak和X均为mn的矩阵。

k<

在SVD中,解决办法是采用TruncatedSVD。

即将SVD分解中的对角矩阵中的后面r-k个对角元素置为0,只保留前k个对角元素。

因为对角元素是按照从大到小降序排列的,这样一来,就能保持在降维的情况下,还能保证最小错误率(minimumFrobeniuserror)。

TruncatedSVD的公式是:

(3)

矩阵Ak也可以表示成:

(4)

图2是TruncatedSVD的一个示例。

图2TruncatedSVD分解图示

Fig.2AnexampleofTruncatedSVD

3.低阶近似

LSA潜在语义分析中,低阶近似是为了使用低维的矩阵来表示一个高维的矩阵,并使两者之差尽可能的小。

给定一个MxN矩阵C(其秩为r)和正整数k,我们希望找到一个MxN矩阵Ck,其秩不大于K。

设X为C与Ck之间的差,X=C–Ck,X的F-范数为

(5)

当k远小于r时,称Ck为C的低阶近似,其中X也就是两矩阵之差的F范数要尽可能的小

SVD可以被用与求低阶近似问题,步骤如下:

(1)给定一个矩阵C,对其奇异值分解:

(6)

(2)构造

,它是将的第k+1行至M行设为零,也就是把的最小的r-k个(ther-ksmallest)奇异值设为零。

(3)计算Ck:

(7)

对文本分类,SVD中的矩阵A即是词项-文本矩阵(term-documentvectormatrix),矩阵U即是词项-概念矩阵(term-conceptvectormatrix),V即是概念-文档矩阵(concept-documentvectormatrix),矩阵S是奇异值矩阵,它是对角阵。

由于在文本中,词项-文本矩阵的维数(m,n)经常是几万维,矩阵的秩也是上千维。

因此,采用TruncatedSVD的方式进行降维处理,在文本分类领域就显得尤为重要。

实际中,通过利用TruncatedSVD进行low-rankapproximations,矩阵的秩可以降到100-300维,同时,能保证分类的效果不出现明显的下降。

潜在语义空间与原来的空间(VSM)相比,空间维数要小的多。

因此,LSI其实是一种降维方法。

通过采用TruncatedSVD,能使得特征空间的维度进一步的下降。

但同时,LSI的特点是它获取的新的维度在直观上无法给出解释,这一点不同于特征选择的降维方法。

4.潜在语义索引示例

为了更好的理解潜在语义索引方法在文本分类领域的应用。

下面举一个简单的例子。

图3是一个词项-文本矩阵A。

每一行表示一个词项特征,每一列表示一篇文档。

行列元素的值表示该词项是否在对应的文档中出现,如果出现,元素值为1,否则,元素值为0。

图3词项-文档矩阵示例

Fig.3Anterm-documentvectormatrix

对该矩阵进行SVD分解,得到如下三个矩阵,即词项矩阵U、文本矩阵VT和奇异值矩阵S。

图4,图5和图6分别表示这三个矩阵。

图4词项-概念矩阵示例

Fig.4Anterm-conceptvectormatrix

图5概念-文档矩阵示例

Fig.5Anconcept-documentvectormatrix

图6奇异值矩阵示例

Fig.6Ansinglevaluevectormatrix

其中,矩阵U和矩阵VT中的数字(1,2,…,5)是空间维度标号。

采用TruncatedSVD的方法,只保留前2个最大的奇异值,得到新的奇异值矩阵S2,如图7所示。

图7新的奇异值矩阵

Fig.7Anewsinglevaluevectormatrix

再次计算,得到新的矩阵A2,如图8所示。

图8新的词项-文档矩阵

Fig.8Thenewterm-documentvectormatrix

二.LDA(LatentDirichletAllocation)模型

LDA模型是目前应用最广泛的一种概率主题模型,它具有比其他模型更全面的文本生成假设。

LDA模型对pLSI模型存在的两个问题提出了修正,克服了pLSI模型的缺点:

①区别于pLSI模型当中的特征矩阵,LDA在主题-类别层的表示上,采用了一个Dirichlet概率分布。

这是一个连续分布,可以给未知文本分配属于某个主题集的概率;

②去掉了文本标签这个表示,因此取消了原来对于文本标签的先验概率表示,取而代之的是直接从一个主题分布当中选择合适的主题集合。

此外,LDA模型还在模型上更符合现实语义条件。

比如在主题的选取上,pLSI模型需要先确定一个文本类别标签,然后根据这个标签产生主题分布,不同主题之间在概率上是相互独立的,而LDA通过Dirichlet分布产生的是一个主题的集合,这个集合不是pLSI当中的一系列独立参数,而是以隐含的随机变量来表示,因此对于现实世界的语义,具有更强的描述能力。

有学者指出,pLSI模型是LDA模型在Dirichlet分布退化到一元时的一个特例(Girolamietal,2003)。

LDA模型继承了pLSI生成模型的所有优点,不需要加入理想化条件,可以更接近真实的去描述一个语义模型

1.LDA模型的基本思想

LDA是一种对离散数据集(如文档集)建模的概率增长模型,是一个三层贝叶斯模型,是一种对文本数据的主题信息进行建模的方法,对文档进行一个简短的描述,保留本质的统计信息,有助于高效地处理大规模的文档集。

如图9(a)所示,它假设文档集合(顶部大圆)可以分成若干隐含主题(底部小圆),而这些隐含主题拓扑结构是线性的,进一步利用概率推断算法可以将单个文档表示为这些隐含主题特定比例的混合。

如图9(b)所示,LDA模型是典型的有向概率图模型,具有清晰的层次结构,依次为文档集合层、文档层和词层。

LDA模型由文档集合层的参数(

)确定,其中

反映了文档集合中隐含主题间的相对强弱,

刻画所有隐含主题自身的概率分布。

随机变量

e表征文档层,其分量代表目标文档中各隐含主题的比重。

在词层,z表示目标文档分配在每个词上的隐含主题份额,w是目标文档的词向量表示形式。

图9LDA模型

Fig.9LDAmodel

下面是LDA模型应用于文档集主题建模的符号约定:

(1)词是文本数据的基本单元,是用{1……V}索引的词表的分项。

词表中的第v个词用一个V维的向量w表示,其中对于任意

(2)文档是N个词的序列,用d={wl,w2,…,wn}表示,wn是序列中的第n个词。

(3)文档集是M个文档的集合,表示成D={d1,d2,……,dM}

LDA概率主题模型生成文本的过程如下:

(1)对于主题j,根据Dirichlet分布Dir切)得到该主题上面的一个单词多项式分布向量

(2)根据泊松分布Poisson(

)得到文本的单词数目N。

(3)根据Dirichlet分布Dir(a)得到该文本的一个主题分布概率向量

(4)对于该文本N个单词中的每一个单词Wn:

a)从

的多项式分布Multinomial(

)随机选择一个主题k

b)从主题k的多项式条件概率分布Multinomial(

)选择一个单词作为Wn

假设有k个主题,则文档d中的第i个词汇琳的概率可以表示为如下:

(8)

其中,z,是潜在变量,表示第i个词汇wi取自该主题,

是词汇wi属于主题j的概率,

给出文档d属于主题j的概率。

第j个主题表示为词表中V个词的多项式分布

,文本表示成K个隐含主题上的随机混合

于是文本d中“发生”词汇w的概率为:

(9)

通过EM(期望最大化算法)求最大似然函数:

(10)

的最大似然估计量

,估计

的参数值,从而确定LDA模型。

其中文本d“发生”的条件概率分布

(11)

存在

配对,无法计算出解析式,需要求出近似解。

LDA模型的关键变量是主题一单词分布功和主题分布e。

显然,通过可采用Laplace近似、变分推理(variationalInferenCe)、GibbS抽样以及期望一扩散(Expectati。

nPropagati。

n)等近似推理算法获取待估参数值。

ThomaSL.GriffithS[32]等人提出GibbS抽样在困惑度和运行速度方面均优于变分推理和期望一扩散算法。

2.模型描述

文本中的主题z的分布为P(z),对于给定的某个主题z,该主题上面的单词概率分布为P(w|z)。

我们用P(zi=j)表示生成第i个单词时第j个主题被选中的概率,P(wi|zi=j)表示通过主题j选中单词wi的概率。

因此文本中单词的概率分布可以表示为:

(12)

其中T表示主题数目。

为方便起见,令

表示单词在主题j上面的多项式分布,

表示主题在文本d上面的多项式分布

LDA模型采用Dirichlet分布作为多项式分布φ和θ的共轭先验,简化了模型的统计推导,对于T维多项式分布

,对应的Dirichlet分布概率密度为:

(13)

参数

称为多项式

的超参数,αj可以看作文本中主题j出现次数的先验观测,即在采样文本当中任何一个实际的单词之前就假定主题j已经出现了αj次。

为了简化模型,LDA采用了均衡的Dirichlet分布,即令超参数

,显然,Dirichlet先验分布通过超参数α能够平滑多项式

的分布,防止对数据集产生过度拟合问题。

图10LDA模型

Fig.10LDAmodel

图10是LDA模型的一个图形示意图,超参数α、β分布通过Dirichlet分布Dir(α)、Dir(β)控制主题分布θ和主题上的单词分布φ,θ和φ再共同决定文本中的每个单词w。

对于文本d,它的所有已知和潜在变量的联合分布为:

定文本中的每个单词w。

对于文本d,它的所有已知和潜在变量的联合分布为:

(14)

消去变量

,得到文本

的似然值

(15)

对于整个文本集D,其似然值为:

(16)

LDA概率主题模型生成文本的过程如下:

1.对于每个主题j,根据Dirichlet分布Dir(β)得到该主题上的一个单词多项式分布向量φ(j)

2.根据泊松分布Poisson(ξ)得到文本的单词数目N

3.根据Dirichlet分布Dir(α)得到该文本的一个主题分布概率向量θ

4.对于该文本N个单词中的每一个单词wn

a)从θ的多项式分布Multinomial(θ)随机选择一个主题k

b)从主题k的多项式条件概率分布Multinomial(φ(k))选择一个单词作为wn

3.抽取算法

LDA模型的关键变量是主题-单词分布φ和文本上的主题分布θ。

显然,通过公式(16)运用极大化似然值方法直接求出这些变量的精确值是不现实的。

目前抽取LDA模型的方法有变分法(Bleietal,2003)、期望最大化(ExpectationMaximization,EM)(Minkaetal,2002)及Gibbs抽样算法(Griffithsetal,2004)。

其中变分法得到的模型与真实情况有所偏差,而EM算法往往由于似然函数的局部最大化问题导致无法找到最优解。

Gibbs抽样是一种马尔科夫链蒙特卡洛方法(MarkovchainMonteCarlo,MCMC),它容易实现并且能够非常有效地从大规模文集中抽取主题。

因此,Gibbs抽样算法成为当前最流行的LDA模型抽取算法。

与其他算法不同,Gibbs抽样算法并不直接计算每个文档的主题-单词分布φ和主题分布θ。

根据文档中可见的单词序列,通过求出z的后验分布(即把文档中每个单词赋予某个主题),间接地统计出主题-单词分布φ和主题分布θ。

每个单词i对应的主题变量zi被赋予[1,2,…,T]中的某个整数t,代表这个单词对应的是第t个主题。

对于文本集合里面的每一个词符(wordtoken)i,我们用wi和di分别表示它的词汇索引和文档索引。

Gibbs抽样过程逐个处理文本集里的每个词符,在已知其他词符的主题分布的条件下,估算当前词符属于每个主题的可能性。

基于这种条件分布,重新选择某个主题作为当前词符的主题。

我们把该条件分布记为

,其中zi=j表示把主题j赋给词符i作为其主题,z-i表示除当前词符外的其他所有词符的主题赋值,i表示其他所有的已知或可见的信息,如其他所有词符的词汇索引w-i和文档索引d-i,以及超参数α和β。

这个条件分布的计算公式如下(Steyversetal,2007):

(17)

其中,CWT、CDT分别是W×T、D×T维的整数矩阵;

为除当前词符i外单词w被赋予主题j的次数,

表示除当前词符i外文档d中的词符被标注为主题j的次数。

注意上式中的概率是为归一化的,一个词符被标注为主题j的实际概率是上式中的值除以对应所有主题的概率之和。

在上式中可以看出,对于给定的一个词符,影响主题标注的因素包括式子的两部分。

左边的部分对应单词w在主题j上的概率,右边的部分对应在文档d的当前主题分布上主题j出现的可能性。

一旦一个单词的很多词符被标注为主题j,该单词的其他任何一个词符被标注为主题j的概率就会增加。

同时,如果主题j在同一个文档中多次出现,在该文档出现的任何单词被标注为主题j的概率也会增加。

因此,对单词的主题标注取决于单词在主题上的分布以及主题在文档中的分布。

Gibbs抽样算法在刚开始时随机赋予每个词符[1,...,T]中的一个主题。

对于每个词符,计数矩阵CWT和CDT中对应当前单词和赋予的主题的值减1。

然后,根据上式的分布抽样一个新的主题,同时计数矩阵CWT和CDT中对应的值加1。

在每一轮Gibbs抽样中,文本集中所有N个词符都被轮流重新赋予一个新的主题。

在抽样过程的前期阶段,由于对后验概率的模拟不够充分,Gibbs抽样的结果还不是很精确。

过了前期阶段以后,Gibbs抽样的结果开始逼近我们的目标分布并最终处于一个与目标分布相近的稳定状态。

抽样过程直接给出了每个单词的z估计。

通过对z的统计,我们可以得到φ和θ的近似值φ'和θ':

(18)

为了获取词汇的概率分布,本文没有将Á和Ã作为参数直接计算,而是考虑词汇对于主题的后验概率P(wjz),利用Gibbs抽样间接求得Á和Ã的值.MCMC是一套从复杂的概率分布抽取样本值的近似迭代方法,Gibbs抽样作为MCMC的一种简单实现形式,其目的是构造收敛于某目标概率分布的Markov链,并从链中抽取被认为接近该概率分布值的样本.于是目标概率分布函数的给出便成为使用Gibbs抽样的关键.对于本文的LDA模型,仅仅需要对主题的词汇分配,也就是变量zi进行抽样.记后验概率为P(zi=jjz¡i;wi),计算公式如下:

(19)

其中,zi=j表示将词汇记号wi分配给主题j,这里wi被称为词汇记号是因为其不仅代表词汇w,而且与该词所在的文本位置相关,z¡i表示所有zk(k6=i)的分配.n(wi)¡i;j是分配给主题j与wi相同的词汇个数;n(:

)¡i;j是分配给主题j的所有词汇个数;n(di)¡i;j是文本di中分配给主题j的词汇个数;n(di)¡i;:

是di中所有被分配了主题的词汇个数;所有的词汇个数均不包括这次zi=j的分配.

Gibbs抽样算法详述如下

1)zi被初始化为1到T之间的某个随机整数.i从1循环到N,N是语料库中所有出现于文本中的词汇记号个数.此为Markov链的初始状态.

2)i从1循环到N,根据式(3)将词汇分配给主题,获取Markov链的下一个状态.

3)迭代第2)步足够次数以后,认为Markov链接近目标分布,遂取zi(i从1循环到N)的当前值作为样本记录下来.为了保证自相关较小,每迭代一定次数,记录其他的样本.舍弃词汇记号,以w表示唯一性词,对于每一个单一样本,可以按下式估算Á和Ã的值:

其中,n(w)表示词汇w被分配给主题j的频数;n(:

)j表示分配给主题j的所有词数;n(d)j表示文本d中分配给主题j的词数;n(d):

表示文本d中所有被分配了主题的词数.

Gibbs抽样算法从初始值开始运行,迭代足够次b后认为样本接近目标概率分布,然后每隔一定次数c抽取样本,b称为Burn-in间距,c称为Thinning间距.b和c的取值比较难于确定,一般与特定的语料库相关.如果所构造Markov链的相邻状态间关联较小,b,c以较小的值可满足需要,但如果相邻状态间的关联较大,就必须增大b,c的取值,方可降低自相关。

4.基于LDA模型的文本分类

基于LDA模型的文本文类方法使用LDA为语料库及文本建模。

应用贝叶斯统计理论中的标准方法,确定最优主题数T。

利用MCMC(MarkovChainMonteCarl。

)中的Gibbs抽样进行推理,间接计算模型参数,获取文本在主题集上的概率分布,d一{K,,KZ,…K:

},T为主题数。

在文档集的隐含主题一本矩阵上训练SvM[33],构造文本分类系统。

主要包括预处理,模型选择,语料库建模,分类方法,效果评估5个部分。

分类的具体步骤如下:

(1)预处理在中文文本分类主要指中文分词和去除停用词,语料库经过中科院计算所汉语词法分析系统工CTCLAS进行分词,并去除停用词。

在英文文本分类中,主要是指用Snowball中orterZ)的Ste~ing功能提取词干,形成特征候选值的集合,去除停用词。

(2)应用贝叶斯统计理论中的标准方法,推理出有效信息尸(w}约,确定最优主题数T,使模型对于语料库数据中的有效信息拟合最佳。

(3)采用LDA模型对语料库进行主题建模,参数推理采用Gibbs抽样,迭代足够多的次数,每个文本表示固定隐含主题集上的概率分布。

得到文档集的隐含主题一文本矩阵再xJ,t表示隐含主题集的主题数量,d表示文档数。

(4)在LDA模型建模得到的文档集的隐含主题一文本矩阵上训练支持向量机(SVM),构造文本分类器,得到SVM分类模型。

(5)将预处理后的待分类文本作为式3.16中的文本d,运行GibbS抽样算法,迭代较少的次数,按式3.17、3.18计算对应的功和0值。

获得待分类文本d的隐含主题集的概率分布向量。

(6)引入SVM分类模型,预测待分类文本的类别。

待分类文本是指语料库训练时没有处理过的新文本,如果对于每一个未知文本,都将其加入语料库后重新训练,则非常浪费时间,也没有必要。

本文的做法是,只对预处理后的待分类文本运行GibbS抽样算法,以减少迭代次数。

5.最优主题数选择

采用LDA模型对整个文档集进行主题建模,主题数T对LDA模型拟合文档集的性能影响很大。

本文采用贝叶斯统计中标准方法[32]予以解决。

为此首先确定a和月的值,然后为T选择合适的值。

这实际上是一个模型选择的问题。

在LDA模型中,a和刀分别是e和功上的Dirichlet先验概率假设,其自然共辆的特点说明通过对0和功积分可以求取联合概率p(w,z)的值:

p(w,z)=p(w|z)p(z)

并且

分别单独出现于右式第一项和第二项。

积分得到p(wlz)值如下:

(20)

其中,r(.)是标准的galnlna函数,n1w,表示词汇w分配给主题j的频数,必,表示分配给主题的所有词数。

因为尸(w}劝可以近似为一系列尸(w}习的调和平均值,所以按下式求取其值:

(21)

其中M为GibbS抽样算法的取样次数。

通过(21)以计算出采用不同主题数T对语料库建模的p(w}劝值。

由p(w}T)值与模型对语料库有效信息拟合程度成正比,确定最优主题数T。

6.参数估计

6.1EM算法

EM算法是用来计算极大似然估计。

EM有两个主要应用环境,第一个是观测到的数据不完整或其它原因导致数据丢失,第二个是似然函数无法直接计算但可以用隐含变量表示。

LDA中的参数估计属于后者。

概括的说,EM算法首先随机给每个参数赋值,然后迭代的执行两个步骤,分别叫做E-STEP和M-STEP。

在E-STEP,EM算法计算出期望的似然函数,由于这时已经为所有参数赋值,所以似然函数是可以计算的。

在M-STEP,EM算法重新估计参数值,按照最大化似然函数的标准。

这样多次迭代直到收敛为止。

本报告大致讨论下EM的推理。

假设某次迭代中我们估计的参数是θ(n),而我们的目的是希望找到θ(n+1)使得P(X|θ(n+1))尽可能的大于P(X|θ(n))。

将lnP(X|θ)表示成L(θ|X),则我们的目标是使使下式尽可能的大:

(22)

现在考虑隐含变量Z:

(23)

于是(22)式改写成:

(24)

下面是TheExpectationMaximizationAlgorithmAshorttutorial关于(24)式的推导:

(25)

因此:

(26)

现在令:

(27)

前面已经提高过,我们的目的是找到θ,使得L(θ)最大。

而从(26),(27)中我们可以看到l(θ|θn)就是L(θ)的下界,所以我们的目标就成了找到一个下界逼近L(θ):

(28)

E-STEP:

计算条件数学期望:

(29)

M-STEP:

最大化这个数学期望,得出此时的θ。

6.2Gibbs抽样

MCMC是从一个复杂的概率分布抽取样本值的近似迭代方法,它允许马尔可夫链(Markov)收敛于目标分布,然后从一Markov链中抽样,Markov链的每个状态是对于采样变量值的赋值,状态之间的转换遵循着简单的规则。

Gibbs抽样作为McMc的一种简单实现形式,其目的是构造收敛于某目标概率分布的Markov链,并从链中抽样被认为接近该概率分布值的样本。

于是给出目标概率分布函数成为了采用Gibbs抽样的关键。

采用Gibbs抽样,在所有变量的当前值和文档集的基础上,从它们的分布上来抽样所有的变量值,转换到下一状态。

采用Gibbs抽样的LDA模型完整的概率模型如下:

(30)

LDA模型为易于处理训练语料之外的新文本,便于模型参数的推理,对。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1