【51CTO.com原创稿件】推荐系统是互联网行业中随处可见的产品形态。从今日头条到抖音都有推荐系统的影子。可以说推荐系统已经完全融入了我们的生活之中。然而推荐系统本身有些难以解决的痼疾,例如推荐系统中的马太效应和稀疏性问题。所谓推荐系统的马太效应,是指推荐系统的物品输入分布通常表现为马太效应的形式,从而影响推荐系统的计算性能和推荐效果。
工业界对于推荐系统的马太效应的问题有着丰富的经验,然而见著学术会议和期刊的内容少之又少。仅有的少量的公开资料都是 2017 年以后在 RecSys, ICCCBDA, SIGIR 等会议的论文。本文向大家介绍 2020 年国际学术会议 ICBDT 2020 的一篇论文 MatRec : Matrix Factorization for Highly Skewed Dataset. 本文是世界上第一批提出解决马太效应问题的矩阵分解算法,因为其独到的见解获得了 ICBDT 2020 的最佳论文报告奖。因为马太效应和算法公平性有着千丝万缕的联系,MatRec 也是世界上首批基于公平性的推荐系统算法。
在解决推荐系统马太效应的时候,我们面临的第一个问题就是如何对推荐系统的马太效应进行建模。对马太效应建模的最经典也是最简单的概率统计分布是齐夫分布 (Zipf’s Distribution) , 也就是热度排名第 i 位的物品出现的概率为 1/i。所以热度特别高的物品出现的比率特别高,而热度特别低的物品出现的比率特别低。从马太效应的经典模型中,我们了解到,影响推荐系统马太效应的主要变量是用户的热度排名 user rank 和物品的热度排名 item rank,因此我们对矩阵分解模型修正如下:
而矩阵分解的整体求解框架保持不变,为如下形式:
MatRec 的基本思路是在矩阵分解的用户特征向量和物品特征向量中分别加入了用户热度排名和物品排名变量,然后用随机梯度下降进行问题求解。
MatRec 算法思路简单,并且实现难度不高,同时性能上可以与主流的经典算法看齐。在与 ALS、BPR-MF、Deep Matrix Factorization 等算法进行对比的过程中,综合性能出众。
当在 LastFM 数据集合上进行测试时,ALS 的最优 MAE 为 0.05, MatRec 的最优 MAE 为 0.1771,BPR-MF 的 MAE 为 0.2+;当在 MovieLens 数据集合上进行测试时,ALS 的 MAE > 0.94,MatRec 的最优 MAE 为 0.8618,而 Deep Matrix Factorization 的 MAE 在 0.82 - 0.83,然而 Deep Matrix Factorization 的速度要比 MatRec 慢几个数量级。
推荐系统的马太效应和公平性近年来获得了越来越多的关注。中国政府也在今年成立了人工智能伦理委员会,说明世界上已经有越来越多的人意识到了人工智能算法带来的各种社会问题。随着越来越多的人加入到人工智能伦理的研究行列,人工智能带来的各种社会问题也一定会消失在萌芽阶段。技术和人文是相伴相生、相互促进的关系,人工智能会给社会法制和哲学带来怎样的变革,让我们拭目以待。
本文介绍的 MatRec 算法链接:https://arxiv.org/pdf/2011.04395.pdf
作者介绍
汪昊,技术总监/架构师,美国犹他大学本科/硕士,对外经贸大学在职MBA。曾在百度,新浪,网易,豆瓣等公司有多年的研发和技术管理经验,擅长机器学习,大数据,推荐系统,社交网络分析等技术。在 TVCG 和 ASONAM 等国际会议和期刊发表论文 11 篇。国际学术会议 IEEE SMI 2008 和 ICBDT 2020 最佳论文奖。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】