浅谈隐语义模型和非负矩阵分解NMF
本文从基础介绍隐语义模型和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的更多相关文章
- 文本主题模型之非负矩阵分解(NMF)
在文本主题模型之潜在语义索引(LSI)中,我们讲到LSI主题模型使用了奇异值分解,面临着高维度计算量太大的问题.这里我们就介绍另一种基于矩阵分解的主题模型:非负矩阵分解(NMF),它同样使用了矩阵分解 ...
- RS:关于协同过滤,矩阵分解,LFM隐语义模型三者的区别
项亮老师在其所著的<推荐系统实战>中写道: 第2章 利用用户行为数据 2.2.2 用户活跃度和物品流行度的关系 [仅仅基于用户行为数据设计的推荐算法一般称为协同过滤算法.学术界对协同过滤算 ...
- 推荐系统--隐语义模型LFM
主要介绍 隐语义模型 LFM(latent factor model). 隐语义模型最早在文本挖掘领域被提出,用于找到文本的隐含语义,相关名词有 LSI.pLSA.LDA 等.在推荐领域,隐语义模型也 ...
- 【转载】使用LFM(Latent factor model)隐语义模型进行Top-N推荐
最近在拜读项亮博士的<推荐系统实践>,系统的学习一下推荐系统的相关知识.今天学习了其中的隐语义模型在Top-N推荐中的应用,在此做一个总结. 隐语义模型LFM和LSI,LDA,Topic ...
- LFM 隐语义模型
隐语义模型: 物品 表示为长度为k的向量q(每个分量都表示 物品具有某个特征的程度) 用户兴趣 表示为长度为k的向量p(每个分量都表示 用户对某个特征的喜好程度) 用户u对物品i的兴趣 ...
- 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
最近在拜读项亮博士的<推荐系统实践>,系统的学习一下推荐系统的相关知识.今天学习了其中的隐语义模型在Top-N推荐中的应用,在此做一个总结. 隐语义模型LFM和LSI,LDA,Topic ...
- 海量数据挖掘MMDS week4: 推荐系统之隐语义模型latent semantic analysis
http://blog.csdn.net/pipisorry/article/details/49256457 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...
- 推荐系统之隐语义模型(LFM)
LFM(latent factor model)隐语义模型,这也是在推荐系统中应用相当普遍的一种模型.那这种模型跟ItemCF或UserCF的不同在于: 对于UserCF,我们可以先计算和目标用户兴趣 ...
- 推荐系统第5周--- 基于内容的推荐,隐语义模型LFM
基于内容的推荐
随机推荐
- CoreCLR源码探索(三) GC内存分配器的内部实现
在前一篇中我讲解了new是怎么工作的, 但是却一笔跳过了内存分配相关的部分. 在这一篇中我将详细讲解GC内存分配器的内部实现. 在看这一篇之前请必须先看完微软BOTR文档中的"Garbage ...
- ArcGIS Pro 简明教程(4)工具和模型构建器
ArcGIS Pro 简明教程(4)工具和模型构建器 by 李远祥 工具箱中的工具 ArcGIS Pro 在1.3版本基本上已经继承了ArcMap的所有工具,而且会不断加入一些它自身才有的工具,例如适 ...
- Vue框架Element的事件传递broadcast和dispatch方法分析
前言 最近在学习饿了么的Vue前端框架Element,发现其源码中大量使用了$broadcast和$dispatch方法,而Element使用的是Vue2.0版本,众所周知在Vue 1.0升级到2.0 ...
- php面向对象(OOP)---- 验证码类
PHP常用自封装类--验证码类 验证码是众多网站登陆.注册等相关功能不可以或缺的功能,实现展示验证码的方式有很多,这篇文章作者以工作中比较常用的方法进行了封装. 逻辑准备 要实现一个完整的验证码,需要 ...
- linux系统盘使用率达到100%的问题查找和解决方法
今天公司云服务器报警系统发来短信,系统磁盘空间不够,登录服务器进行查看,磁盘使用虑达到100%, 感觉比较奇怪,所存的东西并不多,怎么会将磁盘占满,而且数据都是存在数据盘下,通过简单的进行 ...
- matlab 利用persistent关键字 存储持久变量
数学知识:标准差体现随机变量取值与其期望值的偏差.标准差的值较大,则表明该随机变量的取值与其期望值的偏差较大反之,则表明此偏差较小.函数功能:函数必须能够接受一次输入值并记录对应的已输入数N.sum( ...
- ionic-cordova 支付宝支付插件cordova-plugin-alipay-v2使用篇
支付宝WS_APP_PAY_SDK_BASE_2.0 <APP支付> 支付宝的cordova插件其实在github上已经有很多了,但是都已经是以前的版本了.在2016年11月的时候支付宝进 ...
- phpcms的安装以及简单使用
先来说一下phpcms的安装 首先从网上下个phpcms的压缩包,解压 解压后就是个这样的文件夹 这里要注意,下载的时候要放在平时存动态网页的那个地址,www目录下,如图 点开phpcms文件夹,里面 ...
- DirectX11中Shader的封装
引言 这个寒假学DirectX11的时候用的书是<Introduction to 3D Game Programming with DirectX 11>,里面关于Shader的部分全 ...
- OSS项目进度(2.19)
前两周先后完成了OSS.Common ,OSS.Http ,OSS.Social 项目的.net standard支持,再次开始进入框架本身的开发,今天进度情况: 一.OSS.Social 完成摇一摇 ...