推荐系统杂七杂八的
写于 2019-03-03 | 分类于 编程
-
推荐系统作为数据挖据和机器学习的重要应用之一
- LibRec Java版开源推荐系统
- Surprise Python版开源推荐系统
-
LibMF c++版开源推荐系统
-
几乎所有的推荐系统结构都是类似的都由线上和线下两部分
-
考虑时间效应问题,可将协同过滤所使用的数据集归为一个四元组,即{用户、物品、行为、时间}
-
需要解决三个问题:动态评分预测、动态Top-N推荐、时效性的影响
-
算法并非推荐系统最核心的东西,关键元素有:UI和UE(40%)、数据(30%)、领域知识(20%)、算法(10%)
-
基于内容的推荐要做到四步:抓取数据、清洗数据、挖掘数据、应用算法
-
协同过滤通常分为两类:基于记忆的协同过滤(基于用户、基于物品),基于模型的协同过滤(分类、线性)
-
推荐系统在技术实现上一般分为三个阶段:挖掘、召回、排序
- 挖掘:对用户和物品做非常深入的结构化分析,各角度各层面的特征都被呈现出来,并建立好索引
- 召回:利用各种简单的,复杂的推荐算法从全量的物品中先筛选一部分比较靠谱的
-
排序:对筛选出来的靠谱结果做一个统一的排序,排序过程就会涉及到各模型结果的融合
-
推荐系统基本都包含的流程:结果展示部分、行为日志部分、特征工程部分、召回部分、排序部分
-
优先使用个性化推荐而非热门推荐
-
用户偏好获取:可以通过监测用户行为隐式的获取,也可以由推荐系统询问访问者显式的去获取
-
基于用户最近邻的2个潜在假设:1.如果用户过去有相似的偏好,那么他们未来也会有相似的偏好;2.用户偏好不会随时间而变化
-
近邻相似度、余弦相似度
-
在标准的基于用户或基于物品的CF方法中会考虑长度为3的路径
-
主成分分析:降维、过滤得出数据中“最重要”的方面
-
基于内容推荐系统的特点是着重于利用物品描述信息,而基于知识推荐系统则一般会有一些附加的因果知识来生成推荐,比如某个适用功能
-
TF-IDF是信息检索领域的成熟技术,代表词频和反文档频率
-
VITA基于约束的推荐系统,Entree基于实例的推荐系统
- 混合推荐设计:整体式,并行式,流水线式