nmf java_NMF & pLSA[通俗易懂]

nmf java_NMF & pLSA[通俗易懂]今天在围脖中看到自动化所刘康的围脖中给了一个关于NMF和pLSA对比分析的链接http://ezcodesample.com/plsaidiots/NMFPLSA.html,大体读了一下,下面用中文对文中的思想重新解释,版权归原作者AndrewPolar。一、名词解释(1)NMF,nonnegativematrixfactorization,直观理解即非负矩阵分解,通常用于矩阵填充,推荐系…

大家好,又见面了,我是你们的朋友全栈君。

今天在围脖中看到自动化所刘康的围脖中给了一个关于NMF和pLSA对比分析的链接http://ezcodesample.com/plsaidiots/NMFPLSA.html,大体读了一下,下面用中文对文中的思想重新解释,版权归原作者Andrew Polar。

一、名词解释

(1)NMF, nonnegative matrix factorization,直观理解即非负矩阵分解,通常用于矩阵填充,推荐系统等。贡献较大的几位学者有Chris Ding,Daniel D. Le等,还有大陆浙江大学的Deng Cai和Xiaofei He等,还有台湾学者Chih-Jen Lin等。其严格的数学定义如下(1)所示,(1)中”*”范数通常取L2。

9bf96c05591078fca1a9f785f9d18237.png                                    (1)

(2)pLSA, probabilistic latent semantic analysis,带概率的潜在语义模型,是Topic model家族中重要一员,其实质是一个生成模型,主要用于文档分类。它假设一篇文章中的词汇生成过程是这样的:文档d中包含有若干个以一定概率p(z)分布的topic,每个词汇w的生成有相应的概率p(w|z)决定。文档d和词汇w的联合概率分布如下(2)所示。

da4363c7ab40b1eae856e03a359ecc40.png        (2)

二、NMF和pLSA的对比分析

链接中对NMF和pLSA的比较是放在文档分类处理的背景下的。假设一批文档可以被分成若干个类别,由于这里是通过关键字来描述文档,同时也通过关键字来描述类别,根据实际经验,描述不同类别会有不同的关键字结合。比如描述大学文化,通常选课,逃课,挂科,恋爱,搞基等词出现的频率会相对较高,描述民生中蜗居,房价,医疗,死猪,雾霾等词汇出现比较频繁。文档分类的结果就是求文档所属的类别或者文档所属各类别的概率。

利用NMF进行文档分类的时候,首先已知文档的document-word矩阵N,其中N(i,j)表示词汇j在文档i中的出现频数。将文档N分解为W*H,其中W为document-category矩阵,H为category-word矩阵,W的行和H的行是归一化的。从概率的观点看,W(i,j)表达的物理含义想的那个鱼p(z|d),H(i,j)表达的物理含义是p(w|z),(W*H)(i,j)表达的就是p(w|d)。为了估计W和H,采用最大似然估计,假设各个词汇出现是相互独立的,似然函数取对数如下(3)所示。

60c63edf498627ebb4e7b8df49769475.png    (3)

对于函数(4),

a20ea719eb21b07abfea9c4332ffbb37.png                        (4)

可以知道在r>=0时,f是一个凸函数,当pi=ri/(r1+r2+…rN)时f取得最大值。同理,在(3)中,

60cddfdc4041ef1f3c5b1d2449c088b3.png,所以当N(i,j)=(WH)(i,j)时,L取得最大似然。即说明了非负矩阵分解N≈WH其背后的概率解释是最大话似然(3)。

再来看看pLSA方法,通过上面的名词解释(2)知道,pLSA的概率图模型如下所示。

a409ed6f1a9558b61ad2ced39eb567e4.png

其对应的全概率表示为p(d,z,w)=p(d)*p(z|d)*p(w|z),其中d表示文档,z表示类别,w表示词汇。通过变换易知,p(d,w|z)=p(d|z)p(w|z),故上图所表示的条件独立也可以等价用下图表达,对应的全概率为p(d,z,w)=p(z)*p(d|z)*p(w|z)。

70ea8be1418a7bf9963fe32ec7f91ec0.png

pLSa优化的似然函数为(5),

b33059577308c85b26405871bedda9fe.png                            (5)

参数估计的方法EM算法,

12592c1ab619e2beecfe7f07ff28fb00.png

通过上述分析,我们可以从(3)(5)看到NMF和pLSA的相似性,同时,由于各自不同的特点,所采取的优化算法有所不同,一个是从纯粹线性代数的方式,一个是从概率参数估计EM算法出发。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148215.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • springboot详细讲解_Springboot项目

    springboot详细讲解_Springboot项目系列文章目录一、Spring和Springboot的区别及其注意事项什么?二、忽略文件技巧,这样就可以减少很多不必要的文件生成三、SpringBootParent讲解四、stater的介绍五、引导类的介绍六、Springboot内置tomcat(辅助功能必看)可以更改服务提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前..

  • 安卓开发个人小作品(3) – 多功能音乐播放器[通俗易懂]

    安卓开发个人小作品(3) – 多功能音乐播放器[通俗易懂]这次介绍一个多功能音乐播放器,记得是大二那年寒假写的,实现的主要功能就是音乐播放,带进度条控制,扫描本地音乐,上一曲下一曲,播放类型(单曲循环,顺序播放,随机播放),APP主题换肤,背景图更换等,功能都比较基础,基本上如果你不会的话,跟着我的思路,应该都是能实现的,预计会在以后加入歌词的功能。在开始前,先放一张最后的效果图吧,我个人喜欢的风格,简约,美观。目录1.实现扫描本地音乐…

  • eclipse android环境搭建,Eclipse Android开发环境搭建教程

    eclipse android环境搭建,Eclipse Android开发环境搭建教程EclipseAndroid开发环境搭建教程是本文要介绍的内容,主要是来了解并学习EclipseAndroid环境搭建的过程,具体关于EclipseAndroid内容的详解来看本文。EclipseAndroid开发准备:1、javasdk2、eclipsehttp://www.eclipse.org/downloads/3、android-sdk-windows安装好java环境和ecli…

  • JSONArray和JSONObject的转换

    JSONArray和JSONObject的转换在项目日常开发中常常会遇到JSONArray和JSONObject的转换,很多公司刚入职的小萌新会卡在这里,今天和大家分享一下,有更厉害的大佬也可以指教一下!话不多说上硬菜publicstaticvoidmain(String[]args){Stringstr=“{“took”:26,“tid_out”:fale,”_shards”:{“total”:160,“succssf…

  • PDMan-国产免费通用数据库建模工具(极简,漂亮)

    背景情况说明  本人长期以来一直从事于金融应用软件的研发以及项目实施工作,经常做数据库建模(数据表设计)。有一款称心如意的数据库建模工具,自然能够事半功倍,PowerDesigner的pdm模型为我的工作提供了很大的便利性。但电脑换了Mac系统之后,就只能在虚拟机Windows上使用PD,机器越来越吃不消了。PD是一款商业化优秀的建模工具。其设计初衷就是用作数据库建模,所以他必然是一款非常优秀的数…

  • ISO IEC 27001 企业信息安全管理要求[通俗易懂]

    ISO IEC 27001 企业信息安全管理要求[通俗易懂]ISO27001和ISO20000认证已经成为企业核心竞争力的重要标志。ISOIEC270012013中文版-制造文档类资源-CSDN下载ISOIEC270012013中文版更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/std86021/83901501?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164816627616780255250066%2522%252C%

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号