/rec_system

推荐系统,内含主流模型,不定期更新模型

Primary LanguagePython

#推荐系统 此 Repository 主要是自己在学习推荐系统的过程中,为了加深对算法的理解自己动手手写算法,其中包括了很多经典的模型及其改进形式。

1 基于内容的推荐(content_rec)

本章主要实现基于内容的推荐系统所需要的基本算法。

这些算法可以根据用户行为提取结构化数据,然后选择标签

1.1 结构化数据

  1. 关键字提取——TF-IDF(√)和TextRank(√)
  2. 内容分类——FastText(√)
  3. 实体识别——BiLSTM-CRF
  4. 单词嵌入——Word2Vec(√)

1.2选择标签

从结构化数据中提取的过滤器标签

  1. 卡方
  2. 信息熵

2基于邻居的推荐(neighbor_rec)

本章主要实现了基于协同过滤的推荐系统的基本算法。

协同过滤包括基于内存的 CF 和基于模型的 CF 。

这里主要介绍了基于内存的 CF。

  1. 基于用户的协同过滤——Usercf(√)
  2. 基于项目的协同过滤——Itemcf(√)

3 矩阵分解(matrix_rec)

本章主要实现了基于矩阵分解的推荐系统的基本算法。

最常见的矩阵分解是 RSVD。

许多公司也使用ALS和BPR来优化矩阵分解。

  1. 正则奇异值分解——RSVD(√)
  2. 贝叶斯个性化排名——BPR(√)

4 模型融合(integration_rec)

本章主要实现了基于模型集成的推荐系统的基本算法。

典型的模型方案为 GBDT+LR。

  1. 梯度 Boost 决策树与Logistic回归——GDBT+LR(√)
  2. 因子分解机——FM
  3. Wide & Deep

5 多臂赌博机(mab_rec)