今天在围脖中看到自动化所刘康的围脖中给了一个关于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。

                                    (1)

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

        (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)所示。

    (3)

对于函数(4),

                        (4)

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

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

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

其对应的全概率表示为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)。

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

                            (5)

参数估计的方法EM算法,

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

nmf java_NMF pLSA相关推荐

  1. nmf java_NMF的算法原理

    NMF(Non-negative matrix factorization,非负矩阵分解),即对于任意给定的一个非负矩阵V,其能够寻找到一个非负矩阵W和一个非负矩阵H,满足条件V=W*H,从而将一个非 ...

  2. 文本主题模型之非负矩阵分解(NMF)

    1. 非负矩阵分解(NMF)概述 非负矩阵分解(non-negative matrix factorization,以下简称NMF)是一种非常常用的矩阵分解方法,它可以适用于很多领域,比如图像特征识别 ...

  3. 文本话题聚类(Kmeans/LDA)

    K-means 1 聚类是一种无监督的学习方法.聚类区别于分类,即事先不知道要寻找的内容,没有预先设定好的目标变量. 2 聚类将数据点归到多个簇中,其中相似的数据点归为同一簇,而不相似的点归为不同的簇 ...

  4. LSA、pLSA、LDA、NMF、BERTopic、Top2Vec进行主题建模

    在自然语言处理(NLP)中,主题建模是一种技术,用于从文本数据中发现隐藏的语义主题(或主题).这是一个无监督机器学习问题,即在没有标签或标签的情况下学习模式.主题建模的应用非常广泛,可用于搜索引擎.情 ...

  5. 主题模型、LDA、LSA、LSI、pLSA

    主题模型.LDA.LSA.LSI.pLSA LSA = LSI PLSA = PLSI LSA(SVD),PLSA,NMF,LDA均可用于主题模型. LFM.LSI.PLSI.LDA都是隐含语义分析技 ...

  6. 潜在语义分析 (LSA),概率潜在语义分析 (PLSA)

    目录 潜在语义分析 (latent semantic analysis, LSA) 单词向量空间与话题向量空间 单词向量空间 (word vector space) 话题向量空间 (topic vec ...

  7. 概率潜在语义分析(Probabilistic Latent Semantic Analysis,PLSA)

    概率潜在语义分析(Probabilistic Latent Semantic Analysis,PLSA) 目录 概率潜在语义分析(Probabilistic Latent Semantic Anal ...

  8. 独立成分分析ICA、因子分析、LDA降维、NMF非负矩阵分解

    独立成分分析ICA.因子分析.LDA降维.NMF非负矩阵分解 目录 独立成分分析ICA.因子分析.LDA降维.NMF非负矩阵分解 独立成分分析ICA

  9. SVD(奇异值分解)+NMF(非负矩阵分解)

    SVD(奇异值分解)+NMF(非负矩阵分解) NMF==>变为两个矩阵相乘 SVD==>变为三个矩阵相乘

最新文章

  1. 前端抱怨 API 响应慢,怎么办?
  2. 绩效C,看不到希望...
  3. 经典回顾 | 人脸照片秒变艺术肖像画:清华大学提出APDrawingGAN CVPR 2019 oral paper...
  4. 人工智能抢饭碗,你的工作还保得住吗?
  5. java 堆栈 对象_在Java中,哪些对象放在堆栈上,哪些放在堆上?
  6. 【BZOJ-2325】道馆之战 树链剖分 + 线段树
  7. leetcode-387-字符串中的第一个唯一字符
  8. hadoop学习之:Map、Reduce详解
  9. Rotation Matching CodeForces - 1365C(贪心)
  10. Spring Webflux – Kotlin DSL –实现的演练
  11. 字符串匹配算法(KMP)
  12. GC之Minor/Young/Major GC的区别
  13. QT.pro工程文件中判断宏定义是否存在
  14. oracle获取当前年上一年时间,Oracle获取一年中的所有日期和一个月中的所有日期...
  15. batchplot插件用法_教大家Batchplot批量打印插件用不了怎么办
  16. js生成二维码的几种方法
  17. matlab中codegen是什么,matlab中mcc编译器参数的含义
  18. 洗牌、发牌算法 (打乱扑克牌顺序)
  19. FFmpeg是什么?
  20. excel 两组数据交点_数据分析入门:8种常用的数据分析方法

热门文章

  1. 在jetson xavier nx上制作docker镜像
  2. 我与电脑的相识,相知,相爱
  3. [转]QTP下载地址和《QTP自动化测试实践》
  4. ChatGPT平替工具claude,无需梯子,保姆级安装教程
  5. Adobe XD CC简体中文版起步计划 中国用户可免费使用
  6. conda tensorflow_百折不挠,终于装好TensorFlow
  7. 热评云厂商:银联云开启金融新科技,构建富有代表性的行业云
  8. 【互斥同步经典PV操作】
  9. 用简单的C语言程序验证哥德巴赫猜想(是验证不是证明啦)
  10. easy poi导出excel表头多语言