利用数据分析量化协同过滤算法的两大常见难题

作者: 汪昊 2019-05-05 09:00:00

【51CTO.com原创稿件】推荐系统自从问世以来解决了许多不同的商业产品问题,深受广大互联网从业者的喜爱。传统的互联网电商公司像阿里巴巴和京东已经把推荐系统当成了自己的核心技术资产之一,而新兴的互联网产品像今日头条和抖音,也早已把推荐系统作为了自己的技术立足之本。然而伴随着推荐系统的蓬勃发展,一些推荐系统在技术上的挑战和困难却总是挥之不去。

在优化算法的过程中,工程师总是强调分析数据进一步提高算法性能。但是对于一些老大难问题怎样分析数据,业内目前还没有一些较为全面和体系化的方法论。2018年在成都举行的 ICCCBDA 2018 会议刊登了一篇题为 Quantitative Analysis of Matthew Effect and Sparsity Problem in Recommender Systems 的论文,尝试着精准量化协同过滤算法中的两个常见难题:马太效应和稀疏性问题。

协同过滤是推荐系统最基本的方法。虽然如今推荐系统已经是深度学习的各种算法像 DeepFM 等的天下,但是一些基本的推荐系统的方法仍然是被用作 baseline 的工具。并且在一些并不具备深度学习能力的企业,协同过滤仍然是流行的算法。

协同过滤面临的两个主要挑战,一个是马太效应,另一个是数据稀疏性问题。马太效应是指在协同过滤的相似性计算中与某个物品相似的物品数量极大,导致这个物品对所有的物品都有影响。另外马太效应会导致数据分布不均衡,直接造成在 MapReduce 计算的过程中效率低下。而数据稀疏性问题指的是有的用户对应的物品过少或者有的物品对应的用户过少,导致算法的计算结果覆盖率很低。研究界和工业界针对这两个问题提出了很多不同的算法意图解决相应问题。但是在 ICCCBDA 2018 的论文之前,并没有人明确的用数学公式对这两个问题进行量化,以方便数据分析和算法的进一步优化。

作者用相似度的期望值来衡量协同过滤中的马太效应,而用相似度计算中关联的用户/物品数来衡量协同过滤中的稀疏性问题。因为推荐系统的应用场景大部分是长尾物品,作者假设了物品的分布服从 Zipf’s Law,也就是热度排名第 i 位的物品的分布占比是 1/i。利用组合数学的方法,我们可以得到一系列的公式。推导过程论文中有详细的记载。最终的推导结果如下:

针对于基于用户的协同过滤的马太效应,我们有用户 A 和用户 B 的平均期望为:

针对基于物品的协同过滤的马太效应,我们有用户 A 和用户 B 的平均期望为:

针对基于用户的协同过滤的稀疏性问题,参与相似性计算的物品数量期望为:

针对基于物品的协同过滤的稀疏性问题,参与相似度计算的物品数量期望为:

作者随后进行了实验,对于推导的公式进行了验证:

上图显示的是基于物品的协同过滤的稀疏性在真实数据集合 LastFM 中的分布,与公式中的马太效应基本吻合。

本文的数学公式推导过程以及整个的数据分析思路并不复杂。主要贡献在于***提出了量化推荐系统马太效应和数据稀疏性的方法,使得系统化的解决这两个问题成为可能。

汪昊,区块链公司科学家,前恒昌利通大数据部负责人,美国犹他大学本科/硕士,在百度,新浪,网易,豆瓣等公司有多年的研发和技术管理经验,擅长机器学习,大数据,推荐系统,社交网络分析等技术。在 TVCG 和 ASONAM 等国际会议和期刊发表论文 10 篇。本科毕业论文获国际会议 IEEE SMI 2008 ***论文奖。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

数据分析 算法 推荐系统
上一篇:企业中的人工智能:8个神话被揭穿? 下一篇:分布式入门,怎样用PyTorch实现多GPU分布式训练
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

BAIR最新RL算法超越谷歌Dreamer,性能提升2.8倍

pixel-based RL 算法逆袭,BAIR 提出将对比学习与 RL 相结合的算法,其 sample-efficiency 匹敌 state-based RL。

Aravind Srinivas ·  3天前
机器学习算法集锦:从贝叶斯到深度学习及各自优缺点

本文筛选并简单介绍了一些最常见算法类别,还为每一个类别列出了一些实际的算法并简单介绍了它们的优缺点。

佚名 ·  2020-05-21 14:50:37
谷歌中国工程师提出颠覆性算法模型,Waymo实测可提高预测精准度

“周围的车辆和行人在接下来数秒中会做什么?”要实现安全的自动驾驶,这是一个必须回答的关键问题,这也就是自动驾驶领域中的行为预测问题。

DeepTech深科技 ·  2020-05-21 10:16:41
有了K均值聚类,为什么还需要DBSCAN聚类算法?

聚类分析是一种无监督学习法,它将数据点分离成若干个特定的群或组,使得在某种意义上同一组中的数据点具有相似的性质,不同组中的数据点具有不同的性质。

读芯术 ·  2020-05-13 15:57:59
边做边思考,谷歌大脑提出并发RL算法,机械臂抓取速度提高一倍

RL 算法通常假设,在获取观测值、计算动作并执行期间环境状态不发生变化。这一假设在仿真环境中很容易实现,然而在真实机器人控制当中并不成立,很可能导致控制策略运行缓慢甚至失效。

机器之心 ·  2020-05-12 10:43:30
神经网络之父Hinton再审视34年前的奠基性成果,欲在大脑中搜寻AI方法的“存在”

直到现在,几乎你听说过的每一个关于人工智能的进步,仍基于 30 年前的一篇阐述多层神经网络训练方法的论文演变而来。那就是 Geoffrey Hinton 在 1986 年写下的《Learning representations by back-propagation errors》。

黄珊 ·  2020-05-02 10:54:13
生成“猫狗版”特朗普,造假脸工具StarGANv2被玩坏,算法已开源

如果你想用AI把特朗普的脸变成猫,又或者是把自己的脸与漂亮的奥妹结合起来,你会怎么办?也许你会想到两样AI工具。但是Deepfake生成人脸违和感太强,GAN生成假脸又很难深度定制。

晓查 ·  2020-04-28 13:34:53
Science子刊:人脑存在加速学习机制,算力赛过最新AI算法

机器学习虽然受人脑启发,但实验神经科学和ML两个学科已经70年没有沟通。以色列交叉学科团队发现,人脑存在加速学习适应机制,新机制人工神经网络计算能力远超最新AI算法。

佚名 ·  2020-04-24 12:50:50
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载