[啊啊啊啊啊]推荐系统--论文总结(未完待更新)

总结一下近一年看来过的论文,主要聚焦推荐系统

自从去年入学以来,零零散散,时而仔细,时而粗略看过了30篇论关于推荐系统的论文。稍微做一个简单的总结,这些论文大多发表在国际顶级会议或则期刊例如KDD,SIGIR,AAAI等,每一篇论文都可以单独出一条博客,细致讲一下作者提出模型,方法,作者想要解决的问题以及不足和未来工作。我就只稍微讲一下每篇论文的核心部分。

推荐系统综述

首先我们要明确什么是推荐系统。目前处于一个大数据的时代,数据或则信息过载的现象日益演唱,而推荐系统正是为了更好的利用这些数据,过滤掉一些用户不需要的,找出用户真正想要的信息。推荐系统广泛的运用于电商(淘宝),在线视频(Netfilx,tiktok),新闻(今日头条)等其他各类应用之中。推荐系统旨在向用户推荐真正喜欢的项目,帮助用户筛选信息。下面讲一下推荐系统的常见方法(基础版),推荐系统的常见评价指标以及目前所遇到的那些问题。

常见算法

  1. 基于内容的推荐
    这一推荐策略是首先提取推荐对象的内容特征,并和用户模型中的用户兴趣匹配。匹配度较高的对象就可以作为推荐结果推荐给用户。计算推荐对象的内容特征和用户模型中兴趣特征两者之间的相似性是内容推荐策略中的关键步骤。一般采用的最简单的方法为计算两个向量的夹角余弦值。基于内容的推荐策略的主要部分就是用户特征的描述以及推荐对象内容特征的提取。
    基于内容的推荐系统
    在上图中商品A和商品C具有相同的特征A和B,因此认为商品A和商品C是相似的。把商品C推荐给喜欢商品A的用户A。
  2. 协同过滤
    协同过滤可以说是推荐系统中最经典和影响最深远的算法。协同就是协同大家的评论,反馈和喜好,过滤就是从海量信息中进行。协同过滤算法一般只依靠用户和项目之间的交互矩阵,而不向上面的算法需要提取商品的特征信息。协同过滤算法,分为基于用户的协同过滤算法和基于项目的协同过滤算法,具体来说就是基于用户就是从交互关系中找用户间的相似性,同理基于项目的协同过滤算法,就是寻找项目之间的相关性。
    基于项目之间的协同过滤
    用户A和用户B都喜欢物品1和物品3,因此判定物品1和物品3是相似的,将物品3推荐给喜欢物品1的用户C。
    基于用户的系统过滤
    用户A和用户B都喜欢物品1和物品3,因此认为用户A和用户B是相似用户。于是将用户A也喜欢的物品2推荐给用户B。
  3. 基于深度学习的推荐系统
    深度学习算法强大之处在于能够像人类一样学习并处理复杂问题,面对规模复杂的数据能从多种维度来分析并计算线性或者非线性的特征序列,能从海量的数据中自动的学习符合用户需求的特征,其已经成功的应用在图象识别,语音识别、自然语言处理等领域且取得了良好的效果,越来越多的研究者也尝试将深度学习应用在推荐系统中,如何把深度学习技术与推荐技术有效的结合并深入研究已经成为了一个新的技术与推荐技术有效的结合并深入研究已经成为了一个新的研究方向。
    基于深度学习的推荐系统,除了非常经典的MLP(多层感知机),还有更复杂的CNN,注意力机制以及RNN等等。
    基于多层感知机模型的推荐模型
    这些基于深度学习的模型,常常把推荐问题看出是LR(逻辑回归)问题,或则多元分类问题,其中的处理流程和过去LR和多元分类的问题差不多,但缺乏可解释性,毕竟从很大程度上来说,深度学习是一个黑箱。
    还有很多基于深度学习的推荐系统就暂且跳过。
  4. 基于图神经网络的推荐系统
    图神经网络(Graph Neural Network,简称GNN)的推荐系统是近年来推荐系统领域的热点之一,它将图的结构信息和节点属性信息作为输入,通过神经网络的计算得到节点的特征表示。基于这些特征表示,可以实现更加准确和个性化的推荐,尤其适用于社交网络等复杂网络环境下的推荐场景。
    在基于图的推荐中,图通常由两部分组成:节点和边。节点表示推荐系统中的用户和物品,边则表示两个节点之间的关系。例如,在基于社交网络的推荐场景中,一个用户的好友列表就可以看作是边的集合,两个用户之间是否在好友列表中则可以看作是连边的权重。GNN基于局部信息聚合的思想,在每一层通过节点的邻居节点信息对节点进行特征更新。通过不断迭代进行节点信息的聚合,最终得到节点的特征表示,可以作为推荐的依据。同时,由于图神经网络可以在处理节点时考虑到其周围节点的信息,因此它不仅可以很好地处理稀疏图的问题,也可以很好地处理新用户、新物品等冷启动问题。基于图神经网络的推荐系统还有一些具体算法和应用,例如基于图卷积神经网络(Graph Convolutional Network,GCN)的推荐、基于图注意力网络(Graph Attention Network,GAT)的推荐以及社交网络中的图推荐等等。这些算法和应用正在成为推荐系统领域的前沿热点,在实际应用中取得了良好的效果。
    基于图神经网络的推荐
    注意图神经网络,输入是图(graph),数据结构上定义的图包含节点和片,而不是图片(image)。

评价指标

推荐系统的评价指标,一般包括准确率(Precision),召回率(Recall),平均倒数排名(Mean Reciprocal Rank, MRR),以及最为重要的归一化折扣累计收益(Normalized Discounted Cumulative Gain,NDCG),以及AUC, ROC等等。

  1. 准确率(Precision)
    推荐给用户的物品中,属于测试集的比例,即推荐给用户的物品,有多少是用户真正感兴趣的。在机器学习中又称为查准率。例如给推荐了10个项目,用户感兴趣的只有其中的8个,则准备率为0.8.
  2. 召回率(Recall)
    描述有多少比例的用户-物品评分记录包含在最终的推荐列表中,即有多少用户喜欢的商品被推荐给了用户。在机器学习中又称为查全率。例如用户可能感兴趣的商品有10件,而你只向用户推荐了8件。则查全率为0.8.
  3. 平均倒数排名(Mean Reciprocal Rank, MRR)
    结果列表中,第一个结果匹配,分数为1,第二个匹配分数为0.5,第n个匹配分数为1/n,如果没有匹配的句子分数为0。最终的分数为所有得分之和,再求平均。这个指标越大代表推荐系统越好,可以想象一下在使用抖音的时候,假设抖音推荐系统向你推荐了20个项目,其中10个你真的喜欢,准确率为0.5,0.5的准确率在推荐系统中已经很高了。但很不幸,你喜欢的这10件物品都被放在了后面10项,那么前10个项目都是你不喜欢,你需要向上10下,才能找到你喜欢的,那对于很多用户来说,可能每这么多耐心刷10下。
  4. 归一化折扣累计收益(Normalized Discounted Cumulative Gain,NDCG)
    这个指标考虑到推荐序列的排序,而上述三项指标并没有考虑推荐序列的顺序。比如豆瓣给用户推荐了五部电影,M1,M2,M3,M4,M5得分依次是5,3,2,1,4。按照[M1,M5,M2,M3,M4]的序列进行推荐NDCG指数要好于[M1,M2,M3,M4,M5]。一般推荐系统分为召回和排序两个解读,召回就是找出你喜欢的物品,而排序就是根据你对这些物品的喜好程度进行排序,从而产生一个推荐序列给你。

存在问题

  1. 冷启动问题
    用户刚注册进入一个新平台,项目刚在平台上架。怎么对新商品和新用户进行推荐。例如用户刚注册Netflix的时候,往往会让你从它的视频库中选出3部你最喜欢的。
  2. 数据稀疏性问题
    大量用户与物品之间没有交互行为,导致很难发现用户的偏好。例如,在购物网站上,许多用户可能只访问了网站的某些页面,而没有进行购买。
  3. 准确性问题
    许多现有的推荐算法在处理大规模数据时难以得到准确的结果。
    4.偏差问题和公平性问题
    长尾问题,推荐系统泄露用户隐私,对不同群体之间的性能产生显著差异.所谓长尾问题可以粗略理解为传播学的二八定律,头部的20%的项目占据了80%曝光,而剩下的80%的项目只有了20%曝光。对于如何学习长尾项目是一个挑战。关于公平性问题,后面有一片论文会详细讲到。

Alleviating Cold-Start Problems in Recommendation through Pseudo-Labelling over Knowledge Graph

文章摘要

文章摘要

文章解决的问题

  1. 冷启动问题
  2. 对于推荐系统中的新用户和新项目,解决数据稀疏性问题是必要的。
  3. 大多将未观测到的样本视为负信号,会导致一定的偏差性问题。

文章提出的方案

这篇论文提出了基于GNN的知识图谱方法解决冷启动问题,该方法增加了伪标签做数据增强。这种方法使用了历史从未观察到的user和item作为正样本,补充到样本中。通过在知识图谱中为每个用户选择可能的正例,同时还进行了负采样策略,从而抑制偏差。通过实验证明该方法在各个场景下能显著提高冷启动user/item的推荐性能。
基于伪标签的半监督式学习:本文利用未观察到的用户目项对的高覆盖率来优化模型。通过预测未观察样本的标签来增加正负标签样本。
打伪标签
(1)在观察到的用户项目对上,基于图结构采样项目。对于可以通过元路径到达的项目(即基于用户在KG中交互的项目的路径),根据从观察样本中获得的知识为用户分配可靠的伪标签。
(2)负采样(将没有观察到的项目视为负样本,因此负采样更有可能选择冷启动项目),可以增强人们在实际环境中对受欢迎项目的偏见。

未来工作

文章没有提到未来工作

Quaternion-Based Knowledge Graph Network for Recommendation

文章摘要

文章摘要

文章所解决的问题

  1. 老生常谈的问题,冷启动的问题
  2. 数据稀疏性问题

文章提出的方法

  1. 使用四元数表达用户和项目
  2. 引入知识图谱
  3. 使用带有一定语义性的汉密尔顿乘积

文章framework

framework
1.将用户交互矩阵和知识图谱协同起来,产生一个协同知识图谱
2.分别对用户进行嵌入表达
3.然后进行偏好传播和聚合
4.得到最后的用户和项目的表达,再通过向量乘积计算Predicted score。

基 于 对 偶 四 元 数 的 协 同 知 识 图 谱 推 荐 模 型

文章摘要

摘要

问题

和上文类似,这篇文章是对上文的一些改进。利用对偶四元数可以对用户和项目进行更好的表达

方法

1.引入了对偶四元数
2. 采用莫比乌斯变换
3. 其他如上文

framework

framework
总体上来说,和上文非常类似,只是将上文的四元数换成了对偶四元数,以及为了表达知识图谱中复杂关系,引入了莫比乌斯变换。

未来工作

  1. 在用户侧,引入社交网络
  2. 考虑用户和商品交互的时序信息。

RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems

文章摘要

文章摘要

文章问题

1.为解决协调过滤的数据稀疏性和冷启动问题
2.更好的探索用户喜爱和偏好

方法

对于每个用户,RippleNet将其历史兴趣视为KG中的种子集,然后沿着KG链接迭代扩展用户兴趣,以发现其与候选项相关的层次潜在兴趣。
我们将偏好传播与雨滴在水面上传播所产生的实际涟漪进行类比,其中多个“涟漪”叠加在一起,形成用户对知识图的偏好分布。

RippNet
用户的偏好会像水波一样一层一层向外面传递

framework

frame
1.将用户的偏好,比喻成水波一层一层向外扩展
2.先嵌入,在聚合在传播。

未来工作

  1. 进一步研究表征实体关系交互
  2. 设计不均匀偏好传播过程中的采样器,以更好地探索用户的潜在利益并提高绩效。

To be continued

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值