总结一下自己对推荐系统的学习和理解,帮助大家在10分钟内了解一个推荐系统专题。
专题如下:
推荐系统是基于用户属性和物品属性利用网站/APP向客户主动提供信息和建议,帮助用户决定应该购买什么产品,浏览什么信息。
推荐算法大致可以分为以下几种:
1 基于流行度的算法
基于流行度的算法非常简单粗暴,类似于各大新闻、微博热榜等,根据PV、UV、日均PV或分享率等数据来按某种热度排序来推荐给用户。
2 协同过滤算法
基于相似用户和相似物品推荐给用户
cf 存在问题:
- 冷启动问题。当有一名新用户或者新物品进入系统时,推荐将无从依据;【可以结合流行度和内容算法】
- 在一些item生存周期短(如新闻、广告)的系统中,由于更新速度快,大量item不会有用户行为,造成行为矩阵稀疏【引入隐语义模型解决稀疏问题】
3 基于内容的算法
基于用户的属性,物品的属性建立用户画像和物品画像,基于画像之间的相似度,向用户进行物品的推荐。
里面涉及到用户和物品的分类,聚类,标签。
4、基于知识的推荐
通过知识约束或者变更约束,进行推荐,例如搜索1990-2000的科幻电影 -> 2000年到2010年的科幻电影
关联性推荐: 例如 卡拉扬 会有 其他古典大师的推荐
关联规则挖掘-
支持度· XY / total 同时出现XY 的次数在所有交易中的比例
频繁集 - 支持度大于 0.3为频繁集
置信度: count(XY) / count(X) , 包含XY和仅仅包含X 的比例
Apriori 算法: 通过迭代的方法找出所有频繁项,利用频繁项构造最小置信度
关联规则推荐:由X 推出Y
5 深度学习模型
1、Youtube DNN
2、DSSM Deep Structured Semantic Models
3、TDM 兴趣树 Tree-based Deep Model
4、RNN序列召回
5、DeepFM