推荐系统笔记:基于矩阵分解(总结篇)
推荐系统笔记:基于潜在因子模型的协同过滤(latent factor model)_UQI-LIUWJ的博客-CSDN博客
推荐系统笔记:无任何限制的矩阵分解_UQI-LIUWJ的博客-CSDN博客
推荐系统笔记:基于SVD的协同过滤_UQI-LIUWJ的博客-CSDN博客
推荐系统笔记:基于非负矩阵分解的协同过滤_UQI-LIUWJ的博客-CSDN博客
1 矩阵分解 X 协同过滤 家族
很明显,前面几节中各种形式的矩阵分解有很多共同点。 所有上述优化公式都使残差矩阵
的 Frobenius 范数最小化,与此同时因子矩阵 U 和 V 需要满足各种特定的约束。 对因子矩阵的不同约束实现了不同的可解释性属性。
事实上,更广泛的矩阵分解模型系列可以使用任何其他目标函数或约束来强制逼近。 这个更广泛的家庭可以写成如下形式:
在大多数情况下,正则化项被添加到目标函数中以防止过拟合。
1.1 不同的约束
各种约束通常对因素施加不同类型的可解释性。 这种可解释性的两个例子是正交性(SVD分解,提供几何可解释性)和非负性(非负矩阵分解,提供’部分总和‘可解释性)。
此外,即使这些约束增加了观测值上的误差,当它们具有有意义的语义解释时,它们有时也可以改善未观察条目的准确度。 这是因为约束减少了未观察条目的方差,同时增加了偏差。 因此,该模型具有更好的泛化性。
例如,将 U 和 V 中的各一列中的条目固定为1几乎总是会导致更好的性能。
推荐系统笔记:无任何限制的矩阵分解_UQI-LIUWJ的博客-CSDN博客
选择要使用的正确约束通常取决于数据,并且需要深入了解手头的应用和目标。
2 PLSA
存在其他形式的因式分解,其中可以为因子分配概率可解释性。
例如,考虑一个非负一元评级矩阵 R 被视为相对频率分布的场景,其条目总和为 1。
我们可以很容易地将R矩阵规约化到条目之和为1(每个条目除以 条目总和)
这种矩阵R的分解可以用一种和SVD类似,但是不是SVD的方法来进行
这种分解只是长得像SVD分解,但实际的内容和SVD分解还是相差甚远:
- 此时Qk的列、Pk的列不用再是正交的
- Qk的每一列、Pk的每一列值都是非负的,每一列数值之和为1
- 对角矩阵Σk的每个条目(对角线上的值)也均为非负,它们的和也是1
这里我们说明一下,比如我们令此时Qk为
,Pk为
,Σk为
满足如下式子
这个矩阵所有条目的和为:
=1
这种因式分解具有概率解释:矩阵 Qk、Pk 和 Σk 包含创建评分矩阵的生成过程的概率参数。这种方法被称为概率潜在语义分析(PLSA),它可以被视为非负矩阵分解的概率变体。
显然,这种分解的概率性质为其提供了不同类型的可解释性。
3 汇总
这里汇总了几种较为主流的MF模型。需要注意的是,模型的选择取决于问题设置、数据中的噪声以及所需的可解释性水平。没有单一的解决方案可以实现所有这些目标。仔细理解问题域对于选择正确的模型很重要。
模型 | 限制 | 目标函数 | 优点 | 缺点 |
无限制矩阵分解 | 无 | frobenius 范数 |
对于有观测值的条目,可以有很好的准确度 适用于大多数情况 |
对于没有观测值的条目,不一定有很好的准确度 缺乏可解释性 |
SVD | U和V各自的列向量正交 | frobenius 范数 |
很好的几何解释性 外推推荐 稠密矩阵效果很好 |
稀疏矩阵效果一般 |
非负矩阵分解 | 所有条目非负 | frobenius 范数 |
很好的语义可解释性 适用于隐式反馈矩阵 |
|
PLSA |
所有条目非负 所有条目之和为1 |
有观测值的这些条目的最大概率 |
很好的语义可解释性 适用于隐式反馈矩阵 |
推荐系统笔记:基于矩阵分解(总结篇)相关推荐
- 推荐系统笔记:矩阵分解+基于邻居的模型
由于其启发式性质,基于邻域的方法通常被认为与其他优化模型具有内在的不同. 尽管如此,结果表明基于邻域的方法也可以嵌入在其他优化模型的上下文中. 这是一个相当方便的框架,因为它为邻域模型与其他优化模型( ...
- SVD++:推荐系统的基于矩阵分解的协同过滤算法的提高
1.背景知识 在讲SVD++之前,我还是想先回到基于物品相似的协同过滤算法.这个算法基本思想是找出一个用户有过正反馈的物品的相似的物品来给其作为推荐.其公式为: 其中 rui 表示预测用户u对物品i的 ...
- 基于hadoop的商品推荐系统_【论文笔记】基于矩阵分解的推荐系统
本文是对经典论文的阅读笔记,大部分为论文的中文翻译内容(笔者英语水平也就六级飘过的水准,不喜勿喷) 论文标题:Matrix factorization techniques for recommend ...
- 协同过滤与隐语义模型推荐系统实例3: 基于矩阵分解(SVD)的推荐
[ 协同过滤与隐语义模型推荐系统实例1: 数据处理 ] [ 协同过滤与隐语义模型推荐系统实例2: 基于相似度的推荐 ] 隐语义模型推荐 基于矩阵分解(SVD)的推荐 # 先计算歌曲被当前用户播放量/用 ...
- 基于矩阵分解的推荐系统
基于矩阵分解的推荐算法 1.概述 基于用户和基于项的协同过滤推荐算法,难以实现大数据量下的实时推荐.这时我们可以使用基于模型的协同过滤算法,矩阵分解(Matrix Factorization,M ...
- 自己动手写一个推荐系统,推荐系统小结,推荐系统:总体介绍、推荐算法、性能比较, 漫谈“推荐系统”, 浅谈矩阵分解在推荐系统中的应用...
自己动手写一个推荐系统 废话: 最近朋友在学习推荐系统相关,说是实现完整的推荐系统,于是我们三不之一会有一些讨论和推导,想想索性整理出来. 在文中主要以工程中做推荐系统的流程着手,穿插一些经验之谈,并 ...
- 基于矩阵分解的推荐算法,简单入门
摘自:http://www.cnblogs.com/kobedeshow/p/3651833.html 本文将要讨论基于矩阵分解的推荐算法,这一类型的算法通常会有很高的预测精度,也活跃于各大推荐系统竞 ...
- 推荐系统知识梳理——矩阵分解
隐语义模型与矩阵分解 协同过滤算法的特点就是完全没有利用到物品本身或者是用户自身的属性, 仅仅利用了用户与物品的交互信息就可以实现推荐,是一个可解释性很强, 非常直观的模型, 但是也存在一些问题, 第 ...
- numpy 矩阵 秩_大规模电商推荐数据分析-基于矩阵分解的召回
前面两篇文章回顾了我们团队做天池数据比赛<CIKM 2019 EComm AI:用户行为预测>的复赛方案,现在让我们的目光回到初赛.初赛数据组织和复赛一样,只是数据量差异较大.(初赛才2G ...
- 推荐系统中的矩阵分解技术
推荐系统中的矩阵分解技术 本文翻译自Koren Y, Bell R, Volinsky C. Matrix Factorization Techniques for Recommender Syste ...
最新文章
- C#拾遗系列(3):构造函数
- 电视机当计算机屏幕,怎么实现电视机当电脑的显示器和音箱用?
- java6个人抽奖抽三个人,基于Java的抽奖逻辑
- wegame饥荒一直连接中_谁是老牛?谁是嫩草?WeGame与老牌网游的故事 | 游戏茶馆...
- SpringBoot注解分析
- Excel 2007 Open XML文件结构~~~1
- 【windows核心编程】线程局部存储TLS
- Activity与Fragment的onActivityResult细节
- 30多份软件测试报告模板(标准版)!一份优秀测试报告模板流程
- [打印管理器]读取样式列表失败:Invalid variant operation
- sklearn 1.0.1官方文档教程
- SqlServer数据库 设置查询结果字体
- 但打不开 固态硬盘 插电脑上 能识别_移动硬盘显示盘符但打不开解决教程
- java星空屏幕,CorelDraw 制作宇宙星空
- 关于 Photoshop 的在线使用
- 20230316 作业
- 龙ol一键端服务器维护,龙OL一键端纯一键点两下OK问题及解答汇总贴.doc
- EMOS 配置及优化
- CDH6.3.2离线安装教程——超级详细版-附带安装包地址
- WAP网站设计之xhtml mp