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算法出发。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mac OS 下三种修改Hosts文件的方法

    Mac OS 下三种修改Hosts文件的方法

    2022年2月8日
    49
  • Linux操作系统面试题(linux系统基础面试题)

    后续会继续补充~~~实际找工作过程中,因为公司或单位侧重点不一样,考察的知识也是不尽相同的,但是作为计算机类的学生,操作系统的知识也是必不可少的,去年参加笔试面试的时候,腾讯微软阿里等公司的笔试题都或多或少对操作系统相关的知识点进行了考察。作为一个非计算机科班出生的学僧,当初并没有学这门课,略尴尬,只有临时啃书补一补了,这里给出的是一份操作系统常考知识点的总结,希望能给大家带

    2022年4月12日
    45
  • test.py是什么文件_exe文件反编译源码工具

    test.py是什么文件_exe文件反编译源码工具"java"]//P6DataSourcep6DSource=newP6DataSource(cpDSource)publicclassP6DataSourceextendsP6BaseimplementsDataSource,Referenceable,Serializable{//source是通过构造传入的数据源c3p0或DruidpublicP6DataSource(DataSourcesource)

    2022年10月5日
    0
  • VAR模型_trophymanager

    VAR模型_trophymanager本作品采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议进行许可。本作品(李兆龙博文,由李兆龙创作),由李兆龙确认,转载请注明版权。文章目录引言PercolatorTiKV中的应用ColumnFamily读放大Latches缺陷总结引言TiKV是GoogleSpanner的一个开源实现,其作为HTAP(HybridTransactionalandAnalyticalProcessing)数据库TiDB的行存储引擎,以支持对OLTP(On-LineTrans

    2022年9月23日
    0
  • Centos镜像国内最全下载地址

    Centos镜像国内最全下载地址这里写代码片CentOS7官方下载地址:https://www.centos.org/download/Centos国内下载源http://man.linuxde.net/download/CentOShttp://mirrors.btte.net/centos/7/isos/x86_64/http://mirrors.cn99.com/centos/7/isos/x86_64/h…

    2022年6月14日
    27
  • 简单选择排序 C语言

    简单选择排序 C语言简单选择排序(SimpleSelectionSort)也称作直接选择排序。算法步骤:1)设待排序的记录存放在数组Data[1…n]中。第一趟从Data[1]开始,通过n-1次比较,从n个记录中选出关键字最小的记录,记为Data[k],交换Data[1]和Data[k]。2)第二趟从Data[2]开始,通过n-2次比较,从n-1个记录中选出关键字最小的记录,记为Data[k],交换Data[2]和Data[k]。3)依次类推,第i趟从Data[i]开始,通过n-i次比较,从n-i

    2022年6月25日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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