商品相关推荐算法简介综述
1.1基于物品的协同过德
基于物品的协同过滤推荐算法通过分析用户的行为来计算用户的相似度。通
俗的说,是认为两个物品相似的依据是因为喜欢其中一个物品的用户也喜欢另
一个物品。实现这一算法通常分为三个步骤:
1)通过用户对物品的评分记录构建评分表。
2)通过评分表计算各个物品之间的相似度。
3)向用户推荐物品,并且要去掉用户已经评价过的商品。
为了直观表示用户对商品的喜好程度,基于物品的协同过滤推荐算法引入了
评分表。例如有P个用户和Q件物品,那么评分表是一个PxQ矩阵,第
m行,第n列的值是用户m对物品n的评分,若为空白,则表示用户对该物品
没有评分。评分表里的数据代表着用户的喜好程度,例如淘宝、亚马逊等电商网
站用星数表达用户对商品的喜爱程度,星星越多,评价越高。而包括抖音、快手
在内的短视频则用更加直白的“点赞〃和“踩〃来对视频做出评价。当然,在后
续的实际应用中,会把这些抽象的表达转换为数字,例如可以用1表示点赞,
用0表示厌恶。
图2-1展示了A、B、C用户对商品的喜爱情况。这些显式的评分比较直
观,来源于用户主观的评价。同时,我们也能从用户的行为中得到隐形的用户评
分。例如,当用户经常回购某件商品时,我们可以判断用户比较喜欢这一商品,
运用一些更加客观的计算方式得到用户对这一商品的喜好程度。
表2-1用户对物品的喜爱情况
abcd
A1110
B0111
CO011
通过用户评分表可以计算物品之间的相似度。假如某两个物品历史共同被许
多用户喜欢,则说明这两个物品是相似的。假设喜欢物品a的用户数为N(a),
喜欢物品b的用户数为N(b),那么a与b的相似度为:
巧^|W)nW)|2-1
ab~7|w)||w)|
获得各个物品之间的相似度以后可以结合用户的历史行为给用户推荐。根
据式(2-2)计算计算用户u对物品b的兴趣:
Pub=ZWabRua
妇v(〃)w,K)
以表2-1中的数据为例,各个商品之间的相似度情况如表2-2所示:
表2-2各个商品之间的相似度
bcd
a
a/0.710.580
b0.71/0.820.5
c0.580.82/0.82
d00.50.82/
如果某个用户对a的兴趣度为3,对b的兴趣度为1,那么预测他对c,d的
兴趣度为:c:3x0.58+1x0.82=2.56,而