导语:本系列文章一共有三篇,分别是
《科普篇 | 推荐系统之矩阵分解模型》
《原理篇 | 推荐系统之矩阵分解模型》
《实践篇 | 推荐系统之矩阵分解模型》
第一篇用一个具体的例子介绍了MF是如何做推荐的。第二篇讲的是MF的数学原理,包括MF模型的目标函数和求解公式的推导等。第三篇回归现实,讲述MF算法在图文推荐中的应用实践。三篇文章由浅入深,各有侧重,希望可以帮助到大家。下文是第一篇——《科普篇 | 推荐系统之矩阵分解模型》,第二篇和第三篇将于后续发布,敬请期待。
矩阵分解(Matrix Factorization, MF)是推荐系统领域里的一种经典且应用广泛的算法。在基于用户行为的推荐算法里,矩阵分解算法是效果最好方法之一,曾在推荐比赛中大放异彩,成就了不少冠军队伍。推荐算法发展至今,MF虽然已经比不过各种CTR模型和深度CTR模型,但是它依然在推荐系统中发挥着重要作用,在召回系统和特征工程中,都可以看到它的成功应用。本文是MF系列中的第一篇,用一个简单的例子讲解了MF是如何做推荐的,旨在科普。
推荐系统要做的事情是为每个用户找到其感兴趣的item推荐给他,做到千人千面。下面以音乐推荐为例,讲述矩阵分解是如何为用户找到感兴趣的item的。
1.1 收集数据,构造评分矩阵
矩阵分解算法是基于用户行为的算法,为此我们需要先获取用户的历史行为数据,然后以此为依据去预测用户可能感兴趣的item。下面的图1是我们收集到的用户行为。
图1
如图1所示,我们用一个矩阵来表示收集到的用户行为数据,这个数据集一共有24个用户,9首歌曲。矩阵中第i 行第j 列的数字代表第i 个用户对第j 首歌曲的播放行为,1代表有播放,空白代表无播放(一般用0表示)。比如,用户1播放过“成都”、“董小姐”,用户8播放过“洗白白”和“抓泥鳅”。我们把这个矩阵称为评分矩阵。这里所说的评分不是用户的显式打分,而是指用户是否有播放。用户行为数据有一个特点,就是一个用户的兴趣通常只会分布在少数几个类别上,像这里的用户1到用户7只喜欢民谣歌曲,用户8到用户14只喜欢儿歌,用户15到21只喜欢草原