商品推荐系统浅析
京东科技开发者
共 8067字,需浏览 17分钟
·
2023-08-22 22:47
2.1 推荐系统的定义
2.2 推荐架构
2.3.1 多路召回的优劣
2.3.2 召回分类
-
标签召回:用户感兴趣的品类、品牌、店铺召回等 -
地域召回:根据用户的地域召回地域内的优质商品。
商品a |
商品b | 商品c | 商品d | |
用户A |
1 |
0 |
0 | 1 |
用户B | 0 |
1 | 1 |
0 |
用户C | 1 |
0 | 1 |
1 |
用户D | 1 |
1 | 0 |
0 |
-
局部敏感性哈希(LSH) -
基于图(HNSW) -
基于乘积量化
2.5 重排
def MMR(itemScoreDict, similarityMatrix, lambdaConstant=0.5, topN=20):
#s 排序后列表 r 候选项
r = [], list(itemScoreDict.keys())
while len(r) > 0:
score = 0
selectOne = None
# 遍历所有剩余项
for i in r:
firstPart = itemScoreDict[i]
# 计算候选项与"已选项目"集合的最大相似度
secondPart = 0
for j in s:
sim2 = similarityMatrix[i][j]
if sim2 > second_part:
secondPart = sim2
equationScore = lambdaConstant * (firstPart - (1 - lambdaConstant) * secondPart)
if equationScore > score:
score = equationScore
selectOne = i
if selectOne == None:
selectOne = i
# 添加新的候选项到结果集r,同时从s中删除
r.remove(selectOne)
s.append(selectOne)
return (s, s[:topN])[topN > len(s)]
评论
前端构建系统浅析
开发者编写JavaScript代码,而浏览器运行JavaScript代码。从根本上说,前端开发不需要构建步骤。那么,为什么现代前端需要构建步骤呢?随着前端代码库越来越庞大,以及开发者体验越来越重要,直接将JavaScript源码传输给客户端会带来两个主要问题:不支持的语言特性:由于JavaScrip
前端瓶子君
0
LibMF推荐系统
LIBMF是在潜在空间使用两个矩阵,接近一个不完全矩阵。MatrixFactorization主要用在协作过滤,LibMF主要特性如下:除了潜在用户和项特性,还包括了用户偏好,项偏差和平均条件LIBM
LibMF推荐系统
0
LibFM推荐系统
LibFM是专门用于矩阵分解的利器,尤其是其中实现了MCMC(MarkovChainMonteCarlo)优化算法,比常见的SGD(随即梯度下降)优化方法精度要高(当然也会慢一些)介绍viaresys
LibFM推荐系统
0