推荐系统模型学习路径

近两年一直在接触推荐系统相关的工作,从最早自己去尝试协同过滤,到后面开始承接更多的推荐服务的需求,开始对推荐的项目和算法有了更多的理解和认识。神经网络模型在近些年的推荐领域发展异常的迅速,但在实际的应用场景中,考虑到模型的可解释性和推理效果的权衡,传统的模型有更强的可解释性。在推荐系统发展的历程中,以神经网络为分界点可以分为传统推荐模型和深度学习模型,之前在学习的过程中整理了传统推荐模型的脑图,希望能够对在学习路上的小伙伴起到一定的帮助,今后还会不定期的分享一些项目中总结出来的推荐系统的相关经验。

脑图和提纲的部分内容来源于王喆老师的《深度学习推荐系统》,建议有兴趣的小伙伴阅读。

协同过滤

基本原理

根据用户的行为历史生成用户-物品共现矩阵,利用相似性进行推荐

  • 相似度计算

•     余弦相似度

•     两个向量的夹角,夹角越小越相似

•     皮尔逊相关系数(用户平均分)

•     通过用户平均分对各个独立评分进行修正,减小用户评分的偏置

•     皮尔逊相关系数(物品平均分)

•     通过物品平均分,减少物品评分的偏置

  • 排序

•     userCF

•     用户相似度和相似用户的评分加权平均

 

•     w为用户u和s的相似度,R是用户s对物品p的评分

•     itemCF

•     多个用户的正反馈物品相似度进行累加•     

 

•     H为目标用户的正反馈物品集合,w为物品p与物品h的相似度,R为用户u对h的已有评分

  • userCF与itemCF的应用场景

•     userCF有更强的社交特性,可发掘相似用户的最近的兴趣,适合新闻推荐,适用于发现热点及跟踪热点趋势

•     itemCF适用兴趣变化稳定的场景,如电影推荐、电商推荐

特点

简单,直接,应用广泛

局限性

泛化能力差,处理稀疏矩阵能力差,头部效应明显

  • user>>item,当user体量增大时,相似度矩阵存储开销增大
  • 历史行为向量稀疏,对于低频用户,相似用户的准确率低,正反馈较难获取的场景不适用,如低频交易(酒店预订、大件商品购买)
  • 头部效应明显

 

矩阵分解

基本原理

将协同过滤的共现矩阵分解为用户矩阵和物品矩阵,利用用户、物品隐向量的内积进行排序

  • 思路

•     将用户和物品组成的协同过滤矩阵分解我用户矩阵和物品矩阵,m*n维的共现矩阵分解为m*k维的用户矩阵和k*n维的物品矩阵。

•     k为隐向量的维度,k的大小据定了隐向量的表达能力。

•     k越小,表达能力越差,泛化能力越高;k越大,表达能力越强,泛化能力越差。

  • 矩阵分解的方法

•     特征值分解

•     只能用于方阵

•     奇异值分解

•     缺陷

•     共现矩阵要求是稠密的,互联网场景多是稀疏矩阵。需填充缺失值。

•     计算复杂度高,互联网场景开销巨大

•     梯度下降

•     确定目标函数

•     求取梯度下降的方向和幅度

•     根据梯度结果反向更新参数

特点

相较于系统过滤泛化能力加强,稀疏矩阵理解了增强

  • 原理

•     隐向量的生成是对共现矩阵进行全局的拟合

•     解决了协同过滤中两个用户或物品没有相同的购买记录的情况。

  • 优点

•     更容易处理稀疏矩阵

•     空间复杂度降低,只需存储用户和物品的隐向量。空间复杂度n*n变为(n+m)*k

•     更好的扩展和灵活性,隐向量类似于embedding,便于机型特征组合和拼接,可结合深度学习网络

局限性

只能使用历史行为信息,物品及用户的特征及上下文难以利用,历史行为缺乏是无法进行有效推荐。

逻辑回归

基本原理

将推荐问题转换为对CTR预估的二分类问题,将用户、物品、上下文等不同特征转换成特征向量。

  • 推荐过程

•     将用户属性、物品属性、上下文信息(时间、地点、机构信息等)转换为特征向量

•     确定优化目标,使用已有的样本数据对逻辑回归模型进行训练,确定内部参数

•     确定出每维特征的权重

•     模型服务阶段,将特征向量输入逻辑回归模型,模型给出正反馈的概率

•     将特征与权重值相乘后输入sigmoid的函数,映射到0-1之间,得到“点击率”

•     将概率进行倒排,得到推荐列表

  • 训练方法

•     梯度下降

融合多种类型的特征

  • 优势

•     数学含义上的支撑

•     CTR与模型的因变量都服从伯努利分布,模型符合点击这一事件的物理意义

•     可解释强

•     模型的数学形式是各种特征的加权和

•     以sigmoid函数使值映射到0-1区间,符合CTR的物理意义

•     可解释性强,便于与运营、产品解释特征对结果的影响,减低沟通成本

•     工程化需要

•     在线推断效率高

•     易于并行化,模型简单,训练开销小

局限性

不具备特征组合能力

  • 表达能力不强
  • 无法特征交叉,无法特征筛选

FM

基本原理

在逻辑回归的基础上增加了特征交叉,为每一维特征训练得到隐向量,通过隐向量的内积得到交叉特征权重

  • 为什么要特征交叉?

•     辛普森悖论:高维特征进行合并损失了大量的有效信息,无法正确刻画数据模式

  • 交叉方式

•     对所有特征生成隐向量,特征组合通过隐向量内积进行组合

特点

具备了二阶特征交叉的能力,表达能力增强

  • 具备二阶特征组合,表达能力和泛化能力提升
  • 线上推断的过程较神经网络简单,容易上线部署

局限性

由于组合爆炸的问题,不易扩展到三阶特征交叉

FFM

基本原理

在FM的基础上增加特征域,使每个特征在与不同域的特征交叉时使用不同的隐向量

  • 在FM的基础上,将一个隐向量扩充到一组隐向量
  • 特征交叉时,会选取对应特征域的隐向量进行运算

特点

相比FM增加了特征交叉的能力

局限性

模型训练的开销达到了O(n2)的量级,开销大

  • 三阶以上的特征交叉因组合爆炸的原因,训练开销较大

GBDT+LR

基本原理

利用GBDT自动做特征组合,将原始特征转换为离散型的特征向量

  • 模型结构

•     GBDT模型

•     多棵回归树数组成的树林

•     每个树的训练目标为前面树林的结果和真实结果的残差

•     多层节点的结构对特征进行了组合

•     理论上模型效果可无限逼近目标值

特点

具备了高阶特征的组合能力

  • GBDT+LR与GBDT

•     无明显的模型优劣势差异,主要依赖场景及数据

•     facebook需要做模型线上训练,LR相对GBDT的线上训练代价较小

•     online training的劣势

•     运维成本会比较高

•     实时样本拼接的准确性保障困难

•     实时评估的准确性保障困难

•     线上模型出现问题,自动发现自动回滚机制复杂

局限性

无法进行完全并行的训练,训练时间长

  • 特征信息丢失

•     特征转换时丢失了部分特征信息

  • 过拟合

•     减少每棵树的深度,增加特征正则化,

LS-PLM

基本原理

对样本进行分片,每个分片内部构建逻辑回归模型,并将各个分片的概率和逻辑回归的的份进行加权平均,得到预估值

  • 混合逻辑回归(Mixed LR)

•     分而治之

•     先对样本进行分片,通常使用聚类的方式

•     再在样本分片中应用逻辑回归

•     m=1时退化为逻辑回归

•     阿里经验值m=12

特点

模型结构类似于三层神经网络,表达能力较强

  • 适用场景

•     工业级推荐

•     广告

•     大规模系数数据场景

  • 优势

•     具备分片能力

•     减少特征工程工作量

•     一个全局模型对不同应用领域、业务场景进行统一建模

•     模型部署较为轻量,可舍弃权重为0的特征,做特征裁剪

局限性

相比较深度学习模型仍比较简单

  • 近年来,深度学习模型的应用逐渐推广

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值