目录
一、推荐系统的各类算法
1. 传统推荐算法
1)协同过滤算法
- 核心思想:综合用户和项目显式反馈信息,构建用户和项目的二元共现矩阵。
- 问题:随着用户和物品的规模增大,共现矩阵会变更稀疏,在计算相似度时准确率会降低,而且泛化能力差(评分高的会多次推荐,而评分信息少的新物品则较少推荐)【二元共现矩阵–>稀疏矩阵】
2)矩阵分解算法
- 主要思想:分解共现矩阵,使用矩阵分解算法,为用户和项目分别生成一个隐向量,然后把用户向量和项目向量的点积作为用户对项目的预测评分。
- 矩阵分解的泛化能力更强,缓解数据稀疏问题,空间复杂度更低,只需要存用户和项目向量
- 隐向量缺乏可解释性,且只利用了用户和项目的评分信息,没有用其他的特征信息
3)逻辑回归模型LR
- 主要思想:相比起协同过滤和矩阵分解只用到了用户和项目的交互信息,LR能融合用户画像特征、物品属性、上下文信息等多个特征,将各特征转化为数值向量,输入到网络中训练
4)因子分解机模型FM
- 主要思想:在LR的基础上,加入二阶交叉特征组合,FM为每个特征引入了一个具有低维稠密的隐向量特征,并且用向量特征的内积作为特征交叉的权重。
5)梯度提升树+逻辑回归组合模型GBDT+LR
- 主要思想:使用梯度提升决策树进行自动化特征工程,提取重要特征和进行特征组合,树的最后一层叶节点生成新的离散特征,作为逻辑回归模型的输入
2. 深度学习推荐系统
1)嵌入技术在推荐系统的应用
- 嵌入技术:主要处理稀疏矩阵,融合大量信息形成有价值的低维向量,输入到神经网络中训练
2)基于多层感知机的推荐模型
-
通常原始数据经过嵌入层形成向量后,会输入到多层感知机中,可以进一步提取高阶特征交叉。
-
应用在预测用户对项目的评分、精准排序任务和用户点击率预测的任务,能充分利用用户画像特征、项目属性特征和上下文信息,进行特征提取,而且能缓解数据稀疏、高阶特征组合等问题
3)基于卷积神经网络的推荐系统
-
卷积神经网络的卷积和池化计算主要学习数据局部特征,可以提取非结构化多媒体数据,对多源异构数据进行表征学习
-
在推荐系统中,卷积神经网络适用多模态推荐、图片推荐和文本推荐任务
4)基于循环神经网络的推荐系统
-
RNN的最大特点:有记忆性并且能够参数共享,它能获取某一时刻的输入数据和前一时刻的隐层状态,来预测当前时刻的输出
-
推荐系统结合RNN有记忆性的特点,对用户的历史会话序列建模,学习用户偏好演变过程以及用户上下文相关兴趣,应用于会话推荐任务
5)注意力机制的推荐系统
-
理解:用户的点击行为是局部活跃,某一时刻点击行为仅仅和过去的部分历史数据有关,而不是所有历史记录
-
主要想法:将用户的行为基于注意力机制进行加权求和,使模型更关注有益信息,预测下一次点击动作
6)树模型与推荐系统的结合
- 把树模型用于有效的交叉特征,能提高模型的可解释性