ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LDA主题模型

2021-12-17 11:34:59  阅读:223  来源: 互联网

标签:LDA 概率 后验 zk 模型 主题 贝叶斯 分布 文档


LDA主题模型
导入:朴素贝叶斯的文本分类问题:
一个问题,现在由M个数据,一些被标记成垃圾邮件,一些被标记成非垃圾邮件,现在又来了一个新的数据,那么这个新的数据被标记成垃圾邮件或者非垃圾邮件的概率。
朴素贝叶斯的两个基础:

  1. 条件独立
  2. 每个特征的重要性都是一样的
    分析:
    垃圾邮件有两种:C1,C2
    建立词汇表:1.使用现有的一个单词词典 2.将所有的邮件中出现的单词都统计出来,得到词典,计数为N
    这时每个邮件m都可以映射为一个N维的向量X;
    如果说每个单词一个单词wi在m这个文档中出现过,那么记作xi为1,否则记为0,那么这个时候我们是不是又可以将文档m表示成向量了,m—>(x1,x2,x3…xn)
    然后套入到贝叶斯公式当中:P(c|X) = P©*P(X|C) / P(X)
    如果说是朴素贝叶斯公式,仅仅把P(X)这个分母给写成条件独立的情况就可以
    这里X代表的就是文档m,因为使用了x表示了m
    想一件事:1.首先贝叶斯肯定是可以做文本分类问题的,并且效果也不错,2.无法解析一词多意或者多词一意问题,这样会导致我们计算文本之间相似度时候的不准确性。
    怎么办?
    可以为每一篇文档加上一个主题,那么怎么通过文档,单词,主题来确定它们之间是什么样的关系。
    pLSA基于概率统计的隐语义模型。
    增加了主题模型,形成了贝叶斯网络。
    在这里插入图片描述

D表示文档,假如说有m个文档就有m个D,那么这个P(di)就代表某一篇文档被选中的概率
Z代表的是主题,P(zk|di)就表示,某一篇文档被选中了之后,这篇文档选择某个主题的概率
W代表词,P(wj|zk)也就是说,在选中了某一个主题的情况下,选中了某个词的概率
其中D和W肯定是已知的,但是Z是个隐变量的存在。
例子:有观测数据(di,wj)时,主题Zk是隐含变量
那么这个时候的d,w的联合概率分布就是
在这里插入图片描述

那么此时的求得P(wj|zk)和P(zk|di)是不是就变成了我们最重要的一点。
那么怎么求?

  1. 首先我一个词wj在di中出现的次数是肯定可以找的到的记作为n(di,wj),那么可以得到下列式子:
    在这里插入图片描述

这个最终的出来的结果就是我们的一个目标函数,那么我们其实也可以发现,仍然是不好求的,两个位置变量都不知道。那么怎么去求偏导?怎么求解?非常的困难。那么这个时候怎么办?我们可以假定P(zk|di),P(wj|zk)的概率是已知的,那么这个时候我们可以求出z的后验概率,那么有了z的后验概率,这个时候就又可以求解出来这两个参数的似然函数期望的最大值,从而的到这两个函数,那么知道了这两个参数,我们再带进去,然后不断地迭代,这个思想是什么?EM

好,接下来来详细的使用EM构建一下这个目标函数
假定P(zk|di),P(wj|zk)是已知的,那么我们不是可以求出z的后验概率吗,z的后验概率是什么?也就是说给定了第i篇文档di中出现了第j个词wj的情况下,zk这个主题发生的概率:
P(zk|di,wj):
求zk后验概率的公式:
在这里插入图片描述

那么这个时候大家想一想,求出来这个概率有什么用呢?
我们可以给出这两个参数的期望,那么怎么给出似然函数的期望?
在这里插入图片描述

通过一步步的化简,我们可以得出新的似然函数,我们想求这个新的似然函数的期望,就通过使用我们刚求出来的z的后验概率去进行求解,得到这个最终的函数。
这个时候这个最终的式子就是我们要求解的最大似然函数:
在这里插入图片描述

碰到这种带等式约束条件的怎么求?
拉格朗日乘子法
到这个时候我们的目标函数就算是构建起来了,那么其中也有部分的问题比如:

  1. 两个未知参数的初始值如何确定?
    可以使用随机初始,也可以使用两个概率相等,但是EM算法我们知道随机初始的话会出现什么问题?陷入局部的最优。因为EM对初始值很敏感,这个时候就属于优化问题了。

在这里插入图片描述

分析这个等式:

在这里插入图片描述
在这里插入图片描述

pLSA的总结:pLSA应用于信息检索,过滤,自然语言处理等领域,pLSA考虑到词分布和主题分布,使用EM算法来学习参数。
这个时候想个问题,但看pLSA的话,网络结构有点简单,那么能不能再给定词,主题,文档的情况下,构建出来更细致的网络,让他具有一般性的模型呢?
pLSA模型不需要先验知识就可以完成自主学习,这是它的优势,但是如果有些情况下,需要受到先验知识的影响呢?LDA模型
LDA克服了PLSA的缺点,LDA为每一个文档的topics的分布给了一个dirichlet distribution的prior。而PLSA没有。
LDA就不再是见到的一种网络结构,而是三层结构的贝叶斯网络
在这里插入图片描述

例子:给定若干个样本,求它的参数

  1. 可以使用极大似然估计,也可以使用EM算法等等
    它们首先是假定参数是某些固定的值,求这些参数如何取值能够使得某个目标函数取到最大或者最小值。
  2. 贝叶斯模型
    假定参数本身就是变化的,并且服从某个分布,在这个分布的约束下使得目标函数最小化或者最大化。

贝叶斯公式:
在这里插入图片描述

然后假定我们有一份数据x,要求解参数的这种情况,套入到贝叶斯公式里边就变成了:
在这里插入图片描述

P(theta):就是先验概率,表示的就是在没有任何数据支持的情况下,theta发生的概率
P(theta|x):在数据x的支持下theta的发生概率,后验概率

先验概率和后验概率的理解:比如说猜性别,后验概率就是给定了村子猜性别

共轭先验分布:
我们看一下上述的贝叶斯的公式,在其中,如果不考虑后验概率的具体取值,只考虑theta取什么的情况下,后验概率最大,那么这个时候p(x)就无实际的意义,就可以先省略去,那么什么是共轭先验分布呢?这个时候我们已知了先验概率,如果说我们计算出来后验概率和先验概率的分布是相同的,我们就说先验概率和后验概率是共轭分布,先验分布就叫做共轭先验分布。
那么想我们如何获取到先验的P(theta)?
首先在公式里边,先验和后验我们是不知道了,而p(x|theta)我们是知道它的分布的,那么这个时候呢,我们就选择和它同样的分布的p(theta),这样求出的后验它们的概率是一致的,方便后续的迭代。

LDA图的理解:首先总共有m篇文章,一共涉及到k个主题,每篇文章的长度为Nm,每一个文章都有各自的主题分布,这个主题分布是多项分布,同时这个多项分布的参数又服从迪利克雷分布,这个迪利克雷分布的超参数为alpha,同时每一个主题又都有一个词的分布,这个时候这么多个词的分布为多项分布,而这个多项分布的参数又服从迪利克雷分布,然后这个迪利克雷分布的参数为theta,对于某篇文章中的某个词:首先从该文章中采样出来一个主题,然后通过,主题获得一个词分布,然后从这个词分布中获取到一个词,如此循环,这篇文档就完成了。

LDA总结,由于我们在词和文档之间加入了主题的概念,因此可以很好的解决一词多义或者多词一义的问题,事实证明LDA在处理短的文本的时候效果不行,因此往往需要通过其他的形式将短的文本连成长的文本处理。可以和其他的算法相结合产生很好的效果,比如由原来的n维降到了现在的k维度(主题的维度)

标签:LDA,概率,后验,zk,模型,主题,贝叶斯,分布,文档
来源: https://blog.csdn.net/Aaadsda414114/article/details/121992000

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有