理顺主题模型LDA及在推荐系统中的应用

本文详细介绍了主题模型LDA的概念及其与PLSA的区别,阐述了LDA的贝叶斯框架,并探讨了在推荐系统中如何应用LDA进行文本分析和主题预测,帮助理解用户兴趣。
摘要由CSDN通过智能技术生成

1 关于主题模型

使用LDA做推荐已经有一段时间了,LDA的推导过程反复看过很多遍,今天有点理顺的感觉,就先写一版。

  • 隐含狄利克雷分布简称LDA(latent dirichlet allocation),是主题模型(topic model)的一种,由Blei, David M.、Ng, Andrew Y.、Jordan于2003年提出。 主题模型属于聚类方法,是一种无监督的学习方法。
  • 与通常的tf-idf相比,主题模型重在可以在语义上计算文本内容的相关性。主题模型是一种词袋模型,即只考虑文本总的词频,不考虑顺序。
  • 假设依据是一篇文本以一定的概率属于多个主题(概率相加为1),一个词也以一定的概率属于多个主题(一个词可能以不同的概率属于不同的主题)。
  • 参数的先验
    topic-word分布受一个参数为α的对称Dirichlet约束
    doc-topic分布受一个参数为β的对称Dirichlet约束

2 频率学派与贝叶斯学派

这里简单介绍频率学派和贝叶斯学派,因为PLSA和LDA分别用的是这两种学派的思想。

  • 直至今日,关于统计推断的主张和想法,大体可以纳入到两个体系之内,其一叫频率学派,其特征是把需要推断的参数θ视作固定且未知的常数,而样本X是随机的,其着眼点在样本空间,有关的概率计算都是针对X的分布。另一派叫做贝叶斯学派,他们把参数θ视作随机变量,而样本X是固定的,其着眼点在参数空间,重视参数θ的分布,固定的操作模式是通过参数的先验分布结合样本信息得到参数的后验分布。

以抛硬币为例,正面朝上的概率是待求的参数。

  • 往小处说,频率派认为参数是客观存在,不会改变,虽然未知,但却是固定值;贝叶斯派则认为参数是随机值,因为没有观察到,那么和是一个随机数也没有什么区别,因此参数也可以有分布。
  • 往大处说,频率派最常关心的是似然函数,而贝叶斯派最常关心的是后验分布。我们会发现,后验分布其实就是似然函数乘以先验分布再normalize一下使其积分到1。因此两者的很多方法都是相通的。贝叶斯派因为所有的参数都是随机变量,都有分布,因此可以使用一些基于采样的方法(如MCMC)使得我们更容易构建复杂模型。频率派的优点则是没有假设一个先验分布,因此更加客观,也更加无偏。
  • 例如,概率学派可能任务抛硬币证明朝上的概率就是0.5;而贝叶斯学派先取得一个先验概率,在通过做试验观察,结合先验概率和观察结果得出一个后验概率,这个后验概率才是硬币证明朝上的概率,后验概率本身也符合某种分布。
  • LDA是三层贝叶斯模型。 简单的说,一篇文章可以以不同的概率属于多个主题,但分别以多大的概率属于这些主题呢?例如文章A可以是{‘科技’:0.5, ‘体育’:0.2, ‘财经’:0.3}这种分布, 也可能是{‘科技’:0.4, ‘体育’:0.4, ‘财经’:0.2}这种分布. 贝叶斯学派认为这个分布也服从一定分布,这里用的就是狄利克雷分布,即它在LDA中其实是一个分布的分布。并且,LDA用到两次Dilichlet:一个主题中词的概率分布也服从狄利克雷分布。

3 PLSA与LDA

介绍PLSA和LDA两种生产模型。

3.1 PLSA

3.1.1 举个生成文本的例子

一篇文章往往有多个主题,只是这多个主题各自在文档中出现的概率大小不一样。比如介绍一个国家的文档中,往往会分别从教育、经济、交通等多个主题进行介绍。那么在pLSA中,文档是怎样被生成的呢?
假设你要写M篇文档,由于一篇文档由各个不同的词组成,所以你需要确定每篇文档里每个位置上的词。
再假定你一共有K个可选的主题,有V个可选的词,咱们来玩一个扔骰子的游戏。

  1. 假设你每写一篇文档会制作一颗K面的“文档-主题”骰子(扔此骰子能得到K个主题中的任意一个),和K个V面的“主题-词项” 骰子(每个骰子对应一个主题,K个骰子对应之前的K个主题,且骰子的每一面对应要选择的词项,V个面对应着V个可选的词)。
    比如可令K=3,即制作1个含有3个主题的“文档-主题”骰子,这3个主题可以是:教育、经济、交通。然后令V = 3,制作3个有着3面的“主题-词项”骰子,其中,教育主题骰子的3个面上的词可以是:大学、老师、课程,经济主题骰子的3个面上的词可以是:市场、企业、金融,交通主题骰子的3个面上的词可以是:高铁、汽车、飞机。
  2. 每写一个词,先扔该“文档-主题”骰子选择主题,得到主题的结果后,使用和主题结果对应的那颗“主题-词项”骰子,扔该骰子选择要写的词。
    先扔“文档-主题”的骰子,假设(以一定的概率)得到的主题是教育,所以下一步便是扔教育主题筛子,(以一定的概率)得到教育主题筛子对应的某个词:大学。
    上面这个投骰子产生词的过程简化下便是:“先以一定的概率选取主题,再以一定的概率选取词”。事实上,一开始可供选择的主题有3个:教育、经济、交通,那为何偏偏选取教育这个主题呢?其实是随机选取的,只是这个随机遵循一定的概率分布。比如可能选取教育主题的概率是0.5,
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值