推荐系统入门

本文为推荐工程师提供入门教程,介绍了推荐系统的概述、召回、排序与重排序的各个环节,重点讲解了决策树模型、深度学习模型(如Wide&Deep和DeepFM)以及特征工程,包括数据清洗、标准化和分桶。同时涉及离线和在线衡量指标。
摘要由CSDN通过智能技术生成

应邀做一个推荐算法,推荐工程师入门指南,一方面是相当于对自己过往工作的一个总结,另一方面希望对想入门的同学有所帮助。主要分为以下四个部分,都只做入门级别简单介绍,另外尽可能的附上源码和原理介绍。

一、综述

1、何为推荐系统

推荐系统本质上就是一个信息过滤系统,通常分为:召回、排序、重排序这3个环节,每个环节逐层过滤,最终从海量的物料库中筛选出几十个用户可能感兴趣的物品(商品,新闻,短视频等)推荐给用户。

                                            (企业级别的完整的推荐系统)

召回:相当于一个粗排,一般从召回策略(如推荐热门文章、命中某类标签的文章等等)、双塔模型(学习用户及物品的embedding,内积表示预测意向概率)、FM及CF等模型做召回、知识图谱(知识图谱表示学习,知识推理用户对物品的兴趣程度)、用户(多兴趣)行为序列预测做召回等等。

排序:一般分为粗排和精排。

粗排层:利用规则或者简单模型对召回的物品进行排序,并根据配额进行截断,截取出 Top N (一般以千为单位)条数据输出给精排层,配额一般分业务场景。

精排层:利用大量特征的复杂模型,对物品进行更精准的排序,然后输出给重排层,整个精排环节的输出量往往以百为单位。粗排、精排的环节是推荐系统最关键,也是最具有技术含量的部分。

重排层:主要以产品策略为导向进行重排(及融合),常见策略如去除已曝光、去重、打散、多样性、新鲜度、效益优先等策略,最后生成用户可见的推荐列表,整个融合和重排环节的输出量往往以几十为单位。

高校学生课题一般数据量级不是很大,直接精排模型就能搞定,也容易更有技术含量。

二、常用精排算法

1、决策树模型

决策树作为推荐系统早期经典的模型,常用的一般有XGBoost,lightGBM。决策树的优点:

1)上手快:相比于深度学习模型,无论是从模型原理还是从代码应用上都比较简单

2)效果佳:相比于传统的协同过滤和逻辑回归,决策树对于数据的拟合能力更强,效果较好,一般常作为base模型,然后在此基础上再迭代深度学习模型。

3)可解释性较好:相比于深度学习模型这种黑盒,决策树具有更好的可解释性,可以给出特征重要度,进行特征选择或者是模型打分的分析。(论文当中可以多贴图,做一些可视化的分析)

决策树特征选择和TreeShap归因参考:如何获得XGBoost模型的可解释性_特征

决策树原理介绍和代码参考:【精选】XGBoost与Light-GBM算法_xgboost lightgbm_星幻夜极的博客-CSDN博客

2、深度学习模型

1)Wide&Deep

与其说广深(Wide&Deep)模型是一种模型,倒不如说是一套通用的范式框架。Wide&Deep 模型由 LR+MLP 两部分并联组成,综合了传统机器学习和深度学习的长处。

  • Wide 部分根据历史行为数据推荐与用户已有行为直接相关的物品;一个LR模型,通过拟合数据,偏记忆功能。
  • Deep 部分负责捕捉新的特征组合,从而提高推荐的多样性。NN模型,通过高阶的学习,提升模型的泛化能力。

2)DeepFM

深度因子分解机(Deep Factorization Machine,DeepFM)模型是从广深(Wide&Deep)框架中演化出来的一种模型。它使用 FM 模型替换掉了 LR 部分,从而形成了 FM&Deep 结构。

引入FM可以得到二阶交叉特征,代替人工做特征组合。

FM原理参考:特征交叉 | FM:embedding化特征交叉鼻祖 - 知乎

github上封装好的deepFM代码:https://github.com/shenweichen/DeepCTR/blob/master/deepctr/models/deepfm.py

也可以自己基于tensorflow实现:https://www.cnblogs.com/zmxc/p/16968696.html

三、特征工程

1、数据清洗

删除异常数据,避免噪声的引入;缺失值填充等。

2、数据标准化

一般与距离无关的概率模型不需要做标准化,比如决策树模型,深度学习模型需要归一化。

为什么需要标准化以及常用的标准化方法参考:深度学习炼丹-数据标准化 - 知乎

3、数据分桶

具体参考:一文带你了解数据分箱技术:让数据更有价值 - 知乎

四、衡量指标

1、离线

常用的离线指标有auc(整体样本间的排序能力),gauc(每个用户auc然后加权平均),MAPE等

具体实现可参考:

动手实现推荐系统评价指标AUC,GAUC,NDCG,HitRate,MRR,Recall,LogLoss - 知乎

回归预测模型的常见评估指标(MAE,MSE,MAPE等) - 知乎

2、在线

在线评估参考具体业务场景,电商推荐一般是CTR,CTCVR等;

内容和短视频推荐一般是停留时长,下滑步长,CTR等;

参考:

一窥推荐系统的原理 一窥推荐系统的原理 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值