问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

推荐系统(三):基于矩阵分解的推荐算法

发布网友 发布时间:2023-07-13 23:15

我来回答

1个回答

热心网友 时间:2023-09-24 01:55

奇异值分解(Singular Value Decomposition,SVD)是一种常见的矩阵分解方式,对于一个 的矩阵 ,可定义其SVD为:

其中 为 矩阵, 是 矩阵, 为 矩阵,其除了对角线元素外全为0,即

由于奇异值矩阵包含了原矩阵的信息,其其中主要信息由较大的几个奇异值所表征,因此奇异值分解可用来作为矩阵降维,即:

在推荐系统中, 代表样本的用户数,维度通常会很高,当 时会大大减轻线上存储和计算的压力。基于矩阵分解的推荐算法的步骤可以分为:
(1)加载用户对物品的评分矩阵;
(2)矩阵分解,求奇异值,根据奇异值的能量占比确定降维至 的数值;
(3)使用矩阵分解对物品评分矩阵进行降维;
(4)使用降维后的物品评分矩阵计算物品相似度,对用户未评分过的物品进行预测;
(5)产生前 个评分值高的物品,返回编号并预测评分值。

SVD计算之前需要先把评分矩阵 补全,将稀疏矩阵变为稠密矩阵,这样就会带来一些问题:1. 稠密矩阵需要耗费巨大的存储空间;2. SVD计算复杂度很高,在大规模稠密矩阵上计算不现实。隐语义模型也是基于矩阵分解的,但是是将原始矩阵分解成两个矩阵相乘的形式:

其中 为用户因子矩阵, 为物品因子矩阵。
通常上式不会精确相等,需要最小化二者之间的差异,可通过如下损失函数来表达:

其中 表示用户 对物品 的评分交互,1表示有交互,0表示无交互, 表示用户偏爱某个商品的置信参数,交互次数多权重就会增加,如果用 表示交互次数的话,则可表示为 。
通过上述方法将协同过滤问题转化为了一个优化问题,求解上述损失函数通常采用交替最小二乘法(alternating least squares) ,计算过程如下:
(1)随机初始化 ,对上式中 求偏导,令导数为0,得到当前最优解

(2)固定 ,对上式 求偏导,令导数为0,得到当前最优解

(3)固定 ,对上式中 求偏导,令导数为0,得到当前最优解
(4)重复以上(2)到(3),直至达到迭代次数或收敛

为简明说明SVD的作用过程,采用 维的用户评分矩阵,行代表用户,列代表物品,数值代表评分,未评分值为0。

进行SVD分解,可以得到 三个矩阵, 值如下:

数据加载与相似度计算函数
定义几种相似度计算方法,包括Cosine相似度、欧几里得距离、皮尔逊相关系数,本文采用Cosine相似度。

SVD评分估计
基于矩阵奇异值分解转换的商品评价估计,实现过程的详述见注释

基于SVD进行推荐
寻找未评级的物品,对给定用户建立一个未评分物品列表,并计算评价值,进而推荐

结果分析

对于第2号用户, ,其未评价的列表为 ,则可计算得到未评价物品与所有已评价物品的相似度为:

对所有未评分物品的评分为:

推荐其中的前三个:

按照上述算法实现PQ分解的过程如下:

设置参数并对比分解后复原的结果原数据的差异

可见当k=10时,与原数据已十分接近,k=4时也比较接近,说明了矩阵分解能够表征原数据。

另外可以看出P,Q矩阵分别从横轴和纵轴提取了原矩阵的信息,进而可利用Q矩阵替代上文的V矩阵的作用而进行推荐,在此不予赘述。

[1]. https://blog.csdn.net/xiaoxiaowenqiang/article/details/78076984
[2]. 推荐系统与深度学习. 黄昕等. 清华大学出版社. 2019.
[3]. 推荐系统算法实践. 黄美灵. 电子工业出版社. 2019.
[4]. 推荐系统算法. 项亮. 人民邮电出版社. 2012.
[5]. 美团机器学习实践. 美团算法团队. 人民邮电出版社. 2018.
[6]. https://blog.csdn.net/recall_tomorrow/article/details/80218051

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
联想Z470AM I5处理器与I3 联想ideapad z470 独显默认设置是什么 联想Z470 I5处理器 GT520M的显卡跟普通的GT520M显卡有什么区别 性能怎 ... 我新买了一台联想z470 i3-2310 但是朋友说显卡不太好!! 我玩天龙八部... 联想的z470笔记本 上面 的独显GT520M 能不能 更换 或者是升级阿? ...我的是双显卡的 z470- i5 显卡是 gt520m 能换吗 vivo手机耳机麦克风说话声音小 耳机通话声音小是怎么回事 为什么我手机耳机的麦克风声音很小怎么调 求:7个字的情侣游戏名,纯汉字,有诗意的(不要古诗)。不带任何符号或英文... 乒乓球比赛能喝氮泵吗 云南河口古玩市场在哪里 云南外贸市场在哪里 红河州玩贝批发市场在哪 言为心声的英语怎么说 "我的心声"用英语怎么说? “我的心声”翻译成英文 台湾辅仁大学东吴大学跟国内中山大学和暨南大学相比 新房防水屋顶怎么做 男生会因为座位位置喜欢一个女生吗? 商业服务主要集中在大盘股还是中盘股还是小盘股 请问各位大虾~~上海哪里有环境好·档次高的地方吃宵夜??? 我是一魔兽世界的忠实玩家~受游戏的影响~想在毕业后从事游戏原画的行业~请教想有啥好的路子没~~~ 贾探春是什么花 我要守望我的故乡,就像守望我的初恋情人一样 b站谁更新的精灵宝可梦日月 龙的电热水壶是品牌吗 乡村道路公交候车亭应该安装在道路的什么位置 为什么要大力推广建造农村候车亭,乡镇候车亭制作 安心花骗了我vlp288元18个月会员费现在没返还安心花骗子大家不要上当冲会员费你就拿不I回来了? 怎么排家谱? KOF02UM的Igniz和吉斯怎么玩出来 想问下02um正规对战里能选吉斯吗 吉斯·霍华德的角色设定 吉斯·霍华德的获得条件 拳皇02um吉斯和恶梦都有了,为什么用不了恶梦? 与供应商保密协议违约金标准是多少 拳皇02um无名和吉斯超必杀有什么简便发法?↙→↘↓↙←↘太难了,发 保密违约金一般是多少 宝鸡人口 天津办理退休流程 后转到天津市退休社保怎么办理 天津灵活就业50岁退休流程 good luck with your learning Chinese是正确的吗? goodluckwithyou是什么意思 good luck with your chinese exam什么意思 Good luck with your English 在速狮软件的ERP系统中,仓库管理系统有哪些功能(仓库erp系统有哪些较常用的) 英语小故事要短还要简单! 骡车的读音骡车的读音是什么