推荐系统之常用的召回(match)算法
贝叶斯lift关联规则召回:关联规则X->Y的提升度(lift),又称为兴趣度(interest),即购买X对购买Y的作用
揭开Top-N 经典算法 SLIM 和 FISM 之谜(属于协同过滤方法中的一种)
SLIM[1]是Sparse Linear Model简称,即稀疏线性模型,该方法是基于物品相似度的推广形式,而且效果很好,如下面公式
ANN召回算法之IVFPQ(千亿数据场景召回方法)
目录
常用的召回算法主要有user/item/model-based CF,Content- based,Demographic-based、DNN-Embedding-based等等,做粗排之后交由后⾯的Rank层做更精细的排序,最终展现TopK item。其适用场景也较多,如"猜你喜欢","多样推荐","相似推荐","看了还看","搭配推荐","买了还买"。以电商场景为例,比如商品详细页可以采用相似度基于物品的推荐(tem-CF),同时基于商品的相似度召回,可以根据用户的历史商品,为用户召回相似的商品。本文将详细介绍一些常用的召回算法。
一、协同过滤
协同过滤推荐算法是一种非常有效的推荐算法,目前在各大互联网公司中使用极其普遍。其主要包括基于邻域的推荐算法和基于矩阵分解的推荐算法。基于邻域的推荐算法主要包括基于用户的协同过滤算法和基于物品的协同过滤算法。基于矩阵分解的推荐算法的核心思想是构建一个用户商品评分矩阵,通过已有的用户商品评分估计未知的用户商品评分,得到每一个用户对所有商品的评分,根据评分对用户进行推荐,其主要包括基于最小二乘法矩阵分解的推荐算法和基于随机梯度下降矩阵分解的推荐算法。
1.1 User-CF与Item-CF的比较
User-CF:通常用户挖掘具有共同兴趣的小团体,通常新颖性会比较好,但是准确性会比较差。
Item-CF:侧重于挖掘Item之间的关系,根据用户的历史行为来为用户生成推荐列表。
通常Item-CF比User-CF适用范围更广,下表为二者的对比关系。

1.2 基于共现的协同过滤算法



1.3 surprise算法
这是迄今为止非常简单且有效的一种完全基于统计的协同过滤算法
二、LoglikelihoodRatio算法


如何来解释这个相似度的计算方式呢?我们先来看看行熵、列熵和矩阵熵分别代表什么含义:行熵以用户 A 的偏好和非偏好来划分商品空间,很明显它是一个条件熵,我个人认为相对合理的解释是对于一个商品,在给定它是否属于 A 偏好的条件下,预测商品属于k11、k12、k21、k22四个空间中哪一个空间的不确定度;同理,列熵则代表给定商品是否属于 B 偏好的条件下,预测商品属于k11、k12、k21、k22四个空间中哪一个空间的不确定度;矩阵熵则表示在没有任何条件下,预测商品属于四个空间中哪一个空间的不确定度。我们以下图来看:

在给定 A 偏好与否的条件,预测商品属于哪一个空间的不确定度为S1+S2;在给定 B 偏好与否的条件下,不确定度为S2+S3;在不给定任何条件下,预测商品属于哪一个空间的不确定度为S1+S2+S3。我的理解这个S2S2表示的就是给定 A、B 偏好条件下的公共的不确定度,其表达的就是如果 A 喜欢某个商品,对 B 也具有协同效应;如果 B 喜欢某个商品,对 A 也具有协同效应,这种公共不确定度或者说是关联其实反映的就是 A 用户与 B 用户的相似程度。由于前面计算熵的时候没有加上负号,步骤四中正好得到一个(−S2),就变成正数了,至于为什么乘上 2 及1N1N去哪里了我也不清楚,但这只是一种幅度变换,不影响相对关系。
相关参考:loglikelihood ratio 相似度理解 loglikelihood ratio 相似度理解 - 算法之道
三、Embedding表示召回


四、皮尔逊相关系数

五、加权(协同分数乘以score评分)
取K个用户,a用户对物品的评分等于K个相似用户的评分乘以相似度,然后求和。然后除以相似度之和。


停留时间、浏览时间、收藏等加权得到一个数值,作为评分。(对于某一类特征数值范围较大的,需要先做归一化。)
用户的评分矩阵比较稀疏,有时候算相似度可能相似度都很高,此时可以将用户的其他维度考虑进来,先对用户进行聚类。然后在各个类别中用户的相似度。

太活跃的用户,容易引起马太效应。因为他跟很多用户都相似。一般计算协同的时候,需要把特别活跃的用户过滤掉。

一般会用此前n天比较活动的用户来生成评分矩阵。
协同出来的物品,需要根据物品种类等进行过滤,避免推出的全部都是一个品类的。
1. MF
略
2. LDA

3.其他
略
四、相关参考
4.1 相关参考
2. 美团推荐算法实践
4.2 链接笔记记录
相关参考
•ItemBased Collaborative Filtering Recommendation Algorithms
•Amazon.com recommendations: Item-to-Item Collaborative Filtering
•推荐系统实战.项亮 http://vdisk.weibo.com/s/aSXlSkLAQjzMT
•天猫推荐业务与算法架构.张奇.2013. http://topic.it168.com/factory/adc2013/
doc/zhangqi.pdf
•淘宝搜索技术演变 https://mp.weixin.qq.com/s/jUQHnATSiOpKfDeY_vQ6YA
•淘宝⽹的推荐算法具体是怎么样的? - xiao ma的回答 - 知乎 https://
www.zhihu.com/question/29108284/answer/43247127
•双⼗⼀⼿淘⾸页个性分享 https://mp.weixin.qq.com/s/vpxLTcwenvlIvj5D-8uolg
•淘宝天猫个性化推荐技术演进史 https://blog.csdn.net/broadview2006/article/
details/71455437
•深度解析京东个性化推荐系统演进史 https://blog.csdn.net/qq_40027052/ article/details/78733365
今⽇头条推荐算法原理 http://www.sohu.com/a/217314007_297710
数据和代码汇总
•阿⾥天池数据集合https://tianchi.aliyun.com/datalab/index.htm?
spm=5176.100073.0.0.21316fc1Q34jZU
•CTR预估代码汇总 https://github.com/shenweichen/DeepCTR
•CTR-CVR相关模型 https://arxiv.org/abs/1804.07931
•Movielens推荐 https://github.com/chengstone/movie_recommender
•随⼿看到的LTR代码:https://github.com/shiba24/learning2rank
其他
•2013 微软:Learning Deep Structured Semantic Models for Web Search using Clickthrough Data https://www.microsoft.com/en-us/research/wp-content/ uploads/2016/02/cikm2013_DSSM_fullversion.pdf
•2016 Youtube :Deep Neural Networks for YouTube Recommendations https://research.google.com/pubs/archive/45530.pdf
•解读 Airbnb KDD2018 best paper: Embeddings at Airbnb - 吴海波的⽂章 - 知乎
https://zhuanlan.zhihu.com/p/49537461
更多推荐
https://www.zhihu.com/question/426543628/answer/1631702878
https://mp.weixin.qq.com/s?__biz=MzIwNTE0NTgyMQ==&mid=2247484084&idx=1&sn=e6c7827f3d28f0135482d5c42d5a5bc6&chksm=97341106a043981046032e54d03532da9b628820d158a3577476e6cc24510e74a7bd9ca84547#rd
https://blog.csdn.net/windhawk_fly/article/details/45028017


所有评论(0)