推荐系统杂七杂八的

写于 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基于实例的推荐系统

  • 混合推荐设计:整体式,并行式,流水线式