本文从基础介绍隐语义模型和NMF.

隐语义模型

”隐语义模型“常常在推荐系统和文本分类中遇到,最初来源于IR领域的LSA(Latent Semantic Analysis),举两个case加快理解。

向用户推荐物品

在推荐系统中,可以通过隐含语义模型将用户(user)和物品(item)自动分类,这些类别是自动生成的。这些类别也可以叫做“隐含的分类”,也许看不懂。每个用户或者物品会被分到多个类别中,属于某个类别的权重会被计算出来。

假设现在有一个大小为m×n的评分矩阵V,包含了m个用户对n个物品的评分,评分从0到5,值越大代表越喜欢,0代表没有打分。设定共有r个隐含的分类。通过一些方法,将V展开为两个相乘的矩阵:

V = W*H

其中,W的大小为m×r,H的大小为r×n。在隐语义模型中,W(i,j)被解释为用户i属于类别j的权重,H(a,b)被解释为物品b属于类别a的的权重。

如果用户u对物品i没有评分,可以将这个评分r(u,i)预测为:

r(u,i) = sum(W(i, :) .* H(:, i))  

据此可以构建一个推荐系统。

网易云音乐的推荐算法,应该如此。

文本分类

类似上面的推荐系统。词袋模型与文档-词矩阵中介绍过文档-词矩阵。将数据集中的一堆文本构造成文档-词矩阵V,如果共有m个文本,n个单词,那么V的大小为m×n。V(i,j)表示文档i中出现单词j的次数。

设定共有r个隐含的分类。通过一些方法,将V展开为两个相乘的矩阵:

V = W*H

其中,W的大小为m×r,H的大小为r×n。在隐语义模型中,W(i,j)被解释为文档i属于类别j的权重,H(a,b)被解释为单词b属于类别a的的权重。

对于一个文档,其权重最大的类别被看作是该文档的类别。由于设定共有r个隐含的分类,分类结果也是r个份分类。

NMF

NMF,全称为non-negative matrix factorization,翻译为“非负矩阵分解”,可以用于隐语义模型。非负矩阵,就是矩阵中的每个元素都是非负的。将非负矩阵V分解为两个非负矩阵W和H的乘,叫做非负矩阵分解。那么,该怎么分解呢?在下面的这篇论文里,给出了两个方法并给出了具体证明。

http://papers.nips.cc/paper/1861-algorithms-for-non-negative-matrix-factorization.pdf

浅谈隐语义模型和非负矩阵分解NMF的更多相关文章

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

    在文本主题模型之潜在语义索引(LSI)中,我们讲到LSI主题模型使用了奇异值分解,面临着高维度计算量太大的问题.这里我们就介绍另一种基于矩阵分解的主题模型:非负矩阵分解(NMF),它同样使用了矩阵分解 ...

  2. RS:关于协同过滤,矩阵分解,LFM隐语义模型三者的区别

    项亮老师在其所著的<推荐系统实战>中写道: 第2章 利用用户行为数据 2.2.2 用户活跃度和物品流行度的关系 [仅仅基于用户行为数据设计的推荐算法一般称为协同过滤算法.学术界对协同过滤算 ...

  3. 推荐系统--隐语义模型LFM

    主要介绍 隐语义模型 LFM(latent factor model). 隐语义模型最早在文本挖掘领域被提出,用于找到文本的隐含语义,相关名词有 LSI.pLSA.LDA 等.在推荐领域,隐语义模型也 ...

  4. 【转载】使用LFM(Latent factor model)隐语义模型进行Top-N推荐

    最近在拜读项亮博士的<推荐系统实践>,系统的学习一下推荐系统的相关知识.今天学习了其中的隐语义模型在Top-N推荐中的应用,在此做一个总结. 隐语义模型LFM和LSI,LDA,Topic ...

  5. LFM 隐语义模型

    隐语义模型: 物品       表示为长度为k的向量q(每个分量都表示  物品具有某个特征的程度) 用户兴趣 表示为长度为k的向量p(每个分量都表示  用户对某个特征的喜好程度) 用户u对物品i的兴趣 ...

  6. 使用LFM(Latent factor model)隐语义模型进行Top-N推荐

    最近在拜读项亮博士的<推荐系统实践>,系统的学习一下推荐系统的相关知识.今天学习了其中的隐语义模型在Top-N推荐中的应用,在此做一个总结. 隐语义模型LFM和LSI,LDA,Topic ...

  7. 海量数据挖掘MMDS week4: 推荐系统之隐语义模型latent semantic analysis

    http://blog.csdn.net/pipisorry/article/details/49256457 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  8. 推荐系统之隐语义模型(LFM)

    LFM(latent factor model)隐语义模型,这也是在推荐系统中应用相当普遍的一种模型.那这种模型跟ItemCF或UserCF的不同在于: 对于UserCF,我们可以先计算和目标用户兴趣 ...

  9. 推荐系统第5周--- 基于内容的推荐,隐语义模型LFM

    基于内容的推荐

随机推荐

  1. Spark Streaming实时写入数据到HBase

    一.概述 在实时应用之中,难免会遇到往NoSql数据如HBase中写入数据的情景.题主在工作中遇到如下情景,需要实时查询某个设备ID对应的账号ID数量.踩过的坑也挺多,举其中之一,如一开始选择使用NE ...

  2. Swift 2.2 最基本的多线程

    昨天晚上苹果召开了发布会,第二天除了知道 iPhone SE 和 IOS9.3 之外,你还记住了什么,这一天还是老样子,继续着我们的Swift的基本学习,但出现了许多的警告,进去看看文档宝宝才知道 S ...

  3. C语言一维数组复制

    /* * 通过自定义的函数memcpy实现复制功能,优点是不需要引用库函数 * 在windows平台下,通过sizeof测试发现: int 4字节 float 4字节 double 8字节 */ #i ...

  4. php连接 mysql 数据库

    php 连接数据库 一般是用面向对象的方法,需要先创建一个对象,即造一个连接对象,然后再写sql语句,(增改查删),最后执行sql语句 其中在创建连接对象时 我们用到的是MySQLI  是不区分大小写 ...

  5. Spring应用上下文中Bean的生命周期

    Bean装载到Spring应用上下文的生命周期,如图: Bean在Spring容器中从创建到销毁经历了若干个阶段,每一阶段都可以对Spring如何管理Bean进行个性化定制,以下我们通过代码去验证生命 ...

  6. JavaScript中国象棋程序(6) - 克服水平线效应、检查重复局面

    "JavaScript中国象棋程序" 这一系列教程将带你从头使用JavaScript编写一个中国象棋程序.这是教程的第6节. 这一系列共有9个部分: 0.JavaScript中国象 ...

  7. 解读Java内部类

    一.基本概念: 顾名思义,内部类存在于外部类当中,依附于外部类.就像眼睛和脑袋的关系一样. 二.几点说明: 1.内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以 ...

  8. show_you_my_codes 001

    program 001 第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券), 使用 Python 如何生成 200 个激活码(或者优 ...

  9. 《经久不衰的Spring框架:Spring+SpringMVC+MyBatis 整合》

    前言 主角即Spring.SpringMVC.MyBatis,即所谓的SSM框架,大家应该也都有所了解,概念性的东西就不写了,有万能的百度.之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目 ...

  10. 使用OpenCL

    //函数原型举例 cl_int clGetPlatformInfo(cl_platform_id platform, cl_platform_info param_name, size_t param ...