读《推荐系统算法实战 黄美灵》 第四章笔记

有离线召回和实时召回(用户的行为需要实时的召回数据,然后排序推荐,整个过程应该在100ms内)
推荐系统召回方法有以下几类:
行为相似的召回:比如用户的行为对应物品的相似物品(通常是协同过滤算法)
相似用户召回:通过用户画像和用户行为,计算相似用户,可以根据KNN来得到推荐结果
内容相似召回:通过对物品内容的理解和分析,得到物品之间的相似度,然后根据用户对物品的行为得到相似物品的推荐结果,常用的方法为word2vec
这本书第二章主要接手,相似召回的协同过滤算法和内容相似召回的word2vec算法

协同过滤算法步骤:
用户评分:根据用户的行为进行打分,比如点击,喜欢,收藏,关注,投币,浏览时长,评论,转发等。对不同行为进行加权
减噪:过滤掉用户的误操作比如关注后取消,转发失败等
归一化:不同行为的数据差别大,通过归一化来降低模型优化难度和提高评估分
相似度计算:一般有同现相似度,欧式距离,皮尔逊距离,余弦相似度,jaccard相似度

通过用户-物品的打分矩阵,通过groupby flatmap 等操作得到物品同现度矩阵,然后通过同现度相似度公式得到物品相似度矩阵。当然也可以通过其它距离公式得到对应的相似度矩阵
物品-物品相似度矩阵 与 用户的评分矩阵 进行外积得到推荐结果。
具体代码,大概国庆我在写下。

你可能感兴趣的:(算法,推荐系统,读书)