版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4 基于物品相似度的推荐算法 1. 基于矩阵分解的推荐算法 2. FISM(FISM-Factored Item Similarity Methods) 3. DICF(Deep Item-based Collaborative Filtering for Top-N Recommendation) 1. 基于矩阵分解的推荐算法 2. FISM(FISM-Factored Item Similarity Methods) 3. DICF(Deep Item-based Collaborative Filtering for Top-N Recommendation) 目 录 01 02 03
2、03 矩阵分解算法简介 矩阵分解算法模型 矩阵分解算法运行与结果分析 MovieLens 是一份电影评分数据集,广泛应用于推荐算法效果的验证。MovieLens 具有多个版本,在实验中我们选择含有大约 10W 条交互记录的版本ML-100k。在 这个版本的 MovieLens 数据集中,每个用户至少有 20 条交互记录。 数据集描述 1. 矩阵分解算法简介 SVD算法是从Netflix大赛中脱颖而出的一个推荐算法。 历史事件 Netflix是一家从事DVD出租业务的互联网公司,2007年又转为提供线上视频流媒体 服务。2006年,netflix宣布了一个消息:他们将举办一次大赛,奖金高达100
3、万美 元。 SVD: S. Funk, “Netflix Update: Try This At Home”,/simon/journal/20061211.html, 2006. 1. 矩阵分解算法简介 在Netflix大赛后,SVD算法由于其形式优美,被广范使用和研究。后来衍生出了多个版 本,例如BiasSVD、SVD+等。 SVD算法中,SVD不是直接使用数学中的矩阵SVD分解技术,而是借助矩阵SVD分解思 想,经过改良的SVD推荐技术。 SVD+: Koren Y. Factorization meets the neighborhood: a mult
4、ifaceted collaborative filtering modelC/Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2008: 426-434. 1. 矩阵分解算法简介 历史事件 对于一个推荐系统,其用户数据可以整理成一个user-item交互矩阵。矩阵中每一行 代表一个用户,而每一列则代表一个物品。若用户对物品有过评分,则矩阵中处在 用户对应的行与物品对应的列交叉的位置表示用户对物品的评分值。这个user-item 矩阵
5、被称为评分矩阵。 算法1-SVD useritem12345 1531?3 2?2?4? 32?342 4?4?5 55?41? 1. 矩阵分解算法简介 1. 矩阵分解算法简介 算法1-SVD 其中是的正交矩阵,是的正交矩阵,是的对角阵,可以 说是完美契合分解评分矩阵这个需求。 对角阵还有一个特殊的性质,它的所有元素都非负,且依次减小。这个减小也特 别快,在很多情况下,前10%的和就占了全部元素之和的99%以上,这就是说我们 可以使用最大的k个值和对应大小的 、 矩阵来近似描述原始的评分矩阵。 1. 矩阵分解算法简介 算法1-SVD 1. 矩阵分解算法简介 算法1-SVD 总结总结:所谓:所谓
6、SVD模型,就是模型,就是 1.1. 将评分矩阵分解成用户子矩阵和物品子矩阵将评分矩阵分解成用户子矩阵和物品子矩阵 2.2. 子矩阵分别代表用户和物品的偏好信息子矩阵分别代表用户和物品的偏好信息 1. 矩阵分解算法简介 算法1-SVD BiasSVD算法在SVD算法的基础上引入了偏置信息。 在实际的应用中不同的用户在评分时会有自己的偏好。如在电影评价的场景中,某 些人评分的标准会比较高,对所有看过的电影评分都比较低。不同的物品之间评分 标准也会有所区别,某部电影口碑很烂,会在一定程度上影响其他用户对该电影的 评分。 n 用户之间评分习惯有差异用户之间评分习惯有差异 用户偏置用户偏置 n 物品之
7、间的质量有差异物品之间的质量有差异 物品偏置物品偏置 算法2-BiasSVD 总结总结:所谓所谓BiasSVD模型,就是考虑了模型,就是考虑了用户偏置用户偏置和和物品偏置物品偏置的的SVD模型模型 1. 矩阵分解算法简介 SVD+算法在BiasSVD的基础上引入了隐式反馈信息:在实际应用场景中还存在着 大量的隐式反馈信息,如用户的浏览和点击操作。虽然显式评分可以很好的衡量用 户对物品的偏好,但是隐式反馈信息也能一定程度上反应用户的偏好,所以融合隐 式反馈信息后的模型具有更强的表现力,并且隐式反馈的数据更多更丰富。 利用用户的历史交互记录来辅助用户偏好建模:传统的SVD方法在建模用户偏好的 时候
8、忽略了用户交互过的物品在很大程度上反映了用户的偏好,所以SVD+在建模 用户向量的时候,融入了用户历史交互过的物品。 算法3-SVD+ 1. 矩阵分解算法简介 在Part 3 CTR算法部分已经介绍过的FM算法是一种使用了矩阵分解思想的算法。在 FM算法中,引入矩阵分解的思想是为了减少参数的数量。如下: * 算法4 分解机(Factorization Machine,FM)算法* 1. 矩阵分解算法简介 SVD和SVD+算法都是将一个评分矩阵分解为两类向量(用户向量和物品向量), 并且这两类向量都有一定可解释性,所以可以认为这些算法是非常纯粹的矩阵分解 算法。 FM算法的主体还是线性模型,矩阵
9、分解主要体现在引入了辅助向量V,辅助向量相 乘的结果就是二阶组合特征对应的参数,这样的设置仅仅是为了降低二阶组合特征 的参数数量,辅助向量本身并不具有实际意义,而SVD和SVD+算法中的分解向量 U,V有具体的物理意义(分别表示用户和物品,并且每一个维度代表一类偏好) ,所以对FM的定位是:利用了矩阵分解思想的线性模型。利用了矩阵分解思想的线性模型。 1. 矩阵分解算法简介 * 算法4 分解机(Factorization Machine,FM)算法* 应用场景上的区别 p SVD、BiasSVD、SVD+ 属于协同过滤的主流算法,主要用于预测用户对物品的 评分,从而给用户推荐符合用户偏好的物品
10、。 p FM算法的核心还是线性模型,主要解决CTR预估的问题(或者说概率预测的问题 ),同时,FM算法的优势在于可以很好地处理组合特征,所以FM算法可以处理的 数据集应该包含较多的特征,SVD、SVD+使用的Movielens等数据集无法体现FM 算法的优势,不适用于FM算法。 1. 矩阵分解算法简介 * 算法4 分解机(Factorization Machine,FM)算法* 总结:总结: 1.SVD,BiasSVD,SVD+算法是适用于评分预估的矩阵分解算法; 2.FM算法是适用于CTR预估的“半”矩阵分解算法。 1. 矩阵分解算法简介 * 算法4 分解机(Factorization Ma
11、chine,FM)算法* 明尼苏达大学GroupLens研究组推出第一个自动化推荐系统GroupLens 1994年 SVD:Netflix大赛成功举办,SVD算法脱颖而出 2006年 BiasSVD:SVD提出来之后,出现了很多变形版本,其中一个相对 成功的方法是BiasSVD 2007年 SVD+:在BiasSVD的基础上融合了隐式反馈信息 2008年 2012年 SVDFeature:引入了的特征作为辅助信息 1. 矩阵分解算法简介 目 录 02 03 03 矩阵分解算法简介 矩阵分解算法模型 矩阵分解算法运行与结果分析 02 01 SVD模型为: 矩阵分解算法模型1-SVD 2. 矩阵
12、分解算法模型 具体到交互矩阵中的某一项评分预测为: 最小化损失可以优化模型参数,通过不断优化得到最佳模型参数。 2. 矩阵分解算法模型 矩阵分解算法模型1-SVD BiasSVD的模型为: 矩阵分解算法模型2-BiasSVD 2. 矩阵分解算法模型 SVD+的模型为: 矩阵分解算法模型3-SVD+ 2. 矩阵分解算法模型 算法调优方案对比 模型模型参数参数1e-01e-11e-21e-31e-41e-51e-61e-7 SVD 0.91710.91780.92400.92300.92350.92850.92340.9235 1.37150.98960.90880.90980.92890.916
13、90.91810.9142 BiasSVD 0.93430.92080.92510.92650.92710.92810.92770.9247 0.93430.90670.93230.94480.95080.94420.94330.9477 SVD+ 0.90890.90730.90360.90630.90720.90570.90420.9035 0.90250.91440.92200.91990.91820.91720.92110.9190 将SVD、BiasSVD和SVD+的模型分别在不同的正则项系数下进行比较,下面是三 种模型的调优对比结果 2. 矩阵分解算法模型 目 录 02 03 矩阵
14、分解算法简介 矩阵分解算法模型 矩阵分解算法运行与结果分析 01 02 03 从数据集中随机划出10%作为测试集,余下的90%作为训练集 数据集的划分 3. 矩阵分解算法调试与运行 实验-在线AI studio(SVD) 在AI Studio中创建项目SVD导入数据集 3. 矩阵分解算法调试与运行 导入相关的工具包 加载数据集 计算用户 和物品个 数 3. 矩阵分解算法调试与运行 实验-在线AI studio(SVD) 划分数据集,创建测试数据和训练数据对应的矩阵 数据集划分 建立训练集 的评分矩阵 建立测试集 的评分矩阵 3. 矩阵分解算法调试与运行 实验-在线AI studio(SVD)
15、矩阵乘法和RMSE的计算 判断是否存 在不在1-5之 间的评分 3. 矩阵分解算法调试与运行 实验-在线AI studio(SVD) 模型的训练和参数的优化 损失函数的计算 模型参数的优化 3. 矩阵分解算法调试与运行 实验-在线AI studio(SVD) u.data:数据集 BiasSVD.py:BiasSVD模型 Draw.py:画图 SVD+.py:SVD+模型 SVD.py:SVD模型 实验-离线Pycharm (代码目录结构) 3. 矩阵分解算法调试与运行 SVD.py: 实验-离线Pycharm (核心代码) SVD损失函 数 3. 矩阵分解算法调试与运行 BiasSVD.py
16、 BiasSVD损失 函数 3. 矩阵分解算法调试与运行 实验-离线Pycharm (核心代码) SVD+.py: SVD+损失函 数 3. 矩阵分解算法调试与运行 实验-离线Pycharm (核心代码) 取SVD、BiasSVD、SVD+模型训练前50次的结果进行对比: 实验结果分析 3. 矩阵分解算法调试与运行 合肥工业大学,薛峰 SVDFeature基于特征的矩阵分解 算法 目 录 01 02 03 SVDFeature算法简介 SVDFeature算法模型 SVDFeature算法运行与结果分析 背景介绍 传统的协同过滤算法中主要存在如下两个问题:稀疏性与冷启动问题。 有效的解决方法是
17、:引入辅助信息(Side information)来缓解这些问题。用户的Side information可以是用户的个人信息、用户画像信息等,物品的Side information可以 是物品的内容,类别信息等。 1. SVDFeature算法简介 背景介绍 SVDFeature是Apex Data & Knowledge Management Lab在KDD CUP11竞赛中开发出 来的工具包。曾在KDD CUP11 track 1中取得非常好的成绩。 SVDFeature作者是陈 天奇,也是XGBoost和cxxnet的作者。它的目的是有效地解决基于特征的矩阵分解 。 A P E X D
18、ATA & K N O W L E D G E M A N A G E M E N T L A B 的 主 页 : http:/ 1. SVDFeature算法简介 目 录 01 02 03 SVDFeature算法简介 SVDFeature算法模型 SVDFeature算法运行与结果分析 模型框架 首先回顾一下BiasSVD的公式: SVDFeature的主要思想就是:实现在SVD模型的基础上,能够加入新的特征(如时 间特征,neighborhood特征),以提高算法的表现。 其中表示用户特征,表示商品特征,表示全局特征 2. SVDFeature算法模型 图片引自:Chen T, Zhen
19、g Z, Lu Q, et al. Feature-Based Matrix FactorizationJ. Computer Science, 2011. 2. SVDFeature算法模型 举例说明 接下来我们以论文: 中的例子来讲述 SVDFeature如何使用: 2. SVDFeature算法模型 图片引自:Chen T , Zhang W , Lu Q , et al. SVDFeature: A Toolkit for Feature-based Collaborative FilteringJ. Journal of Machine Learning Research, 2012
20、, 13(1):3619-3622. 2. SVDFeature算法模型 举例说明 album id 之前的系数0.6是个超参数, 用来控制album information在预测中 的影响效果。 global feature index是根据实际情况自 定义的,本例中是: gid = 2iid +day 2. SVDFeature算法模型 目 录 01 02 03 SVDFeature算法简介 SVDFeature算法模型 SVDFeature算法运行与结果分析 如何使用SVDFeature 下载SVDFeature工具包,解压,并进行编译 构造SVDFeature要求的输入格式: 设置一些
21、参数,比如用户数,物品数,迭代次数,学习率等。写到配置文件中 将输入和参数传给SVDFeautre执行,获得推荐结果 3. SVDFeature算法运行与结果分析 实验-离线Pycharm data:数据集目录 - ml-100k:MovieLens 100K的数据集 - make.sh :下载数据集的脚本 src :源码包 - svdfeature_info.py : 算法主程序 tool : 工具包 - svdfeature-1.2.2: SVDFeature工具包 - svdfeature用户手册 工程目录结构: 3. SVDFeature算法运行与结果分析 写SVDFeature配置文
22、件: 3. SVDFeature算法运行与结果分析 实验-离线Pycharm 生成用户和物品的辅助信息向量: 3. SVDFeature算法运行与结果分析 实验-离线Pycharm 写训练集文件: 3. SVDFeature算法运行与结果分析 实验-离线Pycharm 写测试集文件: 3. SVDFeature算法运行与结果分析 实验-离线Pycharm 使用os包的方法去运行SVDFeature的工具包 3. SVDFeature算法运行与结果分析 实验-离线Pycharm 数据集及评价指标 数据集:MovieLen-100K数据集(以下简称ML-100K)是由明尼苏达大学的GroupLen
23、s Research Project收集而来的。数据集总共有100000个1到5的评分,943个用户,1682部 电影。同时每个用户至少评分过20部电影,而且还有用户的人口统计学信息(年龄、 性别、职业等)。 评价指标:RMSE(均方根误差) 其中 代表原始值, 代表预测值。 ,obs i X mod,el i X 3. SVDFeature算法运行与结果分析 数据预处理 右图是训练集的部分截图: 这个格式是按照SVDFeature要求的格式生成的。 以第一行举例: 评分 全 局 特 征 个 数 用 户 特 征 个 数 物 品 特 征 个 数 用户的4个特征及权重 物品的2个特征及权重 3.
24、SVDFeature算法运行与结果分析 结果分析 左图显示了ML-100K数据集上,side information的权重对于RMSE的影响 我们分别使用0.01, 0.05, 0.1, 0.5, 0.9, 1 进行对比实验 可以看到,当side information权重过小以及权重过大时的效果没有适中的权重好。 当alpha=0.5时,RMSE得到最好结果为0.9109。 3. SVDFeature算法运行与结果分析 左 图 显 示 矩 阵 分 解 模 型 的 不 同 embedding size 大小对推荐结果的影响 过小的 embedding size表达能力不够, 过大的embedd
25、ing size又会过拟合。 可以看到,当embedding size从20增加到300时,效果是最好的。但是再继续增大效 果会变差。 3. SVDFeature算法运行与结果分析 结果分析 1. 基于矩阵分解的推荐算法 2. FISM(FISM-Factored Item Similarity Methods) 3. DICF(Deep Item-based Collaborative Filtering for Top-N Recommendation) 目 录 01 02 03 03 FISM算法简介 FISM算法模型 FISM算法运行与结果分析 在现实场景中,用户通常仅向数千或数百万件
26、物品中的少数物品提供反馈(评级或 评论)。这导致用户项目评级矩阵变得非常稀疏。现有的top-N推荐方法的有效性 随着数据集稀疏性的增加而降低。 基于矩阵分解的方法通过将数据投影到低维空间来缓解该问题,从而隐含地学习 user和item之间的更好关系。 背景介绍 针对数据稀疏的问题,矩阵分解的方法很有效 1. FISM算法简介 FISM(Factored Item Similarity Methods)通过在较小维度的潜在空间中映射值来学习 相似性矩阵,隐含地学习item之间的传递关系。因此,在稀疏数据上,FISM模型 能取得较优的效果,因为它可以学习没有被共同评分的item之间的关系。 Kab
27、bur S , Karypis G . FISM : Factored Item Similarity Models for Top-N Recommender SystemsC/ Acm Sigkdd International Conference on Knowledge Discovery & Data Mining. ACM, 2013. FISM算法相比于一般的矩阵分解算法,更能挖掘物品之间潜在的相似度 1. FISM算法简介 背景介绍 X. Ning and G. Karypis. Slim: Sparse linear methods for top-n recommender
28、 systems. In Data Mining (ICDM), 2011 IEEE 11th International Conference on, pages 497-506. IEEE, 2011. M. Deshpande and G. Karypis. Item-based top-n recommendation algorithms. ACM Transactions on Information Systems (TOIS), 22(1):143177, 2004. 针对推荐系统中数据稀疏性这一问题,现已提出了一些效果较优的算法,例如, Item-KNN, SLIM。 但It
29、em-KNN, SLIM这些方法依赖于用户共同评价过的物品之间的相似性,无法捕 获用户没有共同评价的物品之间的依赖关系。但是,两个item可以通过与它们两者 相似的另一个item(传递关系)彼此相似。 FISM通过在较小维度的潜在空间中映射值来学习相似性矩阵,隐含地学习item之 间的传递关系。(FISM使用了另一个方法更好地学习相似度矩阵) 算法选型 1. FISM算法简介 目 录 0101 02 03 FISM算法简介 FISM算法模型 FISM算法运行与结果分析 (1) 2. FISM算法模型 2. FISM算法模型 (2) (3) FISMrmse 在FISMrmse中,矩阵P和Q可通
30、过如下最小正则化优化函数求解: FISMrmse的模型为: 2. FISM算法模型 在FISMauc中,矩阵P和Q可通过如下最小正则化优化函数求解: FISMauc的模型为: 那么对于整个评分矩阵而言,排序误差损失函数为: (5) (7) FISMauc (6) 2. FISM算法模型 最小化损失函数L,就能以最小的扰动完成对原始评分矩阵的分解。 2. FISM算法模型 目 录 0101 02 02 FISM算法简介 FISM算法模型 FISM算法运行与结果分析03 MovieLens 是一份被广泛使用于验证 CF 算法表现效果电影评分数据集。 MovieLens 具有多个版本,在实验中我们选
31、择含有大约 10W 条交互记录的版本 ML-100k。在这个版本的 MovieLens 数据集中,每个用户至少有 20 条交互记录。 Netflix 数据集是从Netflix Prize数据集中提取的数据的子集。 Yahoo Music数据集是从Yahoo获得的数据的子集,该数据集是一个快照,收集了音 乐社区对各种音乐艺术家的偏好。 数据集 3. FISM算法运行与结果分析 评价指标 3. FISM算法运行与结果分析 实验-在线AI studio 在AI-studio中创建项目FISM导入数据集 3. FISM算法运行与结果分析 导入相关工具包 3. FISM算法运行与结果分析 实验-在线AI
32、 studio 导入相关工具 包 定义数据类 3. FISM算法运行与结果分析 实验-在线AI studio 定义网络层 3. FISM算法运行与结果分析 实验-在线AI studio 定义训练函数定义评价函数 3. FISM算法运行与结果分析 实验-在线AI studio 创建并训练模型,进行预测得到评估结果。 3. FISM算法运行与结果分析 实验-在线AI studio 迭代199次后的实 验结果 3. FISM算法运行与结果分析 实验-在线AI studio 实验离线PyCharm(核心代码) #data.csv实验数据 #Data.py导入数据 #model.py算法代码 3. FI
33、SM算法运行与结果分析 计算损失函数 定义嵌入层 3. FISM算法运行与结果分析 实验离线PyCharm(核心代码) 实验-参数的影响 在该算法中,我们对归一化常 数()的不同值进行了完整的参数 研究,其中保持其余参数不变。 FISMrmse和FISMauc方法的结果如 图1所示。从结果中我们可以看出, 当的值在0.4到0.5的范围内时,获 得了最佳性能。 3. FISM算法运行与结果分析 图2显示了随着稀疏矩阵S密度的变 化FISM的性能的变化趋势,从图中可 看出,在密度为0.1到0.15的范围内, 推荐性能只会有极小的降低,与此同 时,为每个用户计算推荐所需的平均 时间大大减少。 3.
34、FISM算法运行与结果分析 实验-参数的影响 表1:各个算法的性能比较 实验结果 3. FISM算法运行与结果分析 表1显示了FISM与其他几个较优算法在top-N推荐任务中的总体性能的对比结果, 实验结果表明,FISM在所有数据集上的性能优于所有其他算法。在大部分数据集上 ,FISM对性能仅次于它的方案所做的改进是相当可观的。在这两个损失函数方面, RMSE损失(FISMrmse)的性能优于AUC损失(FISMauc)。 3. FISM算法运行与结果分析 实验结果 1. 基于矩阵分解的推荐算法 2. FISM(FISM-Factored Item Similarity Methods) 3.
35、 DICF(Deep Item-based Collaborative Filtering for Top-N Recommendation) 4. DICF算法 背景介绍 Item-based CF(基于物品的协同过滤)算法由于其有效性和可解释性被广泛运用于业 界构建推荐系统,它的关键点在于物品间相似度的计算。下表简单介绍了相关的算法 : 方法方法主要思想和优缺点主要思想和优缺点 ItemKNN 思想思想:利用统计学方法(余弦相似度,Pearson相关系数等)从用户-物品交互矩阵 直接计算物品间的相似度。 优缺点优缺点:计算速度快,但是缺乏定制优化目标函数导致推荐效果不好。 SLIM 思想思
36、想:通过构建目标函数学习物品-物品相似度矩阵S。 优缺点优缺点:在一定程度上提高推荐准确度,但是速度慢并且仍旧不能解决 ItemKNN遗留的问题:无法捕捉物品和物品间的传递关系。 FISM 思想思想:利用MF思想,分解 S=PQ,优化更新P、Q矩阵计算相似度矩阵S。 优点优点:通过构造目标函数优化P、Q矩阵。提高了推荐效果,成功解决 ItemKNN和SLIM遗留的问题。 4. DICF算法 算法选型 FISM模型具有其局限性: 1. FISM简单地使用线性函数(即内积)建模物品和物品间的低阶交互关系 (second-order interactions),即相似度;然而在现实中物品和物品之间存
37、 在着非常复杂的高阶交互关系(higher-order interactions),FISM忽略了物 品间这些复杂关系; 2. FISM简单地认为用户所有的历史交互物品对模型最终预测的贡献程度是 一样的。 1:Xue, Feng, He, Xiangnan, Wang, Xiang, et al. Deep Item-based Collaborative Filtering for Top-N RecommendationJ. 2018. 4. DICF算法 模型描述 DICF模型图: 4. DICF算法 模型描述 DICF模型图分析: 输入层:分别是用户u的Multi-hot表示和目标物品
38、i的One-hot表示; Embedding层:根据用户u的所有历史交互物品的编号和目标物品i的编号获得对应的embedding 表示; Pairwise Interaction层:分别将用户的历史交互物品和目标物品i的embeddings进行element-wise product操作; 池化层:将Pairwise Interaction层得到的所有embedding进行average pooling操作。 隐藏层:将池化层的输出embedding作为隐藏层的输入,依靠后续的隐藏层自动学习出item- item交互函数。 输出层:将输出层输出的预测值通过sigmoid函数进行(0,1)区间压
39、缩,获得用户对该目标物品 的感兴趣程度。 l 基于DNNs从user-item交互数据中学习出物品间潜在的高阶非线性item-item交互函 数 4. DICF算法 模型描述 DICF模型基于二阶相关性自动学习来自用户 - 项交互数据的项之间的高阶相关性。下 面是模型的预测公式: 1 1 2212212 11 (,)() ( )() ()() uu uijuij j Rij Ri T T LLLLLLL T uiLui RR a a rbb zp qpq zzW zb zzW zb h z 式中的a表示的是隐藏层使用的激活函数,在实验中我们选择ReLU作为激活函数。 DICF是面向隐式反馈的模
40、型,所以对于输出层输出的预测值,会通过sigmoid函数进 行(0,1)区间的压缩 4. DICF算法 模型描述 针对FISM模型的局限之二,我们引入Attention机制,以来区分用户不同的历史交互物 品对模型最终预测的贡献程度。我们将这个优化模型称为DICF + a;其预测公式如下 : 1 1 2212212 11 (,)() ( )() ()() uu uijuiijj j Rij Ri T T LLLLLLL T uiLui RRa a a rbb zp qpq zzW zb zzW zb h z 对于目标物品i和用户u的某一历史交互物品j之间的Attention权重aij的计算方式采
41、用了文献1提出 的方法。 () () T ij T ij u ReLU ij ReLU j Ri e a e hWpqb hWpqb 1 He X, He Z, Song J, et al. NAIS: Neural Attentive Item Similarity Model for RecommendationJ. 4. DICF算法 模型描述 引入Attention的DICF + a模型如下图所示: 4. DICF算法 MovieLens是一份被广泛使用于验证 CF 算法表现效果电影评分数据集。MovieLens 具有多个版本,在实验中我们选择含有大约 1000W 条交互记录的版本ML
42、-10M。 在这个版本的 MovieLens 数据集中,包含72,000个用户对于10,000部电影,进行了 1000万个评级和100,000个标签 数据集地址:/datasets/movielens/ Pinterest是世界上最大的图片社交分享网站。网站允许用户创建和管理主题图片集 合,例如事件、兴趣和爱好。 实验-数据集 Dataset#Interactions#Users#ItemsDensity MovieLens1,000,2093,7066,0404.47% Pinterest1,500,8099,91655,1870.27% 4. DIC
43、F算法 目标函数: 实验-配置 2 ( , )( , ) 1 ( ()(1() uiuj u iRu jR logrlogr N L 评价指标:HR,NDCG;值越大,代表模型效果越好; HR:推荐列表中用户喜欢的物品所占的比例。针对单个用户u的推荐准确率; NDCG:Normalized Discounted Cumulative Gain(NDCG)是一种衡量推荐列表质量的指 标,设计这个指标的初衷是在产生的推荐列表中越相关的物品其位置应该更靠前。 Baselines:ItemPop, ItemKNN, FISM, BPR, eALS和MLP User-based CFItem-based
44、 CF 4. DICF算法 实验-工程介绍 Batch_gen.py # 生成小批量数据 Dataset.py # 生成训练、测试数据 DeepFISM.py # 构建模型 DeepNAIS.py # 构架模型 Evaluate.py # 评估模型 Evaluate2.py # 评估模型 Dataset.py Batchgen.py DeepNAIS.py infer.py 载入数据 构建模型 测试 训练模型 DeepFISM.py 4. DICF算法 实验-核心代码 根据id分别获得用户历 史和物品所对应的向量 获取偏置 计算系数 深度网络 4. DICF算法 实验-核心代码 4. DICF
45、算法 DICF模型和其他baseline在两个数据集上的对比: 实验-结果分析 DatasetMovieLensPinterest MethodsHRNDCGp-ValueHRNDCGp-Value ItemPop0.45580.2556-0.27420.1410- ItemKNN0.63000.3341-0.75650.5207- MLP0.68410.41034.1e-50.86480.53851.7e-2 BPR0.66740.39072.3e-30.86280.54063.5e-3 eALS0.66890.39777.3e-30.87550.54491.3e-2 FISM0.66850
46、.39542.2e-20.87630.55294.2e-2 DICF0.68810.41137.0e-60.88060.56311.6e-5 DICF+a0.70840.43806.2e-50.88350.56666.8e-4 Embedding size = 16 Learning-based methods Heuristic-based methods 从表中的实验结果 可以看出,DICF 和DICF+a模型在 两份公开的数据集 上均取得了最优表 现 此外,Learning-based方法的效果会明显优于启发式方法(ItemPop, ItemKNN); 在基准方法中,user-based
47、模型和item-based模型没有绝对的优胜者,在MovieLens数据集上,user- based方法会好于item-based方法;而在Pinterest数据集上,item-based方法会好于user-based方法。 4. DICF算法 DICF模型在两份数据集上HR和NDCG前50次epoch的趋势图: 实验-结果分析 Embedding size = 16 对于两个DICF模型,我们使用了收敛 时的FISM模型的item embedding对 DICF模型对应的item embedding进行 了Pre-training操作; 从实验结果可以看出,第一次epoch两 个DICF模型
48、的效果会远远好于FISM模 型的效果,收敛速度快,随着迭代次 数的增加,模型效果逐渐上升; 从这里,再次证明了Pre-training的重 要性。 4. DICF算法 引入Attention的DICF + a模型思路的合理性验证: 实验-数据集 MovieLens Sampled Users#268#1188 Target Items#836#1525#323#806#39#1356#1549#918#362#2222 0.510.520.560.800.700.640.520.700.620.67 70.610.530.310.370.480.420.57 Pinterest Sampled Users#268#1188 Target Items#346#497#2441#3779#3782#6092#6769#6802#6803#6809 0.320.660.410.340.720.490.520.170.630.69 0.180.620.220.300.680.390.500.100.390.59 ( ) ui r DICF+a ( ) ui r DICF ( ) ui r DICF+a ( ) ui r DICF 因此,在预测一个用户对一个物品的感兴趣程度, 这个用户所有的历
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 押金合同范本应用指南
- 通信槽探施工合同
- 电力设施建设招投标诚信承诺书
- 产业园环境卫生管理协议
- 环保工程设备安全评估工程队合同
- 环保工程建设项目合同样本
- 市场代理权转让合同
- 垃圾处理灰工施工合同
- 商务租车服务合同
- 建筑装饰电焊工程协议
- 2024至2030年中国方形保鲜盒数据监测研究报告
- 北京市海淀区2024-2025学年高三第一学期期中练习语文试卷含答案
- 江苏省徐州市铜山区2023-2024学年九年级上学期期中英语试卷(含答案解析)
- 大数据处理服务合同
- 天津市河西区2023-2024学年九年级上学期期中英语试题
- 8.3 法治社会 课件高中政治统编版必修三政治与法治
- 河北省唐山市滦南县2024-2025学年七年级上学期10月期中数学试题
- 第八课 法治中国建设 课件高考政治一轮复习统编版必修三政治与法治
- 刘润年度演讲2024
- GB/T 44653-2024六氟化硫(SF6)气体的现场循环再利用导则
- GB/T 44540-2024精细陶瓷陶瓷管材或环材弹性模量和弯曲强度的测定缺口环法
评论
0/150
提交评论