社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

推荐系统遇上深度学习(八十九)-推荐系统中的反馈循环

小小挖掘机 • 3 年前 • 556 次点击  

本文介绍的论文题目为:《Feedback Loop and Bias Amplification in Recommender Systems》
下载地址为:https://arxiv.org/pdf/2007.13019.pdf

1、背景

推荐算法使用用户和物品的历史交互数据进行学习,并产生个性化的推荐结果,但个性化推荐结果中存在一定的偏置,偏置主要来自于两方面:

1)输入数据中的偏置,热门物品占据了大部分的数据,而大多数的长尾物品没有用户的交互信息。下图显示了movielens数据中物品的分布情况:


2)推荐算法会进一步加剧这种数据分布中的偏置,由于算法更多的学习到热门物品的信息,会将这些热门物品不断进行推荐,甚至推荐给可能对此不太感兴趣的用户

随着时间的推移,推荐算法将热门物品更多的推荐给用户,并不断收集用户对于热门物品的反馈信息并加入到训练集中,使得数据分布更为不平衡;随后再使用这批数据进行训练,再推荐物品给用户,这会导致推荐结果越来越集中在热门物品中。这种现象我们也称为反馈循环(feedback loop)。

反馈循环的存在,除了会使得推荐结果更为集中在热门物品之外,还会不断改变用户的偏好表征,使得推荐算法越来越难以捕获用户真正的偏好。

接下来,通过实验来进一步说明反馈循环所带来的推荐结果的变化情况。

2、实验分析

这里,论文通过MovieLens 1M数据,首先对数据进行简短的说明。在这份数据中,包含4331名男性用户75w的数据和1709明女性用户的24w的数据。数据集的密度为4.468%(有评分的数据的占比)。

同时,论文通过UserKNN(user-based collaborative filtering)、BPR(bayesian personalized ranking)、基于热度的推荐三种方法进行实验。

论文首先验证了由于反馈循环的存在,推荐结果不断集中的现象,下图中左图代表了随着迭代轮次的增加,推荐列表中物品的平均受欢迎程度(对于该物品有评分的用户的占比),而右图代表了随着迭代轮次的增加,至少出现在推荐列表中一次的物品的占比。可以看到,随着迭代的不断进行,推荐物品的流行程度越来越高,推荐结果更多的集中在小部分的物品中:


上文提到,反馈循环会不断改变用户的偏好表征,使得推荐算法越来越难以捕获用户真正的偏好。下图左图代表了随着迭代的进行,用户打分分布(在不同类型的电影上的打分分布)与最初的打分分布的KL散度,KL散度越大,用户打分分布与最初打分分布的差异越大。可以看到,随着迭代的进行,用户的打分分布与初始打分分布差异越来愈大,推荐系统越来越难以挖掘用户的真正兴趣偏好。

下图中右图代表了不同性别的用户的打分分布的KL散度,可以看到,随着迭代的进行,男性用户和女性用户的打分分布逐渐趋同。

进一步,下图左图代表随着迭代轮次的增加,男性用户和女性用户的打分分布和所有用户初始的打分分布的KL的散度,可以看到,女性用户的打分分布与所有用户的初始打分分布的KL散度越来越小,而男性用户则缓慢增加。右图代表了随着迭代轮次的增加,不同性别的用户的打分分布与该性别用户的初始打分分布的KL散度,可以看到,女性用户的KL散度增加明显高于男性用户。由于男性用户占所有用户的大多数,因此可以说,用户数量较小的类别,其打分分布更容易受到反馈循环的影响。

3、反馈循环的缓解

周国睿老师在其文章:推荐系统走向下一阶段最重要的三个问题中对这一问题作了简要的解答,这里直接进行引用:

可能有同学会觉得这就是一个简单的系统需要explore问题。然而推荐系统涉及到商业价值,explore变得不是这么简单。我们需要:1. 衡量explore带来的收益和成本 2. 高效的explore方法。1和2在学术界都有非常多的研究,但是在一个快速迭代的工业系统中,这两个问题变得相当艰难。这要求我们必须在很短的周期内explore产生收益并可以衡量explore的效果,不然就得拥抱系统的变化,很多时候可能还得拥抱人事组织的变化 : )

周国睿,公众号:小小挖掘机推荐系统走向下一阶段最重要的三个问题


好了,本文就介绍到这里了,感兴趣的同学可以找到原文,进行进一步的阅读和理解。

推荐系统遇上深度学习(八十八)-[微信]充分利用显式&隐式反馈的深度反馈网络

2020-08-01

推荐系统遇上深度学习(八十七)-[阿里]基于搜索的用户终身行为序列建模

2020-07-19

推荐系统遇上深度学习(八十六)-[腾讯&微博]GateNet:使用门机制提升点击率预估效果

2020-07-11

推荐系统遇上深度学习(八十五)-[阿里]长用户行为序列建模探索:MIMN

2020-06-14

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/72217
 
556 次点击