现代企业通过分析用户的历史行为,构建智能的推荐引擎,为用户提供“相关职位发布”、“感兴趣的电影”、“推荐视频”、“可能认识的朋友”以及“购买此商品的用户还购买了”等个性化推荐。
推荐引擎,也称为推荐系统,是一种旨在通过从庞大的信息库中筛选出有用信息,为用户提供最相关和准确的项目。推荐引擎通过学习消费者的选择,发现数据集中的数据模式,并产生与他们的需求和兴趣相关的结果。
考虑一个电子商务网站,该网站销售数千部智能手机。随着每天客户数量的增长,任务是根据用户的品味和偏好向用户展示最佳选择的智能手机。
为了理解推荐引擎的工作原理,将数据切片成五个智能手机的样本集,这两个主要特征是“电池寿命”和“显示屏”。这五部智能手机具有以下属性:
使用这些特征,可以创建一个“项目-特征矩阵”。单元格中的值代表智能手机特征的评分,满分为1。
样本集还包括四个活跃用户及其偏好。
根据他们的兴趣,可以创建一个“用户-特征矩阵”。
基于内容的系统根据项目内容与用户档案的相似性比较推荐项目。项目的特征与用户的特征映射,以获得用户-项目相似性。顶部匹配对作为推荐,如下所示:
# 每个用户由特征向量表示:
# 每个项目也表示为特征向量:
# 内容基础
# 项目-用户映射推荐由以下方程给出:
MAX ( U(j)^T . I(i) ) i,j -> n,m
# 对于用户U1(Aman),智能手机推荐是:
MAX( U1^T S1, U1^T S2, U1^T S3, U1^T S4, U1^T S5 )
MAX([0.9 0.1]^T [0.9 0.1], [0.9 0.1]^T [1 0], [0.9 0.1]^T [0.99 0.01], [0.9 0.1]^T [0.1 0.9], [0.9 0.1]^T [0.01 0.99])
MAX(0.82 , 0.9 , 0.89 , 0.18 , 0.10) = S2(0.9), S3(0.89) & S1(0.82)
智能手机S2、S3和S1具有最高的推荐分数,因此S2、S3和S1被推荐给Aman。
基于内容的推荐无法检测到相互依赖或复杂行为。例如:人们可能只喜欢具有视网膜显示屏的智能手机,否则不会喜欢。
协同过滤算法考虑“用户行为”来推荐项目。它们利用其他用户的行为和项目在交易历史、评分、选择和购买信息方面。其他用户对项目的行为和偏好被用来向新用户推荐项目。在这种情况下,项目的特征是未知的。
有一个类似的“用户-特征矩阵”,但这次不知道项目的特征,但有用户行为。即用户如何购买/评价现有项目。
# 用户行为矩阵,其中行为矩阵的值可以描述为:
Bi,j = {r, 如果Uj给出了对Si的“r”评分?, 如果没有评分给出
# 使用此用户行为矩阵,可以推导出最受欢迎项目的未知特征。让尝试使用此行为矩阵推导出S1的特征。
# S1被U1评为5分
# S1被U2评为4.5分
# U3和U4对S1的评分未知
# 使用这些信息,S1的特征向量可以假设为:
S1 : [x1 x2]
# 方程是:
U1^T S1 = 5
U2^T S1 = 4.5
[0.9 0.1]^T [x1 x2] = 5
[0.8 0.2]^T [x1 x2] = 4.5
0.9 * x1 + 0.1 * x2 = 5
0.8 * x1 + 0.1 * x2 = 4.5
解这些方程,得到x1 = 5.5和x2 = 0.5
S1 = [5.5 0.5]
MAX(U1^T S1, U1^T S2, U1^T S3, U1^T S4, U1^T S5)
MAX([0.9 0.1]^T [5.5 0.5], [0.9 0.1]^T [5.5 0], [0.9 0.1]^T [5 0], [0.9 0.1]^T [0.5 5.5], [0.9 0.1]^T [2.7 5.25])
MAX(5, 4.99, 4.95, 1, 2.9) > S1, S2和S3