【协同过滤进化】矩阵分解算法

一、发展动机

为解决UserCF和ItemCF协同过滤算法中头部效应明显,处理稀疏向量能力弱的问题,同时增加模型的泛化能⼒,矩阵分解技术被提出。

二、矩阵分解算法

该⽅法在协同过滤共现矩阵的基础上,使⽤更稠密的隐向量表⽰⽤户和物品,挖掘⽤户和物品的隐含兴趣和隐含特征,在⼀定程度上 弥补了协同过滤模型处理稀疏矩阵能⼒不⾜的问题。

2.1、主要原理

矩阵分解算法则期望为每⼀个⽤户和视频⽣成⼀个隐向量,将⽤ 户和视频定位到隐向量的表⽰空间上,距离相 近的⽤户和视频表明兴趣特点接近,在推荐过程中,就应该把距离相 近的视频推荐给⽬标⽤户。

2.2、如何得到隐向量

在"矩阵分解"的算法框架下,⽤户和物品的隐向量是通过分解协 同过滤⽣成的共现矩阵得到的,这也是"矩阵分解"名字的由来。

矩阵分解算法将m×n维的共现矩阵R分解为m×k维的⽤户矩阵U和k× n维的物品矩阵V相乘的形式。其中m是⽤户数量,n是物品数量,k是隐 向量的维度。k 的⼤⼩决定了隐向量表达能⼒的强弱。k 的取值越⼩, 隐向量包含的信息越少,模型的泛化程度越⾼;反之,k 的取值越⼤,隐向量的表达能⼒越强,但泛化程度相应降低。

此外,k 的取值还与矩 阵分解的求解复杂度直接相关。在具体应⽤中,k的取值要经过多次试 验找到⼀个推荐效果和⼯程开销的平衡点。

2.3、预估评分

基于⽤户矩阵 U和物品矩阵 V,⽤户 u对物品 i的预估评分:其中 pu是⽤户 u 在⽤户矩阵 U 中的对应⾏向量,qi是物品 i 在物 品矩阵 V中的对应列向量。

三、矩阵分解算法评价

在矩阵分解算法中,由于隐向量的存在,使任意的⽤户和物品之间都可以得到预测分值。⽽隐向量 的⽣成过程其实是对共现矩阵进⾏全局拟合的过程,因此隐向量其实 是利⽤全局信息⽣成的,有更强的泛化能⼒;⽽对协同过滤来说,如 果两个⽤户没有相同的历史⾏为,两个物品没有相同的⼈购买,那么 这两个⽤户和两个物品的相似度都将为 0(因为协同过滤只能利⽤⽤户 和物品⾃⼰的信息进⾏相似度计算,这就使协同过滤不具备泛化利⽤ 全局信息的能⼒)。

3.1、矩阵分解算法优点

  • **泛化能⼒强。**在⼀定程度上解决了数据稀疏问题。
  • **空间复杂度低。**不需再存储协同过滤模型服务阶段所需 的"庞⼤"的⽤户相似性或物品相似性矩阵,只需存储⽤户和物品隐向 量。空间复杂度由 n2级别降低到(n+m)·k级别。
  • 更好的扩展性和灵活性。

3.2、矩阵分解算法缺点

与协同过滤⼀样,矩 阵分解同样不⽅便加⼊⽤户、物品和上下⽂相关的特征,这使得矩阵 分解丧失了利⽤很多有效信息的机会,同时在缺乏⽤户历史⾏为时, ⽆法进⾏有效的推荐。

相关推荐
snpgroupcn21 小时前
如何在SAP中实现数据验证自动化?5天缩短验证周期,提升转型效率的3大关键策略
运维·人工智能·自动化
Master_oid21 小时前
机器学习23:对抗攻击(adversarial attack)(上)
人工智能·机器学习
MicroTech202521 小时前
MLGO微算法科技时空卷积与双重注意机制驱动的脑信号多任务分类算法
科技·算法·分类
全知科技21 小时前
AI赋能数据分类分级,迈向智能化数据治理
大数据·人工智能
2501_941664961 天前
人工智能赋能智慧金融互联网应用:智能风控、投资分析与客户管理实践探索》
人工智能
txp玩Linux1 天前
rk3568上解析webrtc音频降噪算法处理流程
算法·音视频·webrtc
paopao_wu1 天前
目标检测YOLO[03]:推理入门
人工智能·yolo·目标检测
让学习成为一种生活方式1 天前
ANNEVO v2.1安装与使用--生信工具61
人工智能
立志成为大牛的小牛1 天前
数据结构——五十二、散列函数的构造(王道408)
数据结构·笔记·程序人生·考研·算法
_张一凡1 天前
【AIGC面试面经第六期】AI视频-训练与微调技相关问答
人工智能·面试·aigc